These patches clean up and unify the PCI slot configuration across the acpiphp, pciehp, and shpchp drivers. When these drivers detect a newly-added device, they configure the bus. On ACPI systems, this uses PCI bus settings from _HPP or _HPX methods. Previously, each driver handled this separately with similar but not quite identical code. This series adds a single pci_configure_slot() function and changes each driver to use it. Changes from v3 to v4: - Refresh to apply on linux-next branch of Jesse's pci tree (4b77b0a2ba27). - Added Kenji-san's reviewed-by and acks (thank you very much) Changes from v2 to v3: - Move pci_configure_slot() and related functions back to pcihp_slot.c. Even though the hpp_typeN stuff is based on the ACPI stuff, it's not directly ACPI-specific, and we still need it for default PCI settings when !CONFIG_ACPI. - Move default PCI setting stuff into program_hpp_type0() so it's all in one place. Changes from initial post to v2: - Use static inline empty function rather than #define for non-ACPI (Eike) - Export pci_configure_slot() - Add comment about why we don't program default PCI settings for PCIe - Tidy up PCIe setting check for PCIe device - Move pci_configure_slot() and related functions to acpi_pcihp.c (Kenji) - Make acpi_get_hp_params() static --- Bjorn Helgaas (8): PCI hotplug: acpiphp: remove superfluous _HPP/_HPX evaluation PCI hotplug: acpiphp: don't cache hotplug_params in acpiphp_bridge PCI hotplug: clean up acpi_get_hp_params_from_firmware() interface PCI hotplug: add pci_configure_slot() PCI hotplug: pciehp: use generic pci_configure_slot() PCI hotplug: shpchp: use generic pci_configure_slot() PCI hotplug: acpiphp: use generic pci_configure_slot() PCI hotplug: clean up acpi_run_hpp() drivers/pci/hotplug/Makefile | 2 drivers/pci/hotplug/acpi_pcihp.c | 105 ++++++-------------- drivers/pci/hotplug/acpiphp.h | 3 - drivers/pci/hotplug/acpiphp_glue.c | 95 +----------------- drivers/pci/hotplug/pciehp.h | 9 -- drivers/pci/hotplug/pciehp_pci.c | 132 ------------------------- drivers/pci/hotplug/pcihp_slot.c | 187 ++++++++++++++++++++++++++++++++++++ drivers/pci/hotplug/shpchp.h | 9 -- drivers/pci/hotplug/shpchp_pci.c | 62 ------------ include/linux/pci_hotplug.h | 11 ++ 10 files changed, 236 insertions(+), 379 deletions(-) create mode 100644 drivers/pci/hotplug/pcihp_slot.c -- Bjorn -- To unsubscribe from this list: send the line "unsubscribe linux-pci" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html