• Martin Habets's avatar
    [SERIAL] sparc: Infrastructure to fix section mismatch bugs. · 58d784a5
    Martin Habets authored
    This patch against 2.6.23 sparc-2.6.git contains a number of minor
    cleanups of the sparc serial drivers.  Initially I fixed this build
    warning:
    
    WARNING: vmlinux.o(.text+0x107a2c): Section mismatch: reference to .init.text:add_preferred_console (between 'sunserial_console_match' and 'sunserial_console_termios')
    
    which is done by declaring sunserial_console_match() as __init.  This
    resulted in build warnings on sunserial_current_minor.  To resolve
    these the variable was changed so it is no longer global, and to hide
    operations on it inside 2 new functions. These functions handle the
    UART minor handling code that is common to all sparc serial drivers.
    
    These changes allowed to clean up the uart counters in all the sparc
    serial drivers, and the administration of minor device numbers.
    
    Lastly, sunserial_console_termios() does not need to be exported since
    it is only called from non-modular code.
    
    Sadly, the following build warning still exists:
    
    WARNING: vmlinux.o(__ksymtab+0x2910): Section mismatch: reference to .init.text:sunserial_console_match (between '__ksymtab_sunserial_console_match' and '__ksymtab_sunserial_unregister_minors')
    
    This could be resolved by not exporting sunserial_console_match(), but
    this is not possible at the moment because it is being called from
    modular code. On the other hand, this is a bogus warning since it
    comes from a ksymtab section.
    Signed-off-by: default avatarMartin Habets <errandir_news@mph.eclipse.co.uk>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    58d784a5
sunzilog.c 39.3 KB