mirror of https://gitee.com/openkylin/linux.git
[PATCH] char/ip2: more section fixes (replacement)
Priority: tossup. In theory some of these (previously) __init functions could be called after init, but that problem has not been observed AFAIK. There were 2 cases of cleanup_module() (module_exit) calling __init functions (clear_requested_irq() & have_requested_irq()). These are more serious, but still not observed AFAIK. Fix sections mismatch: WARNING: drivers/char/ip2/ip2main.o - Section mismatch: reference to .init.text: from .text between 'cleanup_module' (at offset 0x228b) and 'ip2_loadmain' WARNING: drivers/char/ip2/ip2main.o - Section mismatch: reference to .init.text: from .text between 'cleanup_module' (at offset 0x22ae) and 'ip2_loadmain' WARNING: drivers/char/ip2/ip2main.o - Section mismatch: reference to .init.text: from .text between 'ip2_loadmain' (at offset 0x2501) and 'set_irq' WARNING: drivers/char/ip2/ip2main.o - Section mismatch: reference to .init.text: from .text between 'ip2_loadmain' (at offset 0x25de) and 'set_irq' WARNING: drivers/char/ip2/ip2main.o - Section mismatch: reference to .init.text: from .text between 'ip2_loadmain' (at offset 0x2698) and 'set_irq' WARNING: drivers/char/ip2/ip2main.o - Section mismatch: reference to .init.text: from .text between 'ip2_loadmain' (at offset 0x2922) and 'set_irq' WARNING: drivers/char/ip2/ip2main.o - Section mismatch: reference to .init.text: from .text between 'ip2_loadmain' (at offset 0x299e) and 'set_irq' Signed-off-by: Randy Dunlap <rdunlap@xenotime.net> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
parent
cad2af5eb7
commit
673e321cf9
|
@ -305,7 +305,7 @@ static struct class *ip2_class;
|
|||
|
||||
// Some functions to keep track of what irq's we have
|
||||
|
||||
static int __init
|
||||
static int
|
||||
is_valid_irq(int irq)
|
||||
{
|
||||
int *i = Valid_Irqs;
|
||||
|
@ -316,14 +316,14 @@ is_valid_irq(int irq)
|
|||
return (*i);
|
||||
}
|
||||
|
||||
static void __init
|
||||
static void
|
||||
mark_requested_irq( char irq )
|
||||
{
|
||||
rirqs[iindx++] = irq;
|
||||
}
|
||||
|
||||
#ifdef MODULE
|
||||
static int __init
|
||||
static int
|
||||
clear_requested_irq( char irq )
|
||||
{
|
||||
int i;
|
||||
|
@ -337,7 +337,7 @@ clear_requested_irq( char irq )
|
|||
}
|
||||
#endif
|
||||
|
||||
static int __init
|
||||
static int
|
||||
have_requested_irq( char irq )
|
||||
{
|
||||
// array init to zeros so 0 irq will not be requested as a side effect
|
||||
|
@ -818,7 +818,7 @@ EXPORT_SYMBOL(ip2_loadmain);
|
|||
/* the board, the channel structures are initialized, and the board details */
|
||||
/* are reported on the console. */
|
||||
/******************************************************************************/
|
||||
static void __init
|
||||
static void
|
||||
ip2_init_board( int boardnum )
|
||||
{
|
||||
int i;
|
||||
|
@ -961,7 +961,7 @@ ip2_init_board( int boardnum )
|
|||
/* EISA motherboard, or no valid board ID is selected it returns 0. Otherwise */
|
||||
/* it returns the base address of the controller. */
|
||||
/******************************************************************************/
|
||||
static unsigned short __init
|
||||
static unsigned short
|
||||
find_eisa_board( int start_slot )
|
||||
{
|
||||
int i, j;
|
||||
|
|
Loading…
Reference in New Issue