From sam@ravnborg.org Sat Feb 2 13:50:58 2008 From: Sam Ravnborg Date: Sat, 2 Feb 2008 22:32:23 +0100 Subject: PCI: fix section mismatch warnings referring to pci_do_scan_bus To: Greg KH Message-ID: <20080202213223.GB27015@uranus.ravnborg.org> Content-Disposition: inline Fix following warnings: WARNING: o-x86_64/drivers/pci/built-in.o(.text+0xb054): Section mismatch in reference from the function cpci_configure_slot() to the function .devinit.text:pci_do_scan_bus() WARNING: o-x86_64/drivers/pci/built-in.o(.text+0x153ab): Section mismatch in reference from the function shpchp_configure_device() to the function .devinit.text:pci_do_scan_bus() WARNING: o-x86_64/drivers/pci/built-in.o(__ksymtab+0xc0): Section mismatch in reference from the variable __ksymtab_pci_do_scan_bus to the function .devinit.text:pci_do_scan_bus() PCI hotplug were the only user of pci_do_scan_bus() so moving this function to a separate file that is build only when we enable CONFIG_HOTPLUG_PCI. Signed-off-by: Sam Ravnborg Cc: Adrian Bunk Signed-off-by: Greg Kroah-Hartman --- drivers/pci/Makefile | 3 +++ drivers/pci/hotplug-pci.c | 20 ++++++++++++++++++++ drivers/pci/probe.c | 15 --------------- 3 files changed, 23 insertions(+), 15 deletions(-) --- a/drivers/pci/Makefile +++ b/drivers/pci/Makefile @@ -13,6 +13,9 @@ obj-$(CONFIG_HOTPLUG) += hotplug.o # Build the PCI Hotplug drivers if we were asked to obj-$(CONFIG_HOTPLUG_PCI) += hotplug/ +ifdef CONFIG_HOTPLUG_PCI +obj-y += hotplug-pci.o +endif # Build the PCI MSI interrupt support obj-$(CONFIG_PCI_MSI) += msi.o --- /dev/null +++ b/drivers/pci/hotplug-pci.c @@ -0,0 +1,20 @@ +/* Core PCI functionality used only by PCI hotplug */ + +#include +#include "pci.h" + + +unsigned int pci_do_scan_bus(struct pci_bus *bus) +{ + unsigned int max; + + max = pci_scan_child_bus(bus); + + /* + * Make the discovered devices available. + */ + pci_bus_add_devices(bus); + + return max; +} +EXPORT_SYMBOL(pci_do_scan_bus); --- a/drivers/pci/probe.c +++ b/drivers/pci/probe.c @@ -1045,20 +1045,6 @@ unsigned int pci_scan_child_bus(struct p return max; } -unsigned int __devinit pci_do_scan_bus(struct pci_bus *bus) -{ - unsigned int max; - - max = pci_scan_child_bus(bus); - - /* - * Make the discovered devices available. - */ - pci_bus_add_devices(bus); - - return max; -} - struct pci_bus * pci_create_bus(struct device *parent, int bus, struct pci_ops *ops, void *sysdata) { @@ -1145,7 +1131,6 @@ EXPORT_SYMBOL(pci_scan_bus_parented); #ifdef CONFIG_HOTPLUG EXPORT_SYMBOL(pci_add_new_bus); -EXPORT_SYMBOL(pci_do_scan_bus); EXPORT_SYMBOL(pci_scan_slot); EXPORT_SYMBOL(pci_scan_bridge); EXPORT_SYMBOL_GPL(pci_scan_child_bus);