[PATCH] PNP / ACPI: Use ACPI_COMPANION_SET() during initialization

From: Rafael J. Wysocki
Date: Thu Mar 12 2015 - 20:22:11 EST


From: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>

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@xxxxxxxxx>
---
drivers/pnp/pnpacpi/core.c | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)

Index: linux-pm/drivers/pnp/pnpacpi/core.c
===================================================================
--- linux-pm.orig/drivers/pnp/pnpacpi/core.c
+++ linux-pm/drivers/pnp/pnpacpi/core.c
@@ -248,6 +248,7 @@ static int __init pnpacpi_add_device(str
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(str
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,

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/