Re: [alsa-devel] [PATCH] Fix a compile warning under gcc-4.2.3.

From: Takashi Iwai
Date: Thu Feb 21 2008 - 06:19:39 EST


At Thu, 21 Feb 2008 09:48:30 +0100,
Clemens Ladisch wrote:
>
> Joshua Roys wrote:
> > sound/core/init.c: In function ʽsnd_card_disconnectʼ:
> > sound/core/init.c:307: warning: the address of ʽsnd_shutdown_f_opsʼ will always evaluate as ʽtrueʼ
> >
> > Signed-off-by: Joshua Roys <roysjosh@xxxxxxxxx>
> > ---
> > sound/core/init.c | 1 -
> > 1 files changed, 0 insertions(+), 1 deletions(-)
> >
> > diff --git a/sound/core/init.c b/sound/core/init.c
> > index 2cb7099..1afc58b 100644
> > --- a/sound/core/init.c
> > +++ b/sound/core/init.c
> > @@ -304,7 +304,6 @@ int snd_card_disconnect(struct snd_card *card)
> > list_add(&mfile->shutdown_list, &shutdown_files);
> > spin_unlock(&shutdown_lock);
> >
> > - fops_get(&snd_shutdown_f_ops);
> > mfile->file->f_op = &snd_shutdown_f_ops;
> >
> > mfile = mfile->next;
>
> This change may get rid of the warning, but is has the slight
> disadvantage that the kernel will blow up if you try to unload the sound
> modules before all device files have been closed.
>
> If you want to get rid of this warning, tell the compiler that fops_get
> knows what it does; or try making fops_get an inline function instead of
> a macro.

This was already fixed in a different way on 2.6.25-rc.

commit bc9abce0de0b180817bc7e9f73145ef0b6a464ef
Author: Miguel Boton <mboton@xxxxxxxxx>
Date: Sun Jan 13 12:03:53 2008 +0100

[ALSA] fix compilation warning in GCC

'snd_shutdown_f_ops' is not a pointer so its address will never be NULL.
GCC will complain because 'fops_get' will do an unnecessary check because
'&snd_shutdown_f_ops' is always true.


Takashi
--
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/