At Wed, 27 Aug 2008 10:19:35 +0200, Tejun Heo wrote:
sound/sound_core.c implements soundcore.ko contains two parts - sound_class which is shared by both ALSA and OSS and device redirection support for OSS. It's always compiled when any sound support is enabled although it's necessary only when OSS (the actual one or emulation) is enabled. This is slightly wasteful and as device redirection always registers character device region for major 14, it prevents alternative implementation.
This patch introduces a new config SOUND_OSS_CORE which is selected iff OSS support is actually necessary and build the OSS core part conditionally.
If OSS is disabled, soundcore merely contains sound_class but leaving it that way seems to be the simplest approach as otherwise sound_class should be in ALSA core file if OSS is disabled but should be in soundcore if OSS is enabled and there's also the user confusion factor.
Signed-off-by: Tejun Heo tj@kernel.org
Thanks for the patch. I like the idea.
+config SOUND_OSS_CORE
- bool
- default n
source "sound/oss/dmasound/Kconfig"
This seems missing from the scope. But, I think this should be rather in the block "if SOUND_PRIME" below.
--- work.orig/sound/sound_core.c +++ work/sound/sound_core.c
(snip)
+MODULE_ALIAS_CHARDEV_MAJOR(SOUND_MAJOR);
This alias should be in #ifdef CONFIG_SOUND_OSS_CORE. The module doesn't provide that major without CONFIG_SOUND_OSS_CORE.
Takashi