blob: c1c5ef886f11fe487ae2958609e4d26192130273 [file] [log] [blame]
Subject: move acpi to use device_init_and_add
---
drivers/acpi/scan.c | 13 ++++++-------
1 file changed, 6 insertions(+), 7 deletions(-)
--- a/drivers/acpi/scan.c
+++ b/drivers/acpi/scan.c
@@ -423,6 +423,7 @@ static int acpi_device_register(struct a
int result;
struct acpi_device_bus_id *acpi_device_bus_id, *new_bus_id;
int found = 0;
+ struct device *dev_parent = NULL;
/*
* Linkage
* -------
@@ -458,23 +459,21 @@ static int acpi_device_register(struct a
acpi_device_bus_id->instance_no = 0;
list_add_tail(&acpi_device_bus_id->node, &acpi_bus_id_list);
}
- dev_set_name(&device->dev, "%s:%02x", acpi_device_bus_id->bus_id, acpi_device_bus_id->instance_no);
if (device->parent) {
list_add_tail(&device->node, &device->parent->children);
list_add_tail(&device->g_list, &device->parent->g_list);
+ dev_parent = &parent->dev;
} else
list_add_tail(&device->g_list, &acpi_device_list);
if (device->wakeup.flags.valid)
list_add_tail(&device->wakeup_list, &acpi_wakeup_device_list);
spin_unlock(&acpi_device_lock);
- if (device->parent)
- device->dev.parent = &parent->dev;
- device->dev.bus = &acpi_bus_type;
- device_initialize(&device->dev);
- device->dev.release = &acpi_device_release;
- result = device_add(&device->dev);
+ result = device_init_and_add(&device->dev, dev_parent, &acpi_bus_type,
+ &acpi_device_release, "%s:%02x",
+ acpi_device_bus_id->bus_id,
+ acpi_device_bus_id->instance_no);
if(result) {
dev_err(&device->dev, "Error adding device\n");
goto end;