aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRafael J. Wysocki <rafael.j.wysocki@intel.com>2014-02-15 18:09:47 -0500
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>2014-02-15 19:51:16 -0500
commitaf8874491de6f03237df5e20d87324cbbe226f19 (patch)
tree37c742f13666f57d201ca81bf12e40cd91793ff3
parentb43109fa466e6e29091b3e62e6a6c8a0bd099beb (diff)
ACPI / dock: Associate dock platform devices with ACPI device objects
To allow user space to check which ACPI device object the dock station is represented by, make acpi_dock_add() indicate to platform_device_register_full() which ACPI device object should be the companion of the new platform device. This also ensures that the ACPI device object in question will not go away while the dock platform device is present (which is always). Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
-rw-r--r--drivers/acpi/dock.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/drivers/acpi/dock.c b/drivers/acpi/dock.c
index edeb72b619fb..3199ce950e05 100644
--- a/drivers/acpi/dock.c
+++ b/drivers/acpi/dock.c
@@ -768,12 +768,18 @@ static struct attribute_group dock_attribute_group = {
768void acpi_dock_add(struct acpi_device *adev) 768void acpi_dock_add(struct acpi_device *adev)
769{ 769{
770 struct dock_station *dock_station, ds = { NULL, }; 770 struct dock_station *dock_station, ds = { NULL, };
771 struct platform_device_info pdevinfo;
771 acpi_handle handle = adev->handle; 772 acpi_handle handle = adev->handle;
772 struct platform_device *dd; 773 struct platform_device *dd;
773 int ret; 774 int ret;
774 775
775 dd = platform_device_register_data(NULL, "dock", dock_station_count, 776 memset(&pdevinfo, 0, sizeof(pdevinfo));
776 &ds, sizeof(ds)); 777 pdevinfo.name = "dock";
778 pdevinfo.id = dock_station_count;
779 pdevinfo.acpi_node.companion = adev;
780 pdevinfo.data = &ds;
781 pdevinfo.size_data = sizeof(ds);
782 dd = platform_device_register_full(&pdevinfo);
777 if (IS_ERR(dd)) 783 if (IS_ERR(dd))
778 return; 784 return;
779 785