Re: [PATCH 2 0/9] PCI hotplug: clean up slot configuration

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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

[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux