Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=451124a7cc6c89fcb83d48082c7290f16f652f1c
Commit:     451124a7cc6c89fcb83d48082c7290f16f652f1c
Parent:     4105717bc98ba01663ff28f8a16d8716ba9d07fe
Author:     Sam Ravnborg <[EMAIL PROTECTED]>
AuthorDate: Sat Feb 2 22:33:43 2008 +0100
Committer:  Greg Kroah-Hartman <[EMAIL PROTECTED]>
CommitDate: Sat Feb 2 15:08:04 2008 -0800

    PCI: fix 4x section mismatch warnings
    
    The following warnings were issued during build of
    drivers/pci with an allyesconfig build:
    WARNING: o-x86_64/drivers/pci/built-in.o(.text+0xdaf): Section mismatch in 
reference from the function pci_add_new_bus() to the function 
.devinit.text:pci_alloc_child_bus()
    WARNING: o-x86_64/drivers/pci/built-in.o(.text+0x15e2): Section mismatch in 
reference from the function pci_scan_single_device() to the function 
.devinit.text:pci_scan_device()
    WARNING: o-x86_64/drivers/pci/built-in.o(.text+0x1b0c5): Section mismatch 
in reference from the function pci_bus_assign_resources() to the function 
.devinit.text:pci_setup_bridge()
    WARNING: o-x86_64/drivers/pci/built-in.o(.text+0x1b32d): Section mismatch 
in reference from the function pci_bus_size_bridges() to the function 
.devinit.text:pci_bus_size_cardbus()
    
    Investigating each case closer it looked like all
    referred functions are only used in the init phase
    or during hotplug.
    So to avoid wasting too much memory in the non-hotplug
    case the simpler fix was to allow the fuctions to
    use code/data from the __devinit sections.
    This was done in all four case by adding the __ref
    annotation.
    
    Signed-off-by: Sam Ravnborg <[EMAIL PROTECTED]>
    Cc: Adrian Bunk <[EMAIL PROTECTED]>
    Signed-off-by: Greg Kroah-Hartman <[EMAIL PROTECTED]>
---
 drivers/pci/probe.c     |    4 ++--
 drivers/pci/setup-bus.c |    4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/drivers/pci/probe.c b/drivers/pci/probe.c
index 3bb2bc2..7f5dab3 100644
--- a/drivers/pci/probe.c
+++ b/drivers/pci/probe.c
@@ -433,7 +433,7 @@ pci_alloc_child_bus(struct pci_bus *parent, struct pci_dev 
*bridge, int busnr)
        return child;
 }
 
-struct pci_bus *pci_add_new_bus(struct pci_bus *parent, struct pci_dev *dev, 
int busnr)
+struct pci_bus *__ref pci_add_new_bus(struct pci_bus *parent, struct pci_dev 
*dev, int busnr)
 {
        struct pci_bus *child;
 
@@ -948,7 +948,7 @@ void pci_device_add(struct pci_dev *dev, struct pci_bus 
*bus)
        up_write(&pci_bus_sem);
 }
 
-struct pci_dev *pci_scan_single_device(struct pci_bus *bus, int devfn)
+struct pci_dev *__ref pci_scan_single_device(struct pci_bus *bus, int devfn)
 {
        struct pci_dev *dev;
 
diff --git a/drivers/pci/setup-bus.c b/drivers/pci/setup-bus.c
index 8a7232f..262b043 100644
--- a/drivers/pci/setup-bus.c
+++ b/drivers/pci/setup-bus.c
@@ -456,7 +456,7 @@ pci_bus_size_cardbus(struct pci_bus *bus)
        }
 }
 
-void pci_bus_size_bridges(struct pci_bus *bus)
+void __ref pci_bus_size_bridges(struct pci_bus *bus)
 {
        struct pci_dev *dev;
        unsigned long mask, prefmask;
@@ -511,7 +511,7 @@ void pci_bus_size_bridges(struct pci_bus *bus)
 }
 EXPORT_SYMBOL(pci_bus_size_bridges);
 
-void pci_bus_assign_resources(struct pci_bus *bus)
+void __ref pci_bus_assign_resources(struct pci_bus *bus)
 {
        struct pci_bus *b;
        struct pci_dev *dev;
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to