The patch titled pci: fix section mismatch warning in pci_scan_child_bus has been added to the -mm tree. Its filename is pci-fix-section-mismatch-warning-in-pci_scan_child_bus.patch Before you just go and hit "reply", please: a) Consider who else should be cc'ed b) Prefer to cc a suitable mailing list as well c) Ideally: find the original patch on the mailing list and do a reply-to-all to that, adding suitable additional cc's *** Remember to use Documentation/SubmitChecklist when testing your code *** See http://www.zip.com.au/~akpm/linux/patches/stuff/added-to-mm.txt to find out what to do about this The current -mm tree may be found at http://userweb.kernel.org/~akpm/mmotm/ ------------------------------------------------------ Subject: pci: fix section mismatch warning in pci_scan_child_bus From: Sam Ravnborg <sam@xxxxxxxxxxxx> Fix following warning: WARNING: vmlinux.o(.text+0x47bdb1): Section mismatch in reference from the function pci_scan_child_bus() to the function .devinit.text:pcibios_fixup_bus() We had plenty of functions that could be annotated __devinit but due to the former restriction that annotated symbols could not be annotated they were not so. So annotate these function and fix the references from the pci/hotplug/* code to silence the resuting warnings. Signed-off-by: Sam Ravnborg <sam@xxxxxxxxxxxx> Cc: Greg KH <greg@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- drivers/pci/hotplug-pci.c | 2 +- drivers/pci/hotplug/acpiphp_glue.c | 2 +- drivers/pci/hotplug/cpci_hotplug_pci.c | 2 +- drivers/pci/hotplug/pciehp_pci.c | 2 +- drivers/pci/hotplug/shpchp_pci.c | 2 +- drivers/pci/probe.c | 8 ++++---- 6 files changed, 9 insertions(+), 9 deletions(-) diff -puN drivers/pci/hotplug-pci.c~pci-fix-section-mismatch-warning-in-pci_scan_child_bus drivers/pci/hotplug-pci.c --- a/drivers/pci/hotplug-pci.c~pci-fix-section-mismatch-warning-in-pci_scan_child_bus +++ a/drivers/pci/hotplug-pci.c @@ -4,7 +4,7 @@ #include "pci.h" -unsigned int pci_do_scan_bus(struct pci_bus *bus) +unsigned int __devinit pci_do_scan_bus(struct pci_bus *bus) { unsigned int max; diff -puN drivers/pci/hotplug/acpiphp_glue.c~pci-fix-section-mismatch-warning-in-pci_scan_child_bus drivers/pci/hotplug/acpiphp_glue.c --- a/drivers/pci/hotplug/acpiphp_glue.c~pci-fix-section-mismatch-warning-in-pci_scan_child_bus +++ a/drivers/pci/hotplug/acpiphp_glue.c @@ -1085,7 +1085,7 @@ static int acpiphp_bus_trim(acpi_handle * This function should be called per *physical slot*, * not per each slot object in ACPI namespace. */ -static int enable_device(struct acpiphp_slot *slot) +static int __ref enable_device(struct acpiphp_slot *slot) { struct pci_dev *dev; struct pci_bus *bus = slot->bridge->pci_bus; diff -puN drivers/pci/hotplug/cpci_hotplug_pci.c~pci-fix-section-mismatch-warning-in-pci_scan_child_bus drivers/pci/hotplug/cpci_hotplug_pci.c --- a/drivers/pci/hotplug/cpci_hotplug_pci.c~pci-fix-section-mismatch-warning-in-pci_scan_child_bus +++ a/drivers/pci/hotplug/cpci_hotplug_pci.c @@ -250,7 +250,7 @@ int cpci_led_off(struct slot* slot) * Device configuration functions */ -int cpci_configure_slot(struct slot* slot) +int __ref cpci_configure_slot(struct slot* slot) { struct pci_bus *parent; int fn; diff -puN drivers/pci/hotplug/pciehp_pci.c~pci-fix-section-mismatch-warning-in-pci_scan_child_bus drivers/pci/hotplug/pciehp_pci.c --- a/drivers/pci/hotplug/pciehp_pci.c~pci-fix-section-mismatch-warning-in-pci_scan_child_bus +++ a/drivers/pci/hotplug/pciehp_pci.c @@ -167,7 +167,7 @@ static void program_fw_provided_values(s } } -static int pciehp_add_bridge(struct pci_dev *dev) +static int __ref pciehp_add_bridge(struct pci_dev *dev) { struct pci_bus *parent = dev->bus; int pass, busnr, start = parent->secondary; diff -puN drivers/pci/hotplug/shpchp_pci.c~pci-fix-section-mismatch-warning-in-pci_scan_child_bus drivers/pci/hotplug/shpchp_pci.c --- a/drivers/pci/hotplug/shpchp_pci.c~pci-fix-section-mismatch-warning-in-pci_scan_child_bus +++ a/drivers/pci/hotplug/shpchp_pci.c @@ -96,7 +96,7 @@ static void program_fw_provided_values(s } } -int shpchp_configure_device(struct slot *p_slot) +int __ref shpchp_configure_device(struct slot *p_slot) { struct pci_dev *dev; struct pci_bus *parent = p_slot->ctrl->pci_dev->subordinate; diff -puN drivers/pci/probe.c~pci-fix-section-mismatch-warning-in-pci_scan_child_bus drivers/pci/probe.c --- a/drivers/pci/probe.c~pci-fix-section-mismatch-warning-in-pci_scan_child_bus +++ a/drivers/pci/probe.c @@ -295,7 +295,7 @@ static void pci_read_bases(struct pci_de } } -void pci_read_bridge_bases(struct pci_bus *child) +void __devinit pci_read_bridge_bases(struct pci_bus *child) { struct pci_dev *dev = child->self; u8 io_base_lo, io_limit_lo; @@ -481,7 +481,7 @@ static void pci_fixup_parent_subordinate * them, we proceed to assigning numbers to the remaining buses in * order to avoid overlaps between old and new bus numbers. */ -int pci_scan_bridge(struct pci_bus *bus, struct pci_dev * dev, int max, int pass) +int __devinit pci_scan_bridge(struct pci_bus *bus, struct pci_dev * dev, int max, int pass) { struct pci_bus *child; int is_cardbus = (dev->hdr_type == PCI_HEADER_TYPE_CARDBUS); @@ -1015,7 +1015,7 @@ int pci_scan_slot(struct pci_bus *bus, i return nr; } -unsigned int pci_scan_child_bus(struct pci_bus *bus) +unsigned int __devinit pci_scan_child_bus(struct pci_bus *bus) { unsigned int devfn, pass, max = bus->secondary; struct pci_dev *dev; @@ -1123,7 +1123,7 @@ err_out: return NULL; } -struct pci_bus *pci_scan_bus_parented(struct device *parent, +struct pci_bus * __devinit pci_scan_bus_parented(struct device *parent, int bus, struct pci_ops *ops, void *sysdata) { struct pci_bus *b; _ Patches currently in -mm which might be from sam@xxxxxxxxxxxx are samples-build-fix.patch git-acpi.patch acpi-fix-section-mismatch-in-acpi_pci_root_add.patch acpi-fix-section-mismatch-in-processor_corecacpi_processor_hotplug_notify.patch acer-wmi-fix-section-mismatch-warnings.patch alsa-caiaq-fix-section-mismatch-warning.patch cpufreq-fix-section-mismatch-warnings.patch drivers-base-cpu-fix-section-mismatch-in-cpucstore_online.patch git-kbuild.patch pcmcia-silence-section-mismatch-warnings-from-class_interface-variables.patch pcmcia-silence-section-mismatch-warnings-from-pci_driver-variables.patch pcmcia-annotate-cb_alloc-with-__ref.patch serial-silence-section-mismatch-warnings-in-8250_pci.patch pci-fix-section-mismatch-warning-in-pci_scan_child_bus.patch scsi-fix-section-mismatch-in-aic94xx.patch cpu-fix-section-mismatch-warnings-in-hotcpu_register.patch cpu-fix-section-mismatch-warning-in-unregister_cpu_notifier.patch cpu-fix-section-mismatch-warnings-in-cpu_down.patch cpu-fix-section-mismatch-warning-in-reference-to-register_cpu_notifier.patch tpm-fix-section-mismatch-warning.patch rtc-silence-section-mismatch-warning-in-rtc-test.patch - To unsubscribe from this list: send the line "unsubscribe mm-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html