summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--target/linux/ppc40x/patches-2.6.30/900-backport-fix-annotation-of-pcibios_claim_one_bus.patch42
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