Re: çå: çå: çå: [PATCH 1/1] sound: Fix compile error of seq_device.c
From: Takashi Iwai
Date: Tue Jun 21 2016 - 06:05:15 EST
On Tue, 21 Jun 2016 11:57:28 +0200,
éå wrote:
>
> Oh, I get it.
>
> I met the compile error when compile the kernel 3.10 on CentOS7 and fix it, then I find the seq_device of upstream is same.
> So I thought it should be fixed.
>
> OK. Let me compile the upstream codes on CentOS7 again.
Well, I see a potential problem even in the upstream, but it's only
when CONFIG_LTO is set. However, CONFIG_LTO isn't used any other
places (or even set) in the upstream tree yet, so the issue must not
happen there.
And yet, even if CONFIG_LTO is enabled, the first place to be fixed is
rather in include/linux/init.h, not each code calling module_init()
without a terminator semicolon. There are lots of such codes in the
tree, and calls of init/exit without semicolon are official ways.
Though, having semicolons looks nicer nowadays, so it'd make sense to
add semicolons in the end. If so, we may fix all of them in a shot by
a script.
Takashi
>
> -----éäåä-----
> åää: Takashi Iwai [mailto:tiwai@xxxxxxx]
> åéæé: 2016å6æ21æ 17:54
> æää: éå <fgao@xxxxxxxxxx>
> æé: alsa-devel@xxxxxxxxxxxxxxxx; perex@xxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx; gfree.wind@xxxxxxxxx
> äé: Re: çå: çå: [PATCH 1/1] sound: Fix compile error of seq_device.c
>
> On Tue, 21 Jun 2016 11:35:39 +0200,
> éå wrote:
> >
> > I have sent the new commit with the compile errors.
> > Is it ok now?
> >
> > BTW, I think the compile error is caused by that "subsys_initcall" statement losts the semicolon.
>
> Does this happen with the latest upstream kernel code at all...?
>
>
> Takashi
>
> >
> > -----éäåä-----
> > åää: Takashi Iwai [mailto:tiwai@xxxxxxx]
> > åéæé: 2016å6æ21æ 17:20
> > æää: éå <fgao@xxxxxxxxxx>
> > æé: alsa-devel@xxxxxxxxxxxxxxxx; perex@xxxxxxxx;
> > linux-kernel@xxxxxxxxxxxxxxx; gfree.wind@xxxxxxxxx
> > äé: Re: çå: [PATCH 1/1] sound: Fix compile error of seq_device.c
> >
> > On Tue, 21 Jun 2016 10:48:30 +0200,
> > éå wrote:
> > >
> > > The lastest CentOS7 platform, and the gcc version is gcc version
> > > 4.8.5
> > > 20150623 (Red Hat 4.8.5-4) (GCC).
> > > It could pass compilation after append the lost semicolon.
> > >
> > > from sound/core/seq/seq_device.c:39:
> > > include/linux/init.h:216:2: error: expected â,â or â;â before âstaticâ
> > > static exitcall_t __exitcall_##fn __exit_call = fn
> > > ^
> > > include/linux/init.h:279:24: note: in expansion of macro â__exitcallâ
> > > #define module_exit(x) __exitcall(x);
> > > ^
> > > sound/core/seq/seq_device.c:315:1: note: in expansion of macro
> > > âmodule_exitâ
> > > module_exit(alsa_seq_device_exit)
> > > ^
> > > make[3]: *** [sound/core/seq/seq_device.o] Error 1
> > > make[2]: *** [sound/core/seq] Error 2
> > > make[1]: *** [sound/core] Error 2
> > > make: *** [sound] Error 2
> >
> > It's a RH specific issue. The upstream code has a different definition of module_init(), thus no such an error would occur.
> >
> > Note that I'm fine to apply the patch, it's a trivial change.
> > But you need to give the clear reason why to apply it. In this case, it's no fault of the upstream code. But if it would make someone's life a bit easier, it's OK to apply such a change.
> >
> > That being said, please resubmit the patch with a more explanation.
> >
> >
> > thanks,
> >
> > Takashi
> >
> > >
> > > -----éäåä-----
> > > åää: Takashi Iwai [mailto:tiwai@xxxxxxx]
> > > åéæé: 2016å6æ21æ 16:45
> > > æää: fgao@xxxxxxxxxx
> > > æé: alsa-devel@xxxxxxxxxxxxxxxx; perex@xxxxxxxx; linux-kernel@xxxxxxxxxxxx
> > > org; gfree.wind@xxxxxxxxx
> > > äé: Re: [PATCH 1/1] sound: Fix compile error of seq_device.c
> > >
> > > On Tue, 21 Jun 2016 10:34:25 +0200,
> > > <fgao@xxxxxxxxxx> wrote:
> > > >
> > > > From: Gao Feng <fgao@xxxxxxxxxx>
> > > >
> > > > Signed-off-by: Gao Feng <fgao@xxxxxxxxxx>
> > >
> > > What compile error did you get?
> > >
> > >
> > > Takashi
> > >
> > > > ---
> > > > sound/core/seq/seq_device.c | 4 ++--
> > > > 1 file changed, 2 insertions(+), 2 deletions(-)
> > > >
> > > > diff --git a/sound/core/seq/seq_device.c
> > > > b/sound/core/seq/seq_device.c index c4acf17..4e859e4 100644
> > > > --- a/sound/core/seq/seq_device.c
> > > > +++ b/sound/core/seq/seq_device.c
> > > > @@ -311,5 +311,5 @@ static void __exit alsa_seq_device_exit(void)
> > > > bus_unregister(&snd_seq_bus_type);
> > > > }
> > > >
> > > > -subsys_initcall(alsa_seq_device_init)
> > > > -module_exit(alsa_seq_device_exit)
> > > > +subsys_initcall(alsa_seq_device_init);
> > > > +module_exit(alsa_seq_device_exit);
> > > > --
> > > > 1.9.1
> > > >
> > > >
> > > >
> > > >
> > > >
> > >
> > >
> > >
> >
> >
> >
>
>
>