Merge branch 'acpi-scan' into acpi-cleanup
The following commits depend on the 'acpi-scan' material.
This commit is contained in:
@@ -734,34 +734,25 @@ static unsigned char acpiphp_max_busnr(struct pci_bus *bus)
|
||||
*/
|
||||
static int acpiphp_bus_add(struct acpiphp_func *func)
|
||||
{
|
||||
acpi_handle phandle;
|
||||
struct acpi_device *device, *pdevice;
|
||||
struct acpi_device *device;
|
||||
int ret_val;
|
||||
|
||||
acpi_get_parent(func->handle, &phandle);
|
||||
if (acpi_bus_get_device(phandle, &pdevice)) {
|
||||
dbg("no parent device, assuming NULL\n");
|
||||
pdevice = NULL;
|
||||
}
|
||||
if (!acpi_bus_get_device(func->handle, &device)) {
|
||||
dbg("bus exists... trim\n");
|
||||
/* this shouldn't be in here, so remove
|
||||
* the bus then re-add it...
|
||||
*/
|
||||
ret_val = acpi_bus_trim(device, 1);
|
||||
ret_val = acpi_bus_trim(device);
|
||||
dbg("acpi_bus_trim return %x\n", ret_val);
|
||||
}
|
||||
|
||||
ret_val = acpi_bus_add(&device, pdevice, func->handle,
|
||||
ACPI_BUS_TYPE_DEVICE);
|
||||
if (ret_val) {
|
||||
dbg("error adding bus, %x\n",
|
||||
-ret_val);
|
||||
goto acpiphp_bus_add_out;
|
||||
}
|
||||
ret_val = acpi_bus_start(device);
|
||||
ret_val = acpi_bus_scan(func->handle);
|
||||
if (!ret_val)
|
||||
ret_val = acpi_bus_get_device(func->handle, &device);
|
||||
|
||||
if (ret_val)
|
||||
dbg("error adding bus, %x\n", -ret_val);
|
||||
|
||||
acpiphp_bus_add_out:
|
||||
return ret_val;
|
||||
}
|
||||
|
||||
@@ -781,7 +772,7 @@ static int acpiphp_bus_trim(acpi_handle handle)
|
||||
return retval;
|
||||
}
|
||||
|
||||
retval = acpi_bus_trim(device, 1);
|
||||
retval = acpi_bus_trim(device);
|
||||
if (retval)
|
||||
err("cannot remove from acpi list\n");
|
||||
|
||||
@@ -1130,8 +1121,7 @@ static int acpiphp_configure_bridge (acpi_handle handle)
|
||||
|
||||
static void handle_bridge_insertion(acpi_handle handle, u32 type)
|
||||
{
|
||||
struct acpi_device *device, *pdevice;
|
||||
acpi_handle phandle;
|
||||
struct acpi_device *device;
|
||||
|
||||
if ((type != ACPI_NOTIFY_BUS_CHECK) &&
|
||||
(type != ACPI_NOTIFY_DEVICE_CHECK)) {
|
||||
@@ -1139,17 +1129,15 @@ static void handle_bridge_insertion(acpi_handle handle, u32 type)
|
||||
return;
|
||||
}
|
||||
|
||||
acpi_get_parent(handle, &phandle);
|
||||
if (acpi_bus_get_device(phandle, &pdevice)) {
|
||||
dbg("no parent device, assuming NULL\n");
|
||||
pdevice = NULL;
|
||||
}
|
||||
if (acpi_bus_add(&device, pdevice, handle, ACPI_BUS_TYPE_DEVICE)) {
|
||||
if (acpi_bus_scan(handle)) {
|
||||
err("cannot add bridge to acpi list\n");
|
||||
return;
|
||||
}
|
||||
if (!acpiphp_configure_bridge(handle) &&
|
||||
!acpi_bus_start(device))
|
||||
if (acpi_bus_get_device(handle, &device)) {
|
||||
err("ACPI device object missing\n");
|
||||
return;
|
||||
}
|
||||
if (!acpiphp_configure_bridge(handle))
|
||||
add_bridge(handle);
|
||||
else
|
||||
err("cannot configure and start bridge\n");
|
||||
|
||||
@@ -412,7 +412,6 @@ static int enable_slot(struct hotplug_slot *bss_hotplug_slot)
|
||||
if (SN_ACPI_BASE_SUPPORT() && ssdt) {
|
||||
unsigned long long adr;
|
||||
struct acpi_device *pdevice;
|
||||
struct acpi_device *device;
|
||||
acpi_handle phandle;
|
||||
acpi_handle chandle = NULL;
|
||||
acpi_handle rethandle;
|
||||
@@ -448,17 +447,14 @@ static int enable_slot(struct hotplug_slot *bss_hotplug_slot)
|
||||
if (ACPI_SUCCESS(ret) &&
|
||||
(adr>>16) == (slot->device_num + 1)) {
|
||||
|
||||
ret = acpi_bus_add(&device, pdevice, chandle,
|
||||
ACPI_BUS_TYPE_DEVICE);
|
||||
ret = acpi_bus_scan(chandle);
|
||||
if (ACPI_FAILURE(ret)) {
|
||||
printk(KERN_ERR "%s: acpi_bus_add "
|
||||
printk(KERN_ERR "%s: acpi_bus_scan "
|
||||
"failed (0x%x) for slot %d "
|
||||
"func %d\n", __func__,
|
||||
ret, (int)(adr>>16),
|
||||
(int)(adr&0xffff));
|
||||
/* try to continue on */
|
||||
} else {
|
||||
acpi_bus_start(device);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -539,7 +535,7 @@ static int disable_slot(struct hotplug_slot *bss_hotplug_slot)
|
||||
ret = acpi_bus_get_device(chandle,
|
||||
&device);
|
||||
if (ACPI_SUCCESS(ret))
|
||||
acpi_bus_trim(device, 1);
|
||||
acpi_bus_trim(device);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user