Pull sysfs into test branch
Conflicts: Documentation/feature-removal-schedule.txt include/acpi/acpi_drivers.h Signed-off-by: Len Brown <len.brown@intel.com>
This commit is contained in:
@@ -165,6 +165,21 @@ static acpi_status try_get_root_bridge_busnr(acpi_handle handle, int *busnum)
|
||||
return AE_OK;
|
||||
}
|
||||
|
||||
static void acpi_pci_bridge_scan(struct acpi_device *device)
|
||||
{
|
||||
int status;
|
||||
struct acpi_device *child = NULL;
|
||||
|
||||
if (device->flags.bus_address)
|
||||
if (device->parent && device->parent->ops.bind) {
|
||||
status = device->parent->ops.bind(device);
|
||||
if (!status) {
|
||||
list_for_each_entry(child, &device->children, node)
|
||||
acpi_pci_bridge_scan(child);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
static int acpi_pci_root_add(struct acpi_device *device)
|
||||
{
|
||||
int result = 0;
|
||||
@@ -173,6 +188,7 @@ static int acpi_pci_root_add(struct acpi_device *device)
|
||||
acpi_status status = AE_OK;
|
||||
unsigned long value = 0;
|
||||
acpi_handle handle = NULL;
|
||||
struct acpi_device *child;
|
||||
|
||||
|
||||
if (!device)
|
||||
@@ -188,9 +204,6 @@ static int acpi_pci_root_add(struct acpi_device *device)
|
||||
strcpy(acpi_device_class(device), ACPI_PCI_ROOT_CLASS);
|
||||
acpi_driver_data(device) = root;
|
||||
|
||||
/*
|
||||
* TBD: Doesn't the bus driver automatically set this?
|
||||
*/
|
||||
device->ops.bind = acpi_pci_bind;
|
||||
|
||||
/*
|
||||
@@ -312,6 +325,12 @@ static int acpi_pci_root_add(struct acpi_device *device)
|
||||
result = acpi_pci_irq_add_prt(device->handle, root->id.segment,
|
||||
root->id.bus);
|
||||
|
||||
/*
|
||||
* Scan and bind all _ADR-Based Devices
|
||||
*/
|
||||
list_for_each_entry(child, &device->children, node)
|
||||
acpi_pci_bridge_scan(child);
|
||||
|
||||
end:
|
||||
if (result) {
|
||||
if (!list_empty(&root->node))
|
||||
|
Reference in New Issue
Block a user