lkml.org 
[lkml]   [2007]   [Mar]   [2]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH,RFC] pci: do not mark exported functions as __devinit
    On Fri, Mar 02, 2007 at 12:47:52PM -0800, Greg KH wrote:
    > On Tue, Feb 27, 2007 at 10:27:02AM +0100, Sam Ravnborg wrote:
    > > Functions marked __devinit will be removed after kernel init.
    > > But being exported they are potentially called by a module
    > > much later.
    > > So the safer choice seems to be to keep the function even
    > > in the non CONFIG_HOTPLUG case.
    > >
    > > This silence the follwoing section mismatch warnings:
    > > WARNING: drivers/built-in.o - Section mismatch: reference to .init.text:pci_bus_add_device from __ksymtab_gpl between '__ksymtab_pci_bus_add_device' (at offset 0x20) and '__ksymtab_pci_walk_bus'
    > > WARNING: drivers/built-in.o - Section mismatch: reference to .init.text:pci_create_bus from __ksymtab_gpl between '__ksymtab_pci_create_bus' (at offset 0x40) and '__ksymtab_pci_stop_bus_device'
    > > WARNING: drivers/built-in.o - Section mismatch: reference to .init.text:pci_bus_max_busnr from __ksymtab_gpl between '__ksymtab_pci_bus_max_busnr' (at offset 0xc0) and '__ksymtab_pci_assign_resource_fixed'
    > > WARNING: drivers/built-in.o - Section mismatch: reference to .init.text:pci_claim_resource from __ksymtab_gpl between '__ksymtab_pci_claim_resource' (at offset 0xe0) and '__ksymtab_pcie_port_bus_type'
    > > WARNING: drivers/built-in.o - Section mismatch: reference to .init.text:pci_bus_add_devices from __ksymtab between '__ksymtab_pci_bus_add_devices' (at offset 0x70) and '__ksymtab_pci_bus_alloc_resource'
    > > WARNING: drivers/built-in.o - Section mismatch: reference to .init.text:pci_scan_bus_parented from __ksymtab between '__ksymtab_pci_scan_bus_parented' (at offset 0x90) and '__ksymtab_pci_root_buses'
    > > WARNING: drivers/built-in.o - Section mismatch: reference to .init.text:pci_bus_assign_resources from __ksymtab between '__ksymtab_pci_bus_assign_resources' (at offset 0x4d0) and '__ksymtab_pci_bus_size_bridges'
    > > WARNING: drivers/built-in.o - Section mismatch: reference to .init.text:pci_bus_size_bridges from __ksymtab between '__ksymtab_pci_bus_size_bridges' (at offset 0x4e0) and '__ksymtab_pci_setup_cardbus'
    > >
    > > Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
    > > ---
    > > Is this the correct approach or do we allow __init symbols to be
    > > exported? In that case we need to find a way to export them without
    > > causing a section mismatch warning.
    >
    > Yes, we allow them to be exported globally, as other init code might
    > need to call them, like these functions.
    >
    > So yes, I think we need to find a way to fix the warning tools, as the
    > code is correct here.

    OK - for now I have added code to kbuild to ignore/whitelist all EXPORT_SYMBOL*()
    og functions marked __*init.
    This silence the above warnings.

    Sam
    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2007-03-02 23:57    [W:0.023 / U:94.148 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site