diff options
author | Rafael J. Wysocki <rafael.j.wysocki@intel.com> | 2015-03-13 01:45:49 +0100 |
---|---|---|
committer | Rafael J. Wysocki <rafael.j.wysocki@intel.com> | 2015-03-16 15:19:07 +0100 |
commit | 2eb1eb02dda368fb224bf5a379d2448c742b71db (patch) | |
tree | b0833f765d39fbea7265d11f93acf4fc9e237b02 /drivers/pnp | |
parent | 06e5801b8cb3fc057d88cb4dc03c0b64b2744cda (diff) | |
download | talos-op-linux-2eb1eb02dda368fb224bf5a379d2448c742b71db.tar.gz talos-op-linux-2eb1eb02dda368fb224bf5a379d2448c742b71db.zip |
PNP / ACPI: Use ACPI_COMPANION_SET() during initialization
pnpacpi_add_device() calls acpi_bind_one() on an already registered
device, which is a mistake, but it can initialize the ACPI companion
field of the struct device to be registered using ACPI_COMPANION_SET()
instead, so make it do that.
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Reviewed-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Diffstat (limited to 'drivers/pnp')
-rw-r--r-- | drivers/pnp/pnpacpi/core.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/drivers/pnp/pnpacpi/core.c b/drivers/pnp/pnpacpi/core.c index d2b780aade89..5153d1d69aee 100644 --- a/drivers/pnp/pnpacpi/core.c +++ b/drivers/pnp/pnpacpi/core.c @@ -248,6 +248,7 @@ static int __init pnpacpi_add_device(struct acpi_device *device) if (!dev) return -ENOMEM; + ACPI_COMPANION_SET(&dev->dev, device); dev->data = device; /* .enabled means the device can decode the resources */ dev->active = device->status.enabled; @@ -290,11 +291,9 @@ static int __init pnpacpi_add_device(struct acpi_device *device) return error; } - error = acpi_bind_one(&dev->dev, device); - num++; - return error; + return 0; } static acpi_status __init pnpacpi_add_device_handler(acpi_handle handle, |