Re: kernel 2.6.0, wrong Kconfig directives

From: Muli Ben-Yehuda
Date: Thu Dec 25 2003 - 14:53:20 EST


On Fri, Dec 26, 2003 at 04:20:21AM +0900, OGAWA Hirofumi wrote:
>
> > - SOUND_GAMEPORT option is always turned on
> >
> > ./drivers/input/gameport/Kconfig
> >
> > 22: config SOUND_GAMEPORT
> > 23: tristate
> > 24: default y if GAMEPORT!=m
> > 25: default m if GAMEPORT=m
> >
> > line 24 is definetly wrong, option is enabled if GAMEPORT=n.
>
> This patch uses "select" for the dependency of GAMEPORT.

This is wrong. It forces the joystick (GAMEPORT) in even when it's not
needed, whereas SOUND_GAMEPORT handles all cases fine. That way lies
kernel bloat. Please apply this documentation patch instead:

Index: drivers/input/gameport/Kconfig
===================================================================
RCS file: /home/muli/kernel/cvsroot/linux-2.5/drivers/input/gameport/Kconfig,v
retrieving revision 1.4
diff -u -u -r1.4 Kconfig
--- drivers/input/gameport/Kconfig 26 Sep 2003 00:23:18 -0000 1.4
+++ drivers/input/gameport/Kconfig 25 Dec 2003 19:48:49 -0000
@@ -19,6 +19,17 @@
To compile this driver as a module, choose M here: the
module will be called gameport.

+
+# Yes, this looks a bit odd. Yes, it ends up being turned on in lots
+# of cases. Please don't touch it. It is here to handle the case where
+# a sound driver can be either a module or compiled in if GAMEPORT is
+# not selected, but must be a module if the joystick is selected as a
+# module. The sound driver calls GAMEPORT functions. If GAMEPORT is
+# not selected, stubs are provided. If GAMEPORT is built in,
+# everything is fine. If GAMEPORT is a module, however, it would need
+# to be loaded for the sound driver to be able to link
+# properly. Therefore, the sound driver must be a module as well in
+# that case (and the GAMEPORT module must be loaded first).
config SOUND_GAMEPORT
tristate
default y if GAMEPORT!=m
--
Muli Ben-Yehuda
http://www.mulix.org | http://mulix.livejournal.com/

"the nucleus of linux oscillates my world" - gccbot@#offtopic

Attachment: signature.asc
Description: Digital signature