Re: metag test failure in -next due to commit 'module: relocate module_init from init.h to module.h'

From: Paul Gortmaker
Date: Sun Jun 07 2015 - 18:17:59 EST


[Re: metag test failure in -next due to commit 'module: relocate module_init from init.h to module.h'] On 05/06/2015 (Fri 17:39) Guenter Roeck wrote:

> On 06/05/2015 02:39 PM, James Hogan wrote:
> [ ... ]
> >
> > From e12856c559d7dff2ad4f6497996610e12e7c7e2d Mon Sep 17 00:00:00 2001
> >From: James Hogan <james.hogan@xxxxxxxxxx>
> >Date: Fri, 5 Jun 2015 22:17:18 +0100
> >Subject: [PATCH] tty/metag_da: Avoid module_init/module_exit
> >MIME-Version: 1.0
> >Content-Type: text/plain; charset=UTF-8
> >Content-Transfer-Encoding: 8bit
> >
> >The metag_da TTY driver can't get built as a module at the moment, but
> >it still uses module_init() and module_exit(). Those macros are moving
> >to module.h which isn't included by metag_da.c, which will result in the
> >following build warnings (remarkably no build errors) and an apparent
> >failure to boot as the TTY driver won't be loaded.
> >
> >drivers/tty/metag_da.c:660: warning: data definition has no type or storage class
> >drivers/tty/metag_da.c:660: warning: type defaults to âintâ in declaration of âmodule_initâ
> >drivers/tty/metag_da.c:660: warning: parameter names (without types) in function declaration
> >drivers/tty/metag_da.c:661: warning: data definition has no type or storage class
> >drivers/tty/metag_da.c:661: warning: type defaults to âintâ in declaration of âmodule_exitâ
> >drivers/tty/metag_da.c:661: warning: parameter names (without types) in function declaration
> >drivers/tty/metag_da.c:572: warning: âdashtty_initâ defined but not used
> >drivers/tty/metag_da.c:645: warning: âdashtty_exitâ defined but not used
> >drivers/tty/metag_da.c In function âdash_console_writeâ:
> >drivers/tty/metag_da.c:670 : warning: passing argument 4 of âchancallâ discards qualifiers from pointer target type
> >
> >Instead of just adding the module.h include, now would be a good time to
> >remove the use of these macros, replacing the module_init with
> >device_initcall, and removing the exit function altogether since it
> >isn't needed. If module support is added later the code can always be
> >resurrected.
> >
> >Reported-by: Guenter Roeck <linux@xxxxxxxxxxxx>
> >Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx>
> >Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
> >Cc: Jiri Slaby <jslaby@xxxxxxx>
> >Cc: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx>
> >Cc: linux-metag@xxxxxxxxxxxxxxx
>
> Yes, that does the trick.
>
> Tested-by: Guenter Roeck <linux@xxxxxxxxxxxx>

Thanks guys, I'll add that to the module_init-device_initcall conversion
branch, which will put it ahead of the code relocation commit.

I think most other arch run with -Werror-implicit (or whatever it is) so
that these kinds of things would not "leak" past into a silent boot
fail like this.

Paul.
--

>
> Thanks,
> Guenter
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/