On Sunday 30 August 2009 11:08:31 pm Kenji Kaneshige wrote: > Bjorn Helgaas wrote: > > 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 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 (9): > > PCI hotplug: acpiphp: remove superfluous _HPP/_HPX evaluation > > PCI hotplug: acpiphp: don't cache hotplug_params in acpiphp_bridge > > PCI hotplug: rename acpi_get_hp_params_from_firmware() to acpi_get_hp_params() > > 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() > > PCI hotplug: make acpi_get_hp_params() static > > > > > > drivers/pci/hotplug/acpi_pcihp.c | 269 ++++++++++++++++++++++++++---------- > > 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 | 0 > > drivers/pci/hotplug/shpchp.h | 9 - > > drivers/pci/hotplug/shpchp_pci.c | 62 -------- > > include/linux/pci_hotplug.h | 5 - > > 9 files changed, 205 insertions(+), 379 deletions(-) > > create mode 100644 drivers/pci/hotplug/pcihp_slot.c > > > > Hi Bjorn-san, > > I tried the set of patches on both SHPC and PCI-E hotplug slots > using shpchp driver and pciehp driver respectively and confirmed > it works well (I also confirmed there are no difference on > hot-plugging in PCI/PCIE configuration space between before and > after applying set of patches). > > Unfortunately, I didn't test acpiphp due to the lack of testing > environment. So I can do only reviewing for acpiphp. In my > understanding, your patches are not only for cleanup but it also > enables acpiphp to program _HPX type2 parameters on PCI-E hotplug > slots. If I must say something about acpiphp, it would be good > if there is an description about it. Yes, you're right, I should mention that change. Oh, actually, I *did* mention it in the changelog for patch 7/9. Do you think I should call that out more? > By the way, I think we can do further cleanup regarding hotplug > parameters. I think struct hpp_type? and struct hotplug_params > in include/linux/pci_hotplug.h can be moved to acpi_pcihp.c like > attached below. I'll take a look at this. It's connected with a mistake I made in version 2 of this series: by moving pci_configure_slot() entirely into acpi_pcihp.c, I inadvertently removed the SHPC path that configured default PCI settings for non-ACPI systems. I'll have to work on that a bit more. Thanks a lot for testing and reviewing these! 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