On Mon, 2007-07-23 at 19:59 +0200, Adrian Bunk wrote:
> On Mon, Jul 23, 2007 at 09:05:54AM -0700, Nelson, Shannon wrote:
> > Gabriel C [mailto:nix.or.die@xxxxxxxxxxxxxx]
> > >
> > >Hi,
> > >
> > >I got this warning on current git using gcc 4.2.1 :
> > >
> > >...
> > >
> > >drivers/dma/ioatdma.c: In function 'ioat_init_module':
> > >drivers/dma/ioatdma.c:816: warning: the address of
> > >'__this_module' will always evaluate as 'true'
> >...
>
> I'm less interested in why this gives a warning, more interesting is the
> code:
> __unsafe(THIS_MODULE);
>
> @Rusty:
> As far as I understand it, __unsafe() wasn't intended for such a usage,
> and simply not providing an exit function would be the right solution?
> If this is true, and since the MOD_INC_USE_COUNT compat code is long
> gone, shouldn't we be able to completely remove __unsafe() and the
> struct member "unsafe"?
Yes, indeed, something like this:
==
Remove "unsafe" from module struct
Adrian Bunk points out that "unsafe" was used to mark modules touched by
the deprecated MOD_INC_USE_COUNT interface, which has long gone. It's
time to remove the member from the module structure, as well.
If you want a module which can't unload, don't register an exit
function.
Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx>