lkml.org 
[lkml]   [2007]   [Dec]   [29]   [last100]   RSS Feed
Views: [more markup]  [less markup]  [headers]  [forward] 
 
Messages in this thread
/
DateSat, 29 Dec 2007 01:18:02 -0800 (PST)
SubjectRe: 2.6.24-rc6-mm1: some section mismatches on sparc64
FromDavid Miller <>
From: Adrian Bunk <bunk@kernel.org>
Date: Sat, 29 Dec 2007 11:06:19 +0200

> On Sat, Dec 29, 2007 at 12:54:08AM -0800, David Miller wrote:
> > From: Adrian Bunk <bunk@kernel.org>> > Date: Sat, 29 Dec 2007 10:48:46 +0200> > > > > On Sat, Dec 29, 2007 at 12:14:11AM -0800, David Miller wrote:
> > > > That's why I'm not worried about this issue and it's not critical at
> > > > all.> > > > > > If a module calls sunserial_console_match() that's an Oops.> > > > That's true.> > > > I'm trying to figure out a way to fix this.> > #ifdef FOO_CONSOLE around the sunserial_console_match() calls in the  
> drivers should work.

It absolutely doesn't work, I tried this, see my other reply.

The issue is add_preferred_console() is __init, driver probe calls are
__devinit which are either __init or not __init.

So even with the FOO_CONSOLE ifdef (or something similar like the
patch I posted) we'll still get section mismatch warnings.

> If you consider this too many #ifdef's, an alternative solution would be 
> doing the following in drivers/serial/suncore.h:> > #ifndef MODULE> extern int sunserial_console_match(struct console *, struct device_node *,
>                                    struct uart_driver *, int);
> #else
> static inline int sunserial_console_match(struct console *, struct device_node *,
>                                           struct uart_driver *, int);
> { return 0; }
> #endif

Just removing the __init tag from add_preferred_console() (and
subsequently sunserial_console_match()) is probably the easiest way to
fix all of this.


\
 
 \ /
  Last update: 2007-12-29 10:21    [from the cache]
©2003-2008