Skip to content
  • Sam Ravnborg's avatar
    PCI: fix 4x section mismatch warnings · 451124a7
    Sam Ravnborg authored
    
    
    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: default avatarSam Ravnborg <sam@ravnborg.org>
    Cc: Adrian Bunk <bunk@kernel.org>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
    451124a7