diff options
-rw-r--r-- | target/linux/ppc40x/patches-2.6.30/900-backport-fix-annotation-of-pcibios_claim_one_bus.patch | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/target/linux/ppc40x/patches-2.6.30/900-backport-fix-annotation-of-pcibios_claim_one_bus.patch b/target/linux/ppc40x/patches-2.6.30/900-backport-fix-annotation-of-pcibios_claim_one_bus.patch new file mode 100644 index 000000000..01a70c52c --- /dev/null +++ b/target/linux/ppc40x/patches-2.6.30/900-backport-fix-annotation-of-pcibios_claim_one_bus.patch @@ -0,0 +1,42 @@ +From: Stephen Rothwell <sfr@canb.auug.org.au> +Date: Mon, 1 Jun 2009 14:53:53 +0000 (+0000) +Subject: powerpc/pci: Fix annotation of pcibios_claim_one_bus +X-Git-Url: http://git.kernel.org/?p=linux%2Fkernel%2Fgit%2Fbenh%2Fpowerpc.git;a=commitdiff_plain;h=baf75b0a42a1b3f6fca80f8949b6141eaff61b0d + +powerpc/pci: Fix annotation of pcibios_claim_one_bus + +It was __devinit, but it is also within a CONFIG_HOTPLUG guarded section +of code, so the __devinit does nothing but cause the following warning: + +WARNING: vmlinux.o(.text+0x107a8): Section mismatch in reference from the function pcibios_finish_adding_to_bus() to the function .devinit.text:pcibios_claim_one_bus() +The function pcibios_finish_adding_to_bus() references +the function __devinit pcibios_claim_one_bus(). +This is often because pcibios_finish_adding_to_bus lacks a __devinit +annotation or the annotation of pcibios_claim_one_bus is wrong. + +It is also only (externally) used in arch/powerpc/kernel/of_platform.c +which cannot be built as a module so don't export it. + +Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au> +Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> +--- + +--- a/arch/powerpc/kernel/pci-common.c ++++ b/arch/powerpc/kernel/pci-common.c +@@ -1505,7 +1505,7 @@ void __init pcibios_resource_survey(void + * rest of the code later, for now, keep it as-is as our main + * resource allocation function doesn't deal with sub-trees yet. + */ +-void __devinit pcibios_claim_one_bus(struct pci_bus *bus) ++void pcibios_claim_one_bus(struct pci_bus *bus) + { + struct pci_dev *dev; + struct pci_bus *child_bus; +@@ -1533,7 +1533,6 @@ void __devinit pcibios_claim_one_bus(str + list_for_each_entry(child_bus, &bus->children, node) + pcibios_claim_one_bus(child_bus); + } +-EXPORT_SYMBOL_GPL(pcibios_claim_one_bus); + + + /* pcibios_finish_adding_to_bus |