Re: [patch 06/18] m68k: Disable Amiga serial console support if modular

Geert Uytterhoeven
2008-10-14T19:22:28Z

Hi Linus,

On Tue, 14 Oct 2008, Linus Torvalds wrote:
> On Mon, 13 Oct 2008, Geert Uytterhoeven wrote:
> > Apparently console_initcall() is not defined in the modular case.
>
> We can certainly fix that.
>
> Does this make things work for you? If so, send it back with a sign-off
> (add you can add mine too - but I'm not going to add it until it's tested)
>
> Linus
> ---
> include/linux/init.h | 1 +
> 1 files changed, 1 insertions(+), 0 deletions(-)
>
> diff --git a/include/linux/init.h b/include/linux/init.h
> index 93538b6..d9625b5 100644
> --- a/include/linux/init.h
> +++ b/include/linux/init.h
> @@ -273,6 +273,7 @@ void __init parse_early_param(void);
> #else /* MODULE */
>
> /* Don't use these in modules, but some people do... */
> +#define console_initcall(fn) module_init(fn)
> #define core_initcall(fn) module_init(fn)
> #define postcore_initcall(fn) module_init(fn)
> #define arch_initcall(fn) module_init(fn)

That won't help amiserial.c, as there's already a module_init() in that
file for the normal serial driver part.

But even if it would work, does it really make sense to have a modular
serial console driver?

- If you have only one console driver, it would be registered and become
your console when you load the module; but you wouldn't have had any
console before it got loaded.
- If you have several console drivers, you need a `console=' parameter
anyway to control which one is used.