diff options
-rw-r--r-- | drivers/acpi/pci_root.c | 4 | ||||
-rw-r--r-- | drivers/pci/bus.c | 2 | ||||
-rw-r--r-- | include/linux/pci.h | 1 |
3 files changed, 6 insertions, 1 deletions
diff --git a/drivers/acpi/pci_root.c b/drivers/acpi/pci_root.c index 7928d4dc7056..dcbe9660e756 100644 --- a/drivers/acpi/pci_root.c +++ b/drivers/acpi/pci_root.c | |||
@@ -650,8 +650,10 @@ static int acpi_pci_root_start(struct acpi_device *device) | |||
650 | struct acpi_pci_root *root = acpi_driver_data(device); | 650 | struct acpi_pci_root *root = acpi_driver_data(device); |
651 | struct acpi_pci_driver *driver; | 651 | struct acpi_pci_driver *driver; |
652 | 652 | ||
653 | if (system_state != SYSTEM_BOOTING) | 653 | if (system_state != SYSTEM_BOOTING) { |
654 | pcibios_resource_survey_bus(root->bus); | ||
654 | pci_assign_unassigned_bus_resources(root->bus); | 655 | pci_assign_unassigned_bus_resources(root->bus); |
656 | } | ||
655 | 657 | ||
656 | mutex_lock(&acpi_pci_root_lock); | 658 | mutex_lock(&acpi_pci_root_lock); |
657 | list_for_each_entry(driver, &acpi_pci_drivers, node) | 659 | list_for_each_entry(driver, &acpi_pci_drivers, node) |
diff --git a/drivers/pci/bus.c b/drivers/pci/bus.c index ad6a8b635692..847f3ca47bb8 100644 --- a/drivers/pci/bus.c +++ b/drivers/pci/bus.c | |||
@@ -158,6 +158,8 @@ pci_bus_alloc_resource(struct pci_bus *bus, struct resource *res, | |||
158 | return ret; | 158 | return ret; |
159 | } | 159 | } |
160 | 160 | ||
161 | void __weak pcibios_resource_survey_bus(struct pci_bus *bus) { } | ||
162 | |||
161 | /** | 163 | /** |
162 | * pci_bus_add_device - add a single device | 164 | * pci_bus_add_device - add a single device |
163 | * @dev: device to add | 165 | * @dev: device to add |
diff --git a/include/linux/pci.h b/include/linux/pci.h index 15472d691ee6..907b455ab603 100644 --- a/include/linux/pci.h +++ b/include/linux/pci.h | |||
@@ -674,6 +674,7 @@ extern struct list_head pci_root_buses; /* list of all known PCI buses */ | |||
674 | /* Some device drivers need know if pci is initiated */ | 674 | /* Some device drivers need know if pci is initiated */ |
675 | extern int no_pci_devices(void); | 675 | extern int no_pci_devices(void); |
676 | 676 | ||
677 | void pcibios_resource_survey_bus(struct pci_bus *bus); | ||
677 | void pcibios_fixup_bus(struct pci_bus *); | 678 | void pcibios_fixup_bus(struct pci_bus *); |
678 | int __must_check pcibios_enable_device(struct pci_dev *, int mask); | 679 | int __must_check pcibios_enable_device(struct pci_dev *, int mask); |
679 | /* Architecture specific versions may override this (weak) */ | 680 | /* Architecture specific versions may override this (weak) */ |