[PATCH 1/3] PCI,acpiphp: use generic pci_hp_add_bridge()

From: Yijing Wang
Date: Mon Apr 01 2013 - 05:22:58 EST


Use pci_hp_add_bridge() like most other hotplug drivers
rather than call pci_scan_bridge() directly.

Signed-off-by: Yijing Wang <wangyijing@xxxxxxxxxx>
---
drivers/pci/hotplug/acpiphp_glue.c | 24 ++++++++++--------------
1 files changed, 10 insertions(+), 14 deletions(-)

diff --git a/drivers/pci/hotplug/acpiphp_glue.c b/drivers/pci/hotplug/acpiphp_glue.c
index 270fdba..7d7ed3f 100644
--- a/drivers/pci/hotplug/acpiphp_glue.c
+++ b/drivers/pci/hotplug/acpiphp_glue.c
@@ -811,7 +811,7 @@ static int __ref enable_device(struct acpiphp_slot *slot)
struct pci_bus *bus = slot->bridge->pci_bus;
struct acpiphp_func *func;
int retval = 0;
- int num, max, pass;
+ int num;
acpi_status status;

if (slot->flags & SLOT_ENABLED)
@@ -827,22 +827,18 @@ static int __ref enable_device(struct acpiphp_slot *slot)
goto err_exit;
}

- max = acpiphp_max_busnr(bus);
- for (pass = 0; pass < 2; pass++) {
- list_for_each_entry(dev, &bus->devices, bus_list) {
- if (PCI_SLOT(dev->devfn) != slot->device)
+ list_for_each_entry(dev, &bus->devices, bus_list) {
+ if (PCI_SLOT(dev->devfn) != slot->device)
continue;
- if (dev->hdr_type == PCI_HEADER_TYPE_BRIDGE ||
- dev->hdr_type == PCI_HEADER_TYPE_CARDBUS) {
- max = pci_scan_bridge(bus, dev, max, pass);
- if (pass && dev->subordinate) {
- check_hotplug_bridge(slot, dev);
- pci_bus_size_bridges(dev->subordinate);
- }
- }
+ if ((dev->hdr_type == PCI_HEADER_TYPE_BRIDGE) ||
+ (dev->hdr_type == PCI_HEADER_TYPE_CARDBUS))
+ pci_hp_add_bridge(dev);
+ if (dev->subordinate) {
+ check_hotplug_bridge(slot, dev);
+ pci_bus_size_bridges(dev->subordinate);
}
}
-
+
pci_bus_assign_resources(bus);
acpiphp_sanitize_bus(bus);
acpiphp_set_hpp_values(bus);
--
1.7.1


--
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/