On Mon, 13 Oct 2008, Paul Bolle wrote:
On Mon, 2008-10-13 at 21:58 +0200, Geert Uytterhoeven wrote:
Apparently console_initcall() is not defined in the modular case.
Yes, see include/linux/init.h:
#ifndef MODULE
[...]
#define console_initcall(fn) \
static initcall_t __initcall_##fn \
__used __section(.con_initcall.init) = fn
[...]
Any better alternative fix?
Well, (a number of) other serial consoles cannot be selected if the
corresponding serial driver is modular. Try:
grep -B 2 -E "depends on .*=y" drivers/serial/Kconfig | \
grep -A 2 -E "^config .*CONSOLE"
For instance:
config SERIAL_8250_CONSOLE
bool "Console on 8250/16550 and compatible serial port"
depends on SERIAL_8250=y
Yes, I saw those.
Maybe this config entry (in arch/m68k/Kconfig) could be cleaned up (or
split into multiple entries):
config SERIAL_CONSOLE
bool "Support for serial port console"
depends on (AMIGA || ATARI || MAC || SUN3 || SUN3X || VME ||
APOLLO) && (ATARI_MFPSER=y || ATARI_MIDI=y || MAC_SCC=y ||
AMIGA_BUILTIN_SERIAL=y || GVPIOEXT=y || MULTIFACE_III_TTY=y || SERIAL=y
|| MVME147_SCC || SERIAL167 || MVME162_SCC || BVME6000_SCC || DN_SERIAL)
[...]
That "depends on" line seems likely to lead to problems like the one you
ran into. But your patch (which I didn't test) is probably simpler.
Adding all those extra config symbols seems like a bit overkill to me...
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
--
To unsubscribe from this list: send the line "unsubscribe linux-m68k" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html