From: Adrian Bunk <[email protected]>
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 <[email protected]>
> > 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.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]