Re: [PATCH v3 00/22] PCI: Iterate pci host bridge instead of pci root bus

From: Yinghai Lu
Date: Tue Feb 05 2013 - 19:47:20 EST


On Tue, Feb 5, 2013 at 4:19 PM, Bjorn Helgaas <bhelgaas@xxxxxxxxxx> wrote:
>
> Maybe. I'd rather not introduce for_each_pci_host_bridge() at all, if
> we can avoid it. Every place it's used is a place we have to audit to
> make sure it's safe. I think your audit above is correct and
> complete, but it relies on way too much architecture knowledge. It's
> better if we can deduce correctness without knowing which arches
> support hotplug and which CPUs support EDAC.
>
> As soon as for_each_pci_host_bridge() is in the tree, those uses can
> be copied to even more places. It's a macro, so it's usable by any
> module, even out-of-tree ones that we'll never see and can't fix. So
> we won't really have a good way to deprecate and remove it.

Now we only have two references in modules.

drivers/edac/i7core_edac.c: for_each_pci_host_bridge(host_bridge) {
drivers/pci/hotplug/sgi_hotplug.c: for_each_pci_host_bridge(host_bridge) {

for the sgi_hotplug.c, it should be same problem that have for acpiphp
and pciehp.
need to make it support pci host bridge hotplug anyway.

for edac, we need to check Mauro about their plan.

After those two are addressed, we can drop that EXPORT_SYMBOL_GPL for
pci_get_next_host_bridge.

We do have pci_get_domain_bus_and_slot() as export symbol.
So we export pci_get_next_host_bridge should be ok now.
and it would be better than export root buses list.

Thanks

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