aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRandy Dunlap <rdunlap@xenotime.net>2006-06-25 08:48:39 -0400
committerLinus Torvalds <torvalds@g5.osdl.org>2006-06-25 13:01:16 -0400
commit673e321cf9a12ecc2d6ce683fa9105f3443c1cbd (patch)
treeb1f95fceabe94ddb710f00fb34bfaa2ee1c9baf5
parentcad2af5eb7470f9a0b85498f5ffac894e3cdcd27 (diff)
[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>
-rw-r--r--drivers/char/ip2/ip2main.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/drivers/char/ip2/ip2main.c b/drivers/char/ip2/ip2main.c
index 03db1cb3fa95..9ab33c3d359f 100644
--- a/drivers/char/ip2/ip2main.c
+++ b/drivers/char/ip2/ip2main.c
@@ -305,7 +305,7 @@ static struct class *ip2_class;
305 305
306// Some functions to keep track of what irq's we have 306// Some functions to keep track of what irq's we have
307 307
308static int __init 308static int
309is_valid_irq(int irq) 309is_valid_irq(int irq)
310{ 310{
311 int *i = Valid_Irqs; 311 int *i = Valid_Irqs;
@@ -316,14 +316,14 @@ is_valid_irq(int irq)
316 return (*i); 316 return (*i);
317} 317}
318 318
319static void __init 319static void
320mark_requested_irq( char irq ) 320mark_requested_irq( char irq )
321{ 321{
322 rirqs[iindx++] = irq; 322 rirqs[iindx++] = irq;
323} 323}
324 324
325#ifdef MODULE 325#ifdef MODULE
326static int __init 326static int
327clear_requested_irq( char irq ) 327clear_requested_irq( char irq )
328{ 328{
329 int i; 329 int i;
@@ -337,7 +337,7 @@ clear_requested_irq( char irq )
337} 337}
338#endif 338#endif
339 339
340static int __init 340static int
341have_requested_irq( char irq ) 341have_requested_irq( char irq )
342{ 342{
343 // array init to zeros so 0 irq will not be requested as a side effect 343 // array init to zeros so 0 irq will not be requested as a side effect
@@ -818,7 +818,7 @@ EXPORT_SYMBOL(ip2_loadmain);
818/* the board, the channel structures are initialized, and the board details */ 818/* the board, the channel structures are initialized, and the board details */
819/* are reported on the console. */ 819/* are reported on the console. */
820/******************************************************************************/ 820/******************************************************************************/
821static void __init 821static void
822ip2_init_board( int boardnum ) 822ip2_init_board( int boardnum )
823{ 823{
824 int i; 824 int i;
@@ -961,7 +961,7 @@ err_initialize:
961/* EISA motherboard, or no valid board ID is selected it returns 0. Otherwise */ 961/* EISA motherboard, or no valid board ID is selected it returns 0. Otherwise */
962/* it returns the base address of the controller. */ 962/* it returns the base address of the controller. */
963/******************************************************************************/ 963/******************************************************************************/
964static unsigned short __init 964static unsigned short
965find_eisa_board( int start_slot ) 965find_eisa_board( int start_slot )
966{ 966{
967 int i, j; 967 int i, j;