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.
-----邮件原件----- 发件人: Takashi Iwai [mailto:tiwai@suse.de] 发送时间: 2016年6月21日 17:54 收件人: 高峰 fgao@ikuai8.com 抄送: alsa-devel@alsa-project.org; perex@perex.cz; linux-kernel@vger.kernel.org; gfree.wind@gmail.com 主题: 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@suse.de] 发送时间: 2016年6月21日 17:20 收件人: 高峰 fgao@ikuai8.com 抄送: alsa-devel@alsa-project.org; perex@perex.cz; linux-kernel@vger.kernel.org; gfree.wind@gmail.com 主题: 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@suse.de] 发送时间: 2016年6月21日 16:45 收件人: fgao@ikuai8.com 抄送: alsa-devel@alsa-project.org; perex@perex.cz; linux-kernel@vger.kernel. org; gfree.wind@gmail.com 主题: Re: [PATCH 1/1] sound: Fix compile error of seq_device.c
On Tue, 21 Jun 2016 10:34:25 +0200, fgao@ikuai8.com wrote:
From: Gao Feng fgao@ikuai8.com
Signed-off-by: Gao Feng fgao@ikuai8.com
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