linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 6/8] Kconfig: cleanup input menu
@ 2005-01-29 22:20 Roman Zippel
  2005-01-29 22:50 ` Dmitry Torokhov
  0 siblings, 1 reply; 19+ messages in thread
From: Roman Zippel @ 2005-01-29 22:20 UTC (permalink / raw)
  To: Andrew Morton, linux-kernel; +Cc: linux-input


This properly indents the input menu.
Move SOUND_GAMEPORT to its user, so it's easier to set it to y, even if GAMEPORT is n.

Signed-off-by: Roman Zippel <zippel@linux-m68k.org>

---

 drivers/input/Kconfig          |    3 +++
 drivers/input/gameport/Kconfig |   21 +--------------------
 drivers/input/serio/Kconfig    |    3 ++-
 sound/oss/Kconfig              |   22 ++++++++++++++++++++++
 4 files changed, 28 insertions(+), 21 deletions(-)

Index: linux-2.6.11/sound/oss/Kconfig
===================================================================
--- linux-2.6.11.orig/sound/oss/Kconfig	2005-01-29 22:50:43.404946203 +0100
+++ linux-2.6.11/sound/oss/Kconfig	2005-01-29 22:56:42.549085439 +0100
@@ -3,6 +3,28 @@
 # 18 Apr 1998, Michael Elizabeth Chastain, <mailto:mec@shout.net>
 # More hacking for modularisation.
 #
+
+# Yes, SOUND_GAMEPORT looks a bit odd. Yes, it ends up being turned on
+# in every .config. Please don't touch it. It is here to handle an
+# unusual dependency between GAMEPORT and sound drivers.
+#
+# Some sound drivers call gameport functions. If GAMEPORT is
+# not selected, empty stubs are provided for the functions and all is
+# well.
+# 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. Since there's no way
+# to express that directly in Kconfig, we use SOUND_GAMEPORT to
+# express it. SOUND_GAMEPORT boils down to "if GAMEPORT is 'm',
+# anything that depends on SOUND_GAMEPORT must be 'm' as well. if
+# GAMEPORT is 'y' or 'n', it can be anything".
+config SOUND_GAMEPORT
+	tristate
+	depends on SOUND_PRIME
+	default m if GAMEPORT=m
+	default y
+
 # Prompt user for primary drivers.
 config SOUND_BT878
 	tristate "BT878 audio dma"
Index: linux-2.6.11/drivers/input/serio/Kconfig
===================================================================
--- linux-2.6.11.orig/drivers/input/serio/Kconfig	2005-01-29 22:50:43.404946203 +0100
+++ linux-2.6.11/drivers/input/serio/Kconfig	2005-01-29 22:56:42.549085439 +0100
@@ -3,6 +3,7 @@
 #
 config SERIO
 	tristate "Serial i/o support" if EMBEDDED || !X86
+	depends on INPUT
 	default y
 	---help---
 	  Say Yes here if you have any input device that uses serial I/O to
@@ -19,7 +20,7 @@ config SERIO
 config SERIO_I8042
 	tristate "i8042 PC Keyboard controller" if EMBEDDED || !X86
 	default y
-	select SERIO
+	depends on SERIO
 	depends on !PARISC && (!ARM || ARCH_SHARK || FOOTBRIDGE_HOST) && !M68K
 	---help---
 	  i8042 is the chip over which the standard AT keyboard and PS/2
Index: linux-2.6.11/drivers/input/gameport/Kconfig
===================================================================
--- linux-2.6.11.orig/drivers/input/gameport/Kconfig	2005-01-29 22:50:43.404946203 +0100
+++ linux-2.6.11/drivers/input/gameport/Kconfig	2005-01-29 22:56:42.549085439 +0100
@@ -3,6 +3,7 @@
 #
 config GAMEPORT
 	tristate "Gameport support"
+	depends on INPUT
 	---help---
 	  Gameport support is for the standard 15-pin PC gameport. If you
 	  have a joystick, gamepad, gameport card, a soundcard with a gameport
@@ -20,26 +21,6 @@ config GAMEPORT
 	  module will be called gameport.
 
 
-# Yes, SOUND_GAMEPORT looks a bit odd. Yes, it ends up being turned on
-# in every .config. Please don't touch it. It is here to handle an
-# unusual dependency between GAMEPORT and sound drivers.
-#
-# Some sound drivers call gameport functions. If GAMEPORT is
-# not selected, empty stubs are provided for the functions and all is
-# well.
-# 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. Since there's no way
-# to express that directly in Kconfig, we use SOUND_GAMEPORT to
-# express it. SOUND_GAMEPORT boils down to "if GAMEPORT is 'm',
-# anything that depends on SOUND_GAMEPORT must be 'm' as well. if
-# GAMEPORT is 'y' or 'n', it can be anything".
-config SOUND_GAMEPORT
-	tristate
-	default y if GAMEPORT!=m
-	default m if GAMEPORT=m
-
 config GAMEPORT_NS558
 	tristate "Classic ISA and PnP gameport support"
 	depends on GAMEPORT
Index: linux-2.6.11/drivers/input/Kconfig
===================================================================
--- linux-2.6.11.orig/drivers/input/Kconfig	2005-01-29 22:50:43.404946203 +0100
+++ linux-2.6.11/drivers/input/Kconfig	2005-01-29 22:56:42.549085439 +0100
@@ -23,6 +23,7 @@ config INPUT
 	  module will be called input.
 
 comment "Userland interfaces"
+	depends on INPUT
 
 config INPUT_MOUSEDEV
 	tristate "Mouse interface" if EMBEDDED
@@ -135,12 +136,14 @@ config INPUT_EVBUG
 	  module will be called evbug.
 
 comment "Input I/O drivers"
+	depends on INPUT
 
 source "drivers/input/gameport/Kconfig"
 
 source "drivers/input/serio/Kconfig"
 
 comment "Input Device Drivers"
+	depends on INPUT
 
 source "drivers/input/keyboard/Kconfig"
 

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH 6/8] Kconfig: cleanup input menu
  2005-01-29 22:20 [PATCH 6/8] Kconfig: cleanup input menu Roman Zippel
@ 2005-01-29 22:50 ` Dmitry Torokhov
  2005-01-29 23:20   ` Roman Zippel
  0 siblings, 1 reply; 19+ messages in thread
From: Dmitry Torokhov @ 2005-01-29 22:50 UTC (permalink / raw)
  To: linux-input; +Cc: Roman Zippel, Andrew Morton, linux-kernel

On Saturday 29 January 2005 17:20, Roman Zippel wrote:
> --- linux-2.6.11.orig/drivers/input/serio/Kconfig       2005-01-29 22:50:43.404946203 +0100
> +++ linux-2.6.11/drivers/input/serio/Kconfig    2005-01-29 22:56:42.549085439 +0100
> @@ -3,6 +3,7 @@
>  #
>  config SERIO
>         tristate "Serial i/o support" if EMBEDDED || !X86
> +       depends on INPUT

????

serio_raw works fine without INPUT.

-- 
Dmitry

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH 6/8] Kconfig: cleanup input menu
  2005-01-29 22:50 ` Dmitry Torokhov
@ 2005-01-29 23:20   ` Roman Zippel
  2005-01-29 23:40     ` Dmitry Torokhov
  0 siblings, 1 reply; 19+ messages in thread
From: Roman Zippel @ 2005-01-29 23:20 UTC (permalink / raw)
  To: Dmitry Torokhov; +Cc: linux-input, Andrew Morton, linux-kernel

[-- Attachment #1: Type: TEXT/PLAIN, Size: 819 bytes --]

Hi,

On Sat, 29 Jan 2005, Dmitry Torokhov wrote:

> On Saturday 29 January 2005 17:20, Roman Zippel wrote:
> > --- linux-2.6.11.orig/drivers/input/serio/Kconfig       2005-01-29 22:50:43.404946203 +0100
> > +++ linux-2.6.11/drivers/input/serio/Kconfig    2005-01-29 22:56:42.549085439 +0100
> > @@ -3,6 +3,7 @@
> >  #
> >  config SERIO
> >         tristate "Serial i/o support" if EMBEDDED || !X86
> > +       depends on INPUT
> 
> ????
> 
> serio_raw works fine without INPUT.

All current serio users depend on INPUT, it's maybe not a strict 
dependency, but it pretty much needs INPUT anyway to be usable, so I don't 
see the problem.
The alternative is to move it completely out of the input menu, if it's 
really that important for the user being able to select it without input.

bye, Roman

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH 6/8] Kconfig: cleanup input menu
  2005-01-29 23:20   ` Roman Zippel
@ 2005-01-29 23:40     ` Dmitry Torokhov
  2005-01-29 23:56       ` Roman Zippel
  0 siblings, 1 reply; 19+ messages in thread
From: Dmitry Torokhov @ 2005-01-29 23:40 UTC (permalink / raw)
  To: Roman Zippel; +Cc: linux-input, Andrew Morton, linux-kernel

On Saturday 29 January 2005 18:20, Roman Zippel wrote:
> Hi,
> 
> On Sat, 29 Jan 2005, Dmitry Torokhov wrote:
> 
> > On Saturday 29 January 2005 17:20, Roman Zippel wrote:
> > > --- linux-2.6.11.orig/drivers/input/serio/Kconfig       2005-01-29 22:50:43.404946203 +0100
> > > +++ linux-2.6.11/drivers/input/serio/Kconfig    2005-01-29 22:56:42.549085439 +0100
> > > @@ -3,6 +3,7 @@
> > >  #
> > >  config SERIO
> > >         tristate "Serial i/o support" if EMBEDDED || !X86
> > > +       depends on INPUT
> > 
> > ????
> > 
> > serio_raw works fine without INPUT.
> 
> All current serio users depend on INPUT, it's maybe not a strict 
> dependency, but it pretty much needs INPUT anyway to be usable, so I don't 
> see the problem.
> The alternative is to move it completely out of the input menu, if it's 
> really that important for the user being able to select it without input.
> 

I can assure you that serio_raw driver _does not_ use input system - it is
implementation of pre 2.6 /dev/psaux interface giving you access to raw AUX
data. It was written so we can still use PS/2 devices for which we don't have
proper in-kernel driver but have working userspace solution. It completely
bypasses input layer.
 
-- 
Dmitry

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH 6/8] Kconfig: cleanup input menu
  2005-01-29 23:40     ` Dmitry Torokhov
@ 2005-01-29 23:56       ` Roman Zippel
  2005-01-30  0:32         ` Dmitry Torokhov
  0 siblings, 1 reply; 19+ messages in thread
From: Roman Zippel @ 2005-01-29 23:56 UTC (permalink / raw)
  To: Dmitry Torokhov; +Cc: linux-input, Andrew Morton, linux-kernel

Hi,

On Sat, 29 Jan 2005, Dmitry Torokhov wrote:

> I can assure you that serio_raw driver _does not_ use input system - it is
> implementation of pre 2.6 /dev/psaux interface giving you access to raw AUX
> data. It was written so we can still use PS/2 devices for which we don't have
> proper in-kernel driver but have working userspace solution. It completely
> bypasses input layer.

That's fine, but why is it in the input menu? How do you suggest to make 
it selectable without selecting input and without messing the menu 
structure?

bye, Roman

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH 6/8] Kconfig: cleanup input menu
  2005-01-29 23:56       ` Roman Zippel
@ 2005-01-30  0:32         ` Dmitry Torokhov
  2005-01-30  1:16           ` Roman Zippel
  0 siblings, 1 reply; 19+ messages in thread
From: Dmitry Torokhov @ 2005-01-30  0:32 UTC (permalink / raw)
  To: Roman Zippel; +Cc: linux-input, Andrew Morton, linux-kernel

On Saturday 29 January 2005 18:56, Roman Zippel wrote:
> Hi,
> 
> On Sat, 29 Jan 2005, Dmitry Torokhov wrote:
> 
> > I can assure you that serio_raw driver _does not_ use input system - it is
> > implementation of pre 2.6 /dev/psaux interface giving you access to raw AUX
> > data. It was written so we can still use PS/2 devices for which we don't have
> > proper in-kernel driver but have working userspace solution. It completely
> > bypasses input layer.
> 
> That's fine, but why is it in the input menu? How do you suggest to make 
> it selectable without selecting input and without messing the menu 
> structure?
> 

Well, probably split input into sections, one of the options would be
something like "Generic Input Layer" and have evdev, mousedev, etc
depend on it. serio will not depend on it... nor will gameport as
I can see someone wanting gameport_raw.

-- 
Dmitry

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH 6/8] Kconfig: cleanup input menu
  2005-01-30  0:32         ` Dmitry Torokhov
@ 2005-01-30  1:16           ` Roman Zippel
  2005-01-30  2:27             ` Dmitry Torokhov
  0 siblings, 1 reply; 19+ messages in thread
From: Roman Zippel @ 2005-01-30  1:16 UTC (permalink / raw)
  To: Dmitry Torokhov; +Cc: linux-input, Andrew Morton, linux-kernel

Hi,

On Sat, 29 Jan 2005, Dmitry Torokhov wrote:

> > That's fine, but why is it in the input menu? How do you suggest to make 
> > it selectable without selecting input and without messing the menu 
> > structure?
> 
> Well, probably split input into sections, one of the options would be
> something like "Generic Input Layer" and have evdev, mousedev, etc
> depend on it. serio will not depend on it... nor will gameport as
> I can see someone wanting gameport_raw.

That's not the point of my patch. Feel free to restructure the input menu, 
if you need help you can ask me, but is there any practically relevant 
reason, that serio_raw must not depend on INPUT right now?

bye, Roman

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH 6/8] Kconfig: cleanup input menu
  2005-01-30  1:16           ` Roman Zippel
@ 2005-01-30  2:27             ` Dmitry Torokhov
  2005-01-30  3:22               ` Roman Zippel
  0 siblings, 1 reply; 19+ messages in thread
From: Dmitry Torokhov @ 2005-01-30  2:27 UTC (permalink / raw)
  To: Roman Zippel; +Cc: linux-input, Andrew Morton, linux-kernel

On Saturday 29 January 2005 20:16, Roman Zippel wrote:
> Hi,
> 
> On Sat, 29 Jan 2005, Dmitry Torokhov wrote:
> 
> > > That's fine, but why is it in the input menu? How do you suggest to make 
> > > it selectable without selecting input and without messing the menu 
> > > structure?
> > 
> > Well, probably split input into sections, one of the options would be
> > something like "Generic Input Layer" and have evdev, mousedev, etc
> > depend on it. serio will not depend on it... nor will gameport as
> > I can see someone wanting gameport_raw.
> 
> That's not the point of my patch. Feel free to restructure the input menu, 
> if you need help you can ask me, but is there any practically relevant 
> reason, that serio_raw must not depend on INPUT right now?
> 

Well, with the current Kconfig I can de-select INPUT and still select
serio and serio_raw and access my AUX port via /dev/psaux. I don't know
if anyone would really do it, but why not?

Btw, what was the point of your patch?
 

-- 
Dmitry

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH 6/8] Kconfig: cleanup input menu
  2005-01-30  2:27             ` Dmitry Torokhov
@ 2005-01-30  3:22               ` Roman Zippel
  2005-01-30  4:07                 ` Dmitry Torokhov
  0 siblings, 1 reply; 19+ messages in thread
From: Roman Zippel @ 2005-01-30  3:22 UTC (permalink / raw)
  To: Dmitry Torokhov; +Cc: linux-input, Andrew Morton, linux-kernel

Hi,

On Sat, 29 Jan 2005, Dmitry Torokhov wrote:

> Well, with the current Kconfig I can de-select INPUT and still select
> serio and serio_raw and access my AUX port via /dev/psaux. I don't know
> if anyone would really do it, but why not?
> 
> Btw, what was the point of your patch?

See the subject. The current input Kconfig menu is already quite complex 
for a lot of people, we don't have to confuse them further with a chaotic 
menu structure. I only did the minimal fixes to get it into proper shape 
with an acceptable compromise. Feel free to take it from here to also make 
it technically correct.

bye, Roman

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH 6/8] Kconfig: cleanup input menu
  2005-01-30  3:22               ` Roman Zippel
@ 2005-01-30  4:07                 ` Dmitry Torokhov
  2005-01-30 15:45                   ` Roman Zippel
  0 siblings, 1 reply; 19+ messages in thread
From: Dmitry Torokhov @ 2005-01-30  4:07 UTC (permalink / raw)
  To: linux-input; +Cc: Roman Zippel, Andrew Morton, linux-kernel

On Saturday 29 January 2005 22:22, Roman Zippel wrote:
> Hi,
> 
> On Sat, 29 Jan 2005, Dmitry Torokhov wrote:
> 
> > Well, with the current Kconfig I can de-select INPUT and still select
> > serio and serio_raw and access my AUX port via /dev/psaux. I don't know
> > if anyone would really do it, but why not?
> > 
> > Btw, what was the point of your patch?
> 
> See the subject. The current input Kconfig menu is already quite complex 
> for a lot of people, we don't have to confuse them further with a chaotic 
> menu structure. I only did the minimal fixes to get it into proper shape 
> with an acceptable compromise. Feel free to take it from here to also make 
> it technically correct.
> 

Ok, what about making some submenus to manage number of options, like in
the patch below?

-- 
Dmitry

===== drivers/input/Kconfig 1.8 vs edited =====
--- 1.8/drivers/input/Kconfig	2005-01-15 17:31:06 -05:00
+++ edited/drivers/input/Kconfig	2005-01-29 22:53:30 -05:00
@@ -4,8 +4,14 @@
 
 menu "Input device support"
 
+comment "Hardware I/O ports"
+
+source "drivers/input/serio/Kconfig"
+
+source "drivers/input/gameport/Kconfig"
+
 config INPUT
-	tristate "Input devices (needed for keyboard, mouse, ...)" if EMBEDDED
+	tristate "Generic input layer (needed for keyboard, mouse, ...)" if EMBEDDED
 	default y
 	---help---
 	  Say Y here if you have any input device (mouse, keyboard, tablet,
@@ -23,6 +29,7 @@
 	  module will be called input.
 
 comment "Userland interfaces"
+	depends on INPUT
 
 config INPUT_MOUSEDEV
 	tristate "Mouse interface" if EMBEDDED
@@ -134,13 +141,8 @@
 	  To compile this driver as a module, choose M here: the
 	  module will be called evbug.
 
-comment "Input I/O drivers"
-
-source "drivers/input/gameport/Kconfig"
-
-source "drivers/input/serio/Kconfig"
-
 comment "Input Device Drivers"
+	depends on INPUT
 
 source "drivers/input/keyboard/Kconfig"
 
===== drivers/input/gameport/Kconfig 1.5 vs edited =====
--- 1.5/drivers/input/gameport/Kconfig	2005-01-08 00:43:50 -05:00
+++ edited/drivers/input/gameport/Kconfig	2005-01-29 22:50:38 -05:00
@@ -1,6 +1,8 @@
 #
 # Gameport configuration
 #
+menu "Gameport support"
+
 config GAMEPORT
 	tristate "Gameport support"
 	---help---
@@ -88,3 +90,4 @@
 	tristate "Crystal SoundFusion gameport support"
 	depends on GAMEPORT
 
+endmenu
===== drivers/input/joystick/Kconfig 1.10 vs edited =====
--- 1.10/drivers/input/joystick/Kconfig	2005-01-27 02:13:43 -05:00
+++ edited/drivers/input/joystick/Kconfig	2005-01-29 22:59:51 -05:00
@@ -1,6 +1,8 @@
 #
 # Joystick driver configuration
 #
+menu "Joysticks"
+
 config INPUT_JOYSTICK
 	bool "Joysticks"
 	depends on INPUT
@@ -258,3 +260,4 @@
 	  To compile this driver as a module, choose M here: the
 	  module will be called joydump.
 
+endmenu
===== drivers/input/keyboard/Kconfig 1.15 vs edited =====
--- 1.15/drivers/input/keyboard/Kconfig	2004-09-22 01:48:17 -05:00
+++ edited/drivers/input/keyboard/Kconfig	2005-01-29 22:59:34 -05:00
@@ -1,6 +1,8 @@
 #
 # Input core configuration
 #
+menu "Keyboards"
+
 config INPUT_KEYBOARD
 	bool "Keyboards" if EMBEDDED || !X86
 	default y
@@ -97,3 +99,5 @@
 
 	  To compile this driver as a module, choose M here: the
 	  module will be called amikbd.
+
+endmenu
===== drivers/input/misc/Kconfig 1.11 vs edited =====
--- 1.11/drivers/input/misc/Kconfig	2005-01-15 17:31:06 -05:00
+++ edited/drivers/input/misc/Kconfig	2005-01-29 23:04:17 -05:00
@@ -1,6 +1,8 @@
 #
 # Input misc drivers configuration
 #
+menu "Miscellaneous devices"
+
 config INPUT_MISC
 	bool "Misc"
 	depends on INPUT
@@ -49,3 +51,4 @@
 	  To compile this driver as a module, choose M here: the
 	  module will be called uinput.
 
+endmenu
===== drivers/input/mouse/Kconfig 1.21 vs edited =====
--- 1.21/drivers/input/mouse/Kconfig	2005-01-15 17:31:06 -05:00
+++ edited/drivers/input/mouse/Kconfig	2005-01-29 23:01:25 -05:00
@@ -1,6 +1,8 @@
 #
 # Mouse driver configuration
 #
+menu "Mice"
+
 config INPUT_MOUSE
 	bool "Mice"
 	default y
@@ -129,3 +131,4 @@
 	  described in the source file). This driver also works with the
 	  digitizer (VSXXX-AB) DEC produced.
 
+endmenu
===== drivers/input/serio/Kconfig 1.21 vs edited =====
--- 1.21/drivers/input/serio/Kconfig	2005-01-04 11:16:51 -05:00
+++ edited/drivers/input/serio/Kconfig	2005-01-29 22:48:56 -05:00
@@ -1,12 +1,14 @@
 #
 # Input core configuration
 #
+menu "PS/2 and serial port support"
+
 config SERIO
-	tristate "Serial i/o support" if EMBEDDED || !X86
+	tristate "Serial I/O support" if EMBEDDED || !X86
 	default y
 	---help---
 	  Say Yes here if you have any input device that uses serial I/O to
-	  communicate with the system. This includes the 
+	  communicate with the system. This includes the
 	  		* standard AT keyboard and PS/2 mouse *
 	  as well as serial mice, Sun keyboards, some joysticks and 6dof
 	  devices and more.
@@ -19,8 +21,7 @@
 config SERIO_I8042
 	tristate "i8042 PC Keyboard controller" if EMBEDDED || !X86
 	default y
-	select SERIO
-	depends on !PARISC && (!ARM || ARCH_SHARK || FOOTBRIDGE_HOST) && !M68K
+	depends on SERIO && !PARISC && (!ARM || ARCH_SHARK || FOOTBRIDGE_HOST) && !M68K
 	---help---
 	  i8042 is the chip over which the standard AT keyboard and PS/2
 	  mouse are connected to the computer. If you use these devices,
@@ -156,3 +157,5 @@
 
 	  To compile this driver as a module, choose M here: the
 	  module will be called serio_raw.
+
+endmenu
===== drivers/input/touchscreen/Kconfig 1.4 vs edited =====
--- 1.4/drivers/input/touchscreen/Kconfig	2003-09-24 22:34:24 -05:00
+++ edited/drivers/input/touchscreen/Kconfig	2005-01-29 23:00:16 -05:00
@@ -1,6 +1,8 @@
 #
 # Mouse driver configuration
 #
+menu "Touchscreens"
+
 config INPUT_TOUCHSCREEN
 	bool "Touchscreens"
 	depends on INPUT
@@ -35,3 +37,4 @@
 	  To compile this driver as a module, choose M here: the
 	  module will be called gunze.
 
+endmenu

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH 6/8] Kconfig: cleanup input menu
  2005-01-30  4:07                 ` Dmitry Torokhov
@ 2005-01-30 15:45                   ` Roman Zippel
  2005-01-30 23:39                     ` Dmitry Torokhov
  2005-02-04 14:42                     ` Vojtech Pavlik
  0 siblings, 2 replies; 19+ messages in thread
From: Roman Zippel @ 2005-01-30 15:45 UTC (permalink / raw)
  To: Dmitry Torokhov; +Cc: linux-input, Andrew Morton, linux-kernel

Hi,

On Sat, 29 Jan 2005, Dmitry Torokhov wrote:

> Ok, what about making some submenus to manage number of options, like in
> the patch below?

I'd rather move it to the bottom and the menus had no dependencies.
Below is an alternative patch, which does a rather complete cleanup.

bye, Roman

---

 Kconfig             |   25 +++++++++++++------------
 gameport/Kconfig    |   48 ++++++++++++++++++++++--------------------------
 joystick/Kconfig    |   44 ++++++++++++++++++++------------------------
 keyboard/Kconfig    |   16 +++++++---------
 misc/Kconfig        |   15 ++++++++-------
 mouse/Kconfig       |   23 +++++++++++------------
 serio/Kconfig       |   29 ++++++++++++++---------------
 touchscreen/Kconfig |    9 +++++----
 8 files changed, 100 insertions(+), 109 deletions(-)

Index: linux-2.6.11/drivers/input/keyboard/Kconfig
===================================================================
--- linux-2.6.11.orig/drivers/input/keyboard/Kconfig	2005-01-30 15:43:04.069685134 +0100
+++ linux-2.6.11/drivers/input/keyboard/Kconfig	2005-01-30 16:33:35.137048741 +0100
@@ -1,20 +1,20 @@
 #
 # Input core configuration
 #
-config INPUT_KEYBOARD
+menuconfig INPUT_KEYBOARD
 	bool "Keyboards" if EMBEDDED || !X86
 	default y
-	depends on INPUT
 	help
 	  Say Y here, and a list of supported keyboards will be displayed.
 	  This option doesn't affect the kernel.
 
 	  If unsure, say Y.
 
+if INPUT_KEYBOARD
+
 config KEYBOARD_ATKBD
 	tristate "AT keyboard support" if !PC
 	default y
-	depends on INPUT && INPUT_KEYBOARD
 	select SERIO
 	select SERIO_LIBPS2
 	select SERIO_I8042 if PC
@@ -32,7 +32,6 @@ config KEYBOARD_ATKBD
 
 config KEYBOARD_SUNKBD
 	tristate "Sun Type 4 and Type 5 keyboard support"
-	depends on INPUT && INPUT_KEYBOARD
 	select SERIO
 	help
 	  Say Y here if you want to use a Sun Type 4 or Type 5 keyboard,
@@ -44,7 +43,6 @@ config KEYBOARD_SUNKBD
 
 config KEYBOARD_LKKBD
 	tristate "DECstation/VAXstation LK201/LK401 keyboard support"
-	depends on INPUT && INPUT_KEYBOARD
 	select SERIO
 	help
 	  Say Y here if you want to use a LK201 or LK401 style serial
@@ -57,7 +55,6 @@ config KEYBOARD_LKKBD
 
 config KEYBOARD_XTKBD
 	tristate "XT Keyboard support"
-	depends on INPUT && INPUT_KEYBOARD
 	select SERIO
 	help
 	  Say Y here if you want to use the old IBM PC/XT keyboard (or
@@ -70,7 +67,6 @@ config KEYBOARD_XTKBD
 
 config KEYBOARD_NEWTON
 	tristate "Newton keyboard"
-	depends on INPUT && INPUT_KEYBOARD
 	select SERIO
 	help
 	  Say Y here if you have a Newton keyboard on a serial port.
@@ -80,7 +76,7 @@ config KEYBOARD_NEWTON
 
 config KEYBOARD_MAPLE
 	tristate "Maple bus keyboard support"
-	depends on SH_DREAMCAST && INPUT && INPUT_KEYBOARD && MAPLE
+	depends on SH_DREAMCAST && MAPLE
 	help
 	  Say Y here if you have a DreamCast console running Linux and have
 	  a keyboard attached to its Maple bus.
@@ -90,10 +86,12 @@ config KEYBOARD_MAPLE
 
 config KEYBOARD_AMIGA
 	tristate "Amiga keyboard"
-	depends on AMIGA && INPUT && INPUT_KEYBOARD
+	depends on AMIGA
 	help
 	  Say Y here if you are running Linux on any AMIGA and have a keyboard
 	  attached.
 
 	  To compile this driver as a module, choose M here: the
 	  module will be called amikbd.
+
+endif
Index: linux-2.6.11/drivers/input/serio/Kconfig
===================================================================
--- linux-2.6.11.orig/drivers/input/serio/Kconfig	2005-01-30 15:43:04.069685134 +0100
+++ linux-2.6.11/drivers/input/serio/Kconfig	2005-01-30 16:29:01.445229130 +0100
@@ -2,11 +2,11 @@
 # Input core configuration
 #
 config SERIO
-	tristate "Serial i/o support" if EMBEDDED || !X86
+	tristate "Serial I/O support" if EMBEDDED || !X86
 	default y
 	---help---
 	  Say Yes here if you have any input device that uses serial I/O to
-	  communicate with the system. This includes the 
+	  communicate with the system. This includes the
 	  		* standard AT keyboard and PS/2 mouse *
 	  as well as serial mice, Sun keyboards, some joysticks and 6dof
 	  devices and more.
@@ -16,10 +16,11 @@ config SERIO
 	  To compile this driver as a module, choose M here: the
 	  module will be called serio.
 
+if SERIO
+
 config SERIO_I8042
 	tristate "i8042 PC Keyboard controller" if EMBEDDED || !X86
 	default y
-	select SERIO
 	depends on !PARISC && (!ARM || ARCH_SHARK || FOOTBRIDGE_HOST) && !M68K
 	---help---
 	  i8042 is the chip over which the standard AT keyboard and PS/2
@@ -34,7 +35,6 @@ config SERIO_I8042
 config SERIO_SERPORT
 	tristate "Serial port line discipline"
 	default y
-	depends on SERIO
 	---help---
 	  Say Y here if you plan to use an input device (mouse, joystick,
 	  tablet, 6dof) that communicates over the RS232 serial (COM) port.
@@ -48,7 +48,6 @@ config SERIO_SERPORT
 
 config SERIO_CT82C710
 	tristate "ct82c710 Aux port controller"
-	depends on SERIO
 	depends on !PARISC
 	---help---
 	  Say Y here if you have a Texas Instruments TravelMate notebook
@@ -62,11 +61,11 @@ config SERIO_CT82C710
 
 config SERIO_Q40KBD
 	tristate "Q40 keyboard controller"
-	depends on Q40 && SERIO
+	depends on Q40
 
 config SERIO_PARKBD
 	tristate "Parallel port keyboard adapter"
-	depends on SERIO && PARPORT
+	depends on PARPORT
 	---help---
 	  Say Y here if you built a simple parallel port adapter to attach
 	  an additional AT keyboard, XT keyboard or PS/2 mouse.
@@ -80,7 +79,7 @@ config SERIO_PARKBD
 
 config SERIO_RPCKBD
 	tristate "Acorn RiscPC keyboard controller"
-	depends on (ARCH_ACORN || ARCH_CLPS7500) && SERIO
+	depends on ARCH_ACORN || ARCH_CLPS7500
 	default y
 	help
 	  Say Y here if you have the Acorn RiscPC and want to use an AT
@@ -91,15 +90,15 @@ config SERIO_RPCKBD
 
 config SERIO_AMBAKMI
 	tristate "AMBA KMI keyboard controller"
-	depends on ARM_AMBA && SERIO
+	depends on ARM_AMBA
 
 config SERIO_SA1111
 	tristate "Intel SA1111 keyboard controller"
-	depends on SA1111 && SERIO
+	depends on SA1111
 
 config SERIO_GSCPS2
 	tristate "HP GSC PS/2 keyboard and PS/2 mouse controller"
-	depends on GSC && SERIO
+	depends on GSC
 	default y
 	help
 	  This driver provides support for the PS/2 ports on PA-RISC machines
@@ -113,7 +112,7 @@ config SERIO_GSCPS2
 
 config SERIO_PCIPS2
 	tristate "PCI PS/2 keyboard and PS/2 mouse controller"
-	depends on PCI && SERIO
+	depends on PCI
 	help
 	  Say Y here if you have a Mobility Docking station with PS/2
 	  keyboard and mice ports.
@@ -123,7 +122,7 @@ config SERIO_PCIPS2
 
 config SERIO_MACEPS2
 	tristate "SGI O2 MACE PS/2 controller"
-	depends on SGI_IP32 && SERIO
+	depends on SGI_IP32
 	help
 	  Say Y here if you have SGI O2 workstation and want to use its
 	  PS/2 ports.
@@ -133,7 +132,6 @@ config SERIO_MACEPS2
 
 config SERIO_LIBPS2
 	tristate "PS/2 driver library" if EMBEDDED
-	depends on SERIO
 	help
 	  Say Y here if you are using a driver for device connected
 	  to a PS/2 port, such as PS/2 mouse or standard AT keyboard.
@@ -143,7 +141,6 @@ config SERIO_LIBPS2
 
 config SERIO_RAW
 	tristate "Raw access to serio ports"
-	depends on SERIO
 	help
 	  Say Y here if you want to have raw access to serio ports, such as
 	  AUX ports on i8042 keyboard controller. Each serio port that is
@@ -156,3 +153,5 @@ config SERIO_RAW
 
 	  To compile this driver as a module, choose M here: the
 	  module will be called serio_raw.
+
+endif
Index: linux-2.6.11/drivers/input/gameport/Kconfig
===================================================================
--- linux-2.6.11.orig/drivers/input/gameport/Kconfig	2005-01-30 15:43:04.068685306 +0100
+++ linux-2.6.11/drivers/input/gameport/Kconfig	2005-01-30 16:27:26.925528339 +0100
@@ -19,30 +19,10 @@ config GAMEPORT
 	  To compile this driver as a module, choose M here: the
 	  module will be called gameport.
 
-
-# Yes, SOUND_GAMEPORT looks a bit odd. Yes, it ends up being turned on
-# in every .config. Please don't touch it. It is here to handle an
-# unusual dependency between GAMEPORT and sound drivers.
-#
-# Some sound drivers call gameport functions. If GAMEPORT is
-# not selected, empty stubs are provided for the functions and all is
-# well.
-# 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. Since there's no way
-# to express that directly in Kconfig, we use SOUND_GAMEPORT to
-# express it. SOUND_GAMEPORT boils down to "if GAMEPORT is 'm',
-# anything that depends on SOUND_GAMEPORT must be 'm' as well. if
-# GAMEPORT is 'y' or 'n', it can be anything".
-config SOUND_GAMEPORT
-	tristate
-	default y if GAMEPORT!=m
-	default m if GAMEPORT=m
+if GAMEPORT
 
 config GAMEPORT_NS558
 	tristate "Classic ISA and PnP gameport support"
-	depends on GAMEPORT
 	help
 	  Say Y here if you have an ISA or PnP gameport.
 
@@ -53,7 +33,6 @@ config GAMEPORT_NS558
 
 config GAMEPORT_L4
 	tristate "PDPI Lightning 4 gamecard support"
-	depends on GAMEPORT
 	help
 	  Say Y here if you have a PDPI Lightning 4 gamecard.
 
@@ -62,7 +41,6 @@ config GAMEPORT_L4
 
 config GAMEPORT_EMU10K1
 	tristate "SB Live and Audigy gameport support"
-	depends on GAMEPORT
 	help
 	  Say Y here if you have a SoundBlaster Live! or SoundBlaster
 	  Audigy card and want to use its gameport.
@@ -72,7 +50,6 @@ config GAMEPORT_EMU10K1
 
 config GAMEPORT_VORTEX
 	tristate "Aureal Vortex, Vortex 2 gameport support"
-	depends on GAMEPORT
 	help
 	  Say Y here if you have an Aureal Vortex 1 or 2  card and want
 	  to use its gameport.
@@ -82,9 +59,28 @@ config GAMEPORT_VORTEX
 
 config GAMEPORT_FM801
 	tristate "ForteMedia FM801 gameport support"
-	depends on GAMEPORT
 
 config GAMEPORT_CS461X
 	tristate "Crystal SoundFusion gameport support"
-	depends on GAMEPORT
 
+endif
+
+# Yes, SOUND_GAMEPORT looks a bit odd. Yes, it ends up being turned on
+# in every .config. Please don't touch it. It is here to handle an
+# unusual dependency between GAMEPORT and sound drivers.
+#
+# Some sound drivers call gameport functions. If GAMEPORT is
+# not selected, empty stubs are provided for the functions and all is
+# well.
+# 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. Since there's no way
+# to express that directly in Kconfig, we use SOUND_GAMEPORT to
+# express it. SOUND_GAMEPORT boils down to "if GAMEPORT is 'm',
+# anything that depends on SOUND_GAMEPORT must be 'm' as well. if
+# GAMEPORT is 'y' or 'n', it can be anything".
+config SOUND_GAMEPORT
+	tristate
+	default m if GAMEPORT=m
+	default y
Index: linux-2.6.11/drivers/input/Kconfig
===================================================================
--- linux-2.6.11.orig/drivers/input/Kconfig	2005-01-30 15:43:04.068685306 +0100
+++ linux-2.6.11/drivers/input/Kconfig	2005-01-30 16:14:56.122968311 +0100
@@ -5,7 +5,7 @@
 menu "Input device support"
 
 config INPUT
-	tristate "Input devices (needed for keyboard, mouse, ...)" if EMBEDDED
+	tristate "Generic input layer (needed for keyboard, mouse, ...)" if EMBEDDED
 	default y
 	---help---
 	  Say Y here if you have any input device (mouse, keyboard, tablet,
@@ -22,12 +22,13 @@ config INPUT
 	  To compile this driver as a module, choose M here: the
 	  module will be called input.
 
+if INPUT
+
 comment "Userland interfaces"
 
 config INPUT_MOUSEDEV
 	tristate "Mouse interface" if EMBEDDED
 	default y
-	depends on INPUT
 	---help---
 	  Say Y here if you want your mouse to be accessible as char devices
 	  13:32+ - /dev/input/mouseX and 13:63 - /dev/input/mice as an
@@ -74,7 +75,6 @@ config INPUT_MOUSEDEV_SCREEN_Y
 
 config INPUT_JOYDEV
 	tristate "Joystick interface"
-	depends on INPUT
 	---help---
 	  Say Y here if you want your joystick or gamepad to be
 	  accessible as char device 13:0+ - /dev/input/jsX device.
@@ -88,7 +88,6 @@ config INPUT_JOYDEV
 
 config INPUT_TSDEV
 	tristate "Touchscreen interface"
-	depends on INPUT
 	---help---
 	  Say Y here if you have an application that only can understand the
 	  Compaq touchscreen protocol for absolute pointer data. This is
@@ -111,7 +110,6 @@ config INPUT_TSDEV_SCREEN_Y
 
 config INPUT_EVDEV
 	tristate "Event interface"
-	depends on INPUT
 	help
 	  Say Y here if you want your input device events be accessible
 	  under char device 13:64+ - /dev/input/eventX in a generic way.
@@ -121,7 +119,6 @@ config INPUT_EVDEV
 
 config INPUT_EVBUG
 	tristate "Event debugging"
-	depends on INPUT
 	---help---
 	  Say Y here if you have a problem with the input subsystem and
 	  want all events (keypresses, mouse movements), to be output to
@@ -134,12 +131,6 @@ config INPUT_EVBUG
 	  To compile this driver as a module, choose M here: the
 	  module will be called evbug.
 
-comment "Input I/O drivers"
-
-source "drivers/input/gameport/Kconfig"
-
-source "drivers/input/serio/Kconfig"
-
 comment "Input Device Drivers"
 
 source "drivers/input/keyboard/Kconfig"
@@ -152,5 +143,15 @@ source "drivers/input/touchscreen/Kconfi
 
 source "drivers/input/misc/Kconfig"
 
+endif
+
+menu "Hardware I/O ports"
+
+source "drivers/input/serio/Kconfig"
+
+source "drivers/input/gameport/Kconfig"
+
+endmenu
+
 endmenu
 
Index: linux-2.6.11/drivers/input/touchscreen/Kconfig
===================================================================
--- linux-2.6.11.orig/drivers/input/touchscreen/Kconfig	2005-01-30 15:43:04.069685134 +0100
+++ linux-2.6.11/drivers/input/touchscreen/Kconfig	2005-01-30 16:34:22.676853842 +0100
@@ -1,18 +1,19 @@
 #
 # Mouse driver configuration
 #
-config INPUT_TOUCHSCREEN
+menuconfig INPUT_TOUCHSCREEN
 	bool "Touchscreens"
-	depends on INPUT
 	help
 	  Say Y here, and a list of supported touchscreens will be displayed.
 	  This option doesn't affect the kernel.
 
 	  If unsure, say Y.
 
+if INPUT_TOUCHSCREEN
+
 config TOUCHSCREEN_BITSY
 	tristate "Compaq iPAQ H3600 (Bitsy) touchscreen input driver"
-	depends on SA1100_BITSY && INPUT && INPUT_TOUCHSCREEN
+	depends on SA1100_BITSY
 	select SERIO
 	help
 	  Say Y here if you have the h3600 (Bitsy) touchscreen.
@@ -24,7 +25,6 @@ config TOUCHSCREEN_BITSY
 
 config TOUCHSCREEN_GUNZE
 	tristate "Gunze AHL-51S touchscreen"
-	depends on INPUT && INPUT_TOUCHSCREEN
 	select SERIO
 	help
 	  Say Y here if you have the Gunze AHL-51 touchscreen connected to
@@ -35,3 +35,4 @@ config TOUCHSCREEN_GUNZE
 	  To compile this driver as a module, choose M here: the
 	  module will be called gunze.
 
+endif
Index: linux-2.6.11/drivers/input/mouse/Kconfig
===================================================================
--- linux-2.6.11.orig/drivers/input/mouse/Kconfig	2005-01-30 15:43:04.069685134 +0100
+++ linux-2.6.11/drivers/input/mouse/Kconfig	2005-01-30 16:33:49.343599850 +0100
@@ -1,20 +1,20 @@
 #
 # Mouse driver configuration
 #
-config INPUT_MOUSE
-	bool "Mice"
+menuconfig INPUT_MOUSE
+	bool "Mouse"
 	default y
-	depends on INPUT
 	help
 	  Say Y here, and a list of supported mice will be displayed.
 	  This option doesn't affect the kernel.
 
 	  If unsure, say Y.
 
+if INPUT_MOUSE
+
 config MOUSE_PS2
 	tristate "PS/2 mouse"
 	default y
-	depends on INPUT && INPUT_MOUSE
 	select SERIO
 	select SERIO_LIBPS2
 	select SERIO_I8042 if PC
@@ -39,7 +39,6 @@ config MOUSE_PS2
 
 config MOUSE_SERIAL
 	tristate "Serial mouse"
-	depends on INPUT && INPUT_MOUSE
 	select SERIO
 	---help---
 	  Say Y here if you have a serial (RS-232, COM port) mouse connected
@@ -53,7 +52,7 @@ config MOUSE_SERIAL
 
 config MOUSE_INPORT
 	tristate "InPort/MS/ATIXL busmouse"
-	depends on INPUT && INPUT_MOUSE && ISA
+	depends on ISA
 	help
 	  Say Y here if you have an InPort, Microsoft or ATI XL busmouse.
 	  They are rather rare these days.
@@ -69,7 +68,7 @@ config MOUSE_ATIXL
 
 config MOUSE_LOGIBM
 	tristate "Logitech busmouse"
-	depends on INPUT && INPUT_MOUSE && ISA
+	depends on ISA
 	help
 	  Say Y here if you have a Logitech busmouse.
 	  They are rather rare these days.
@@ -79,7 +78,7 @@ config MOUSE_LOGIBM
 
 config MOUSE_PC110PAD
 	tristate "IBM PC110 touchpad"
-	depends on INPUT && INPUT_MOUSE && ISA
+	depends on ISA
 	help
 	  Say Y if you have the IBM PC-110 micro-notebook and want its
 	  touchpad supported.
@@ -89,7 +88,7 @@ config MOUSE_PC110PAD
 
 config MOUSE_MAPLE
 	tristate "Maple bus mouse"
-	depends on SH_DREAMCAST && INPUT && INPUT_MOUSE && MAPLE
+	depends on SH_DREAMCAST && MAPLE
 	help
 	  Say Y if you have a DreamCast console and a mouse attached to
 	  its Maple bus.
@@ -99,7 +98,7 @@ config MOUSE_MAPLE
 
 config MOUSE_AMIGA
 	tristate "Amiga mouse"
-	depends on AMIGA && INPUT && INPUT_MOUSE
+	depends on AMIGA
 	help
 	  Say Y here if you have an Amiga and want its native mouse
 	  supported by the kernel.
@@ -109,7 +108,7 @@ config MOUSE_AMIGA
 
 config MOUSE_RISCPC
 	tristate "Acorn RiscPC mouse"
-	depends on ARCH_ACORN && INPUT && INPUT_MOUSE
+	depends on ARCH_ACORN
 	help
 	  Say Y here if you have the Acorn RiscPC computer and want its
 	  native mouse supported.
@@ -119,7 +118,6 @@ config MOUSE_RISCPC
 
 config MOUSE_VSXXXAA
 	tristate "DEC VSXXX-AA/GA mouse and VSXXX-AB tablet"
-	depends on INPUT && INPUT_MOUSE
 	select SERIO
 	help
 	  Say Y (or M) if you want to use a DEC VSXXX-AA (hockey
@@ -129,3 +127,4 @@ config MOUSE_VSXXXAA
 	  described in the source file). This driver also works with the
 	  digitizer (VSXXX-AB) DEC produced.
 
+endif
Index: linux-2.6.11/drivers/input/joystick/Kconfig
===================================================================
--- linux-2.6.11.orig/drivers/input/joystick/Kconfig	2005-01-30 15:43:04.068685306 +0100
+++ linux-2.6.11/drivers/input/joystick/Kconfig	2005-01-30 16:34:09.455133028 +0100
@@ -1,9 +1,8 @@
 #
 # Joystick driver configuration
 #
-config INPUT_JOYSTICK
+menuconfig INPUT_JOYSTICK
 	bool "Joysticks"
-	depends on INPUT
 	help
 	  If you have a joystick, 6dof controller, gamepad, steering wheel,
 	  weapon control system or something like that you can say Y here
@@ -13,9 +12,11 @@ config INPUT_JOYSTICK
 	  Please read the file <file:Documentation/input/joystick.txt> which
 	  contains more information.
 
+if INPUT_JOYSTICK
+
 config JOYSTICK_ANALOG
 	tristate "Classic PC analog joysticks and gamepads"
-	depends on INPUT && INPUT_JOYSTICK && GAMEPORT
+	select GAMEPORT
 	---help---
 	  Say Y here if you have a joystick that connects to the PC
 	  gameport. In addition to the usual PC analog joystick, this driver
@@ -32,7 +33,7 @@ config JOYSTICK_ANALOG
 
 config JOYSTICK_A3D
 	tristate "Assasin 3D and MadCatz Panther devices"
-	depends on INPUT && INPUT_JOYSTICK && GAMEPORT
+	select GAMEPORT
 	help
 	  Say Y here if you have an FPGaming or MadCatz controller using the
 	  A3D protocol over the PC gameport.
@@ -42,7 +43,7 @@ config JOYSTICK_A3D
 
 config JOYSTICK_ADI
 	tristate "Logitech ADI digital joysticks and gamepads"
-	depends on INPUT && INPUT_JOYSTICK && GAMEPORT
+	select GAMEPORT
 	help
 	  Say Y here if you have a Logitech controller using the ADI
 	  protocol over the PC gameport.
@@ -52,7 +53,7 @@ config JOYSTICK_ADI
 
 config JOYSTICK_COBRA
 	tristate "Creative Labs Blaster Cobra gamepad"
-	depends on INPUT && INPUT_JOYSTICK && GAMEPORT
+	select GAMEPORT
 	help
 	  Say Y here if you have a Creative Labs Blaster Cobra gamepad.
 
@@ -61,7 +62,7 @@ config JOYSTICK_COBRA
 
 config JOYSTICK_GF2K
 	tristate "Genius Flight2000 Digital joysticks and gamepads"
-	depends on INPUT && INPUT_JOYSTICK && GAMEPORT
+	select GAMEPORT
 	help
 	  Say Y here if you have a Genius Flight2000 or MaxFighter digitally
 	  communicating joystick or gamepad.
@@ -71,7 +72,7 @@ config JOYSTICK_GF2K
 
 config JOYSTICK_GRIP
 	tristate "Gravis GrIP joysticks and gamepads"
-	depends on INPUT && INPUT_JOYSTICK && GAMEPORT
+	select GAMEPORT
 	help
 	  Say Y here if you have a Gravis controller using the GrIP protocol
 	  over the PC gameport.
@@ -81,7 +82,7 @@ config JOYSTICK_GRIP
 
 config JOYSTICK_GRIP_MP
 	tristate "Gravis GrIP MultiPort"
-	depends on INPUT && INPUT_JOYSTICK && GAMEPORT
+	select GAMEPORT
 	help
 	  Say Y here if you have the original Gravis GrIP MultiPort, a hub
 	  that connects to the gameport and you connect gamepads to it.
@@ -91,7 +92,7 @@ config JOYSTICK_GRIP_MP
 
 config JOYSTICK_GUILLEMOT
 	tristate "Guillemot joysticks and gamepads"
-	depends on INPUT && INPUT_JOYSTICK && GAMEPORT
+	select GAMEPORT
 	help
 	  Say Y here if you have a Guillemot joystick using a digital
 	  protocol over the PC gameport.
@@ -101,7 +102,7 @@ config JOYSTICK_GUILLEMOT
 
 config JOYSTICK_INTERACT
 	tristate "InterAct digital joysticks and gamepads"
-	depends on INPUT && INPUT_JOYSTICK && GAMEPORT
+	select GAMEPORT
 	help
 	  Say Y here if you have an InterAct gameport or joystick
 	  communicating digitally over the gameport.
@@ -111,7 +112,7 @@ config JOYSTICK_INTERACT
 
 config JOYSTICK_SIDEWINDER
 	tristate "Microsoft SideWinder digital joysticks and gamepads"
-	depends on INPUT && INPUT_JOYSTICK && GAMEPORT
+	select GAMEPORT
 	help
 	  Say Y here if you have a Microsoft controller using the Digital
 	  Overdrive protocol over PC gameport.
@@ -121,7 +122,7 @@ config JOYSTICK_SIDEWINDER
 
 config JOYSTICK_TMDC
 	tristate "ThrustMaster DirectConnect joysticks and gamepads"
-	depends on INPUT && INPUT_JOYSTICK && GAMEPORT
+	select GAMEPORT
 	help
 	  Say Y here if you have a ThrustMaster controller using the
 	  DirectConnect (BSP) protocol over the PC gameport.
@@ -133,7 +134,6 @@ source "drivers/input/joystick/iforce/Kc
 
 config JOYSTICK_WARRIOR
 	tristate "Logitech WingMan Warrior joystick"
-	depends on INPUT && INPUT_JOYSTICK
 	select SERIO
 	help
 	  Say Y here if you have a Logitech WingMan Warrior joystick connected
@@ -144,7 +144,6 @@ config JOYSTICK_WARRIOR
 
 config JOYSTICK_MAGELLAN
 	tristate "LogiCad3d Magellan/SpaceMouse 6dof controllers"
-	depends on INPUT && INPUT_JOYSTICK
 	select SERIO
 	help
 	  Say Y here if you have a Magellan or Space Mouse 6DOF controller
@@ -155,7 +154,6 @@ config JOYSTICK_MAGELLAN
 
 config JOYSTICK_SPACEORB
 	tristate "SpaceTec SpaceOrb/Avenger 6dof controllers"
-	depends on INPUT && INPUT_JOYSTICK
 	select SERIO
 	help
 	  Say Y here if you have a SpaceOrb 360 or SpaceBall Avenger 6DOF
@@ -166,7 +164,6 @@ config JOYSTICK_SPACEORB
 
 config JOYSTICK_SPACEBALL
 	tristate "SpaceTec SpaceBall 6dof controllers"
-	depends on INPUT && INPUT_JOYSTICK
 	select SERIO
 	help
 	  Say Y here if you have a SpaceTec SpaceBall 2003/3003/4000 FLX
@@ -178,7 +175,6 @@ config JOYSTICK_SPACEBALL
 
 config JOYSTICK_STINGER
 	tristate "Gravis Stinger gamepad"
-	depends on INPUT && INPUT_JOYSTICK
 	select SERIO
 	help
 	  Say Y here if you have a Gravis Stinger connected to one of your
@@ -189,7 +185,6 @@ config JOYSTICK_STINGER
 
 config JOYSTICK_TWIDDLER
 	tristate "Twiddler as a joystick"
-	depends on INPUT && INPUT_JOYSTICK
 	select SERIO
 	help
 	  Say Y here if you have a Handykey Twiddler connected to your
@@ -200,7 +195,7 @@ config JOYSTICK_TWIDDLER
 
 config JOYSTICK_DB9
 	tristate "Multisystem, Sega Genesis, Saturn joysticks and gamepads"
-	depends on INPUT && INPUT_JOYSTICK && PARPORT
+	depends on PARPORT
 	---help---
 	  Say Y here if you have a Sega Master System gamepad, Sega Genesis
 	  gamepad, Sega Saturn gamepad, or a Multisystem -- Atari, Amiga,
@@ -213,7 +208,7 @@ config JOYSTICK_DB9
 
 config JOYSTICK_GAMECON
 	tristate "Multisystem, NES, SNES, N64, PSX joysticks and gamepads"
-	depends on INPUT && INPUT_JOYSTICK && PARPORT
+	depends on PARPORT
 	---help---
 	  Say Y here if you have a Nintendo Entertainment System gamepad,
 	  Super Nintendo Entertainment System gamepad, Nintendo 64 gamepad,
@@ -227,7 +222,7 @@ config JOYSTICK_GAMECON
 
 config JOYSTICK_TURBOGRAFX
 	tristate "Multisystem joysticks via TurboGraFX device"
-	depends on INPUT && INPUT_JOYSTICK && PARPORT
+	depends on PARPORT
 	help
 	  Say Y here if you have the TurboGraFX interface by Steffen Schwenke,
 	  and want to use it with Multisystem -- Atari, Amiga, Commodore,
@@ -239,7 +234,7 @@ config JOYSTICK_TURBOGRAFX
 
 config JOYSTICK_AMIGA
 	tristate "Amiga joysticks"
-	depends on AMIGA && INPUT && INPUT_JOYSTICK
+	depends on AMIGA
 	help
 	  Say Y here if you have an Amiga with a digital joystick connected
 	  to it.
@@ -249,7 +244,7 @@ config JOYSTICK_AMIGA
 
 config JOYSTICK_JOYDUMP
 	tristate "Gameport data dumper"
-	depends on INPUT && INPUT_JOYSTICK && GAMEPORT
+	select GAMEPORT
 	help
 	  Say Y here if you want to dump data from your joystick into the system
 	  log for debugging purposes. Say N if you are making a production
@@ -258,3 +253,4 @@ config JOYSTICK_JOYDUMP
 	  To compile this driver as a module, choose M here: the
 	  module will be called joydump.
 
+endif
Index: linux-2.6.11/drivers/input/misc/Kconfig
===================================================================
--- linux-2.6.11.orig/drivers/input/misc/Kconfig	2005-01-30 15:43:04.069685134 +0100
+++ linux-2.6.11/drivers/input/misc/Kconfig	2005-01-30 16:34:47.717537219 +0100
@@ -1,9 +1,8 @@
 #
 # Input misc drivers configuration
 #
-config INPUT_MISC
-	bool "Misc"
-	depends on INPUT
+menuconfig INPUT_MISC
+	bool "Miscellaneous devices"
 	help
 	  Say Y here, and a list of miscellaneous input drivers will be displayed.
 	  Everything that didn't fit into the other categories is here. This option
@@ -11,9 +10,11 @@ config INPUT_MISC
 
 	  If unsure, say Y.
 
+if INPUT_MISC
+
 config INPUT_PCSPKR
 	tristate "PC Speaker support"
-	depends on (ALPHA || X86 || X86_64 || MIPS || PPC_PREP || PPC_CHRP || PPC_PSERIES) && INPUT && INPUT_MISC
+	depends on ALPHA || X86 || X86_64 || MIPS || PPC_PREP || PPC_CHRP || PPC_PSERIES
 	help
 	  Say Y here if you want the standard PC Speaker to be used for
 	  bells and whistles.
@@ -25,7 +26,7 @@ config INPUT_PCSPKR
 
 config INPUT_SPARCSPKR
 	tristate "SPARC Speaker support"
-	depends on (SPARC32 || SPARC64) && INPUT && INPUT_MISC && PCI
+	depends on PCI && (SPARC32 || SPARC64)
 	help
 	  Say Y here if you want the standard Speaker on Sparc PCI systems
 	  to be used for bells and whistles.
@@ -37,11 +38,10 @@ config INPUT_SPARCSPKR
 
 config INPUT_M68K_BEEP
 	tristate "M68k Beeper support"
-	depends on M68K && INPUT && INPUT_MISC
+	depends on M68K
 
 config INPUT_UINPUT
 	tristate "User level driver support"
-	depends on INPUT && INPUT_MISC
 	help
 	  Say Y here if you want to support user level drivers for input
 	  subsystem accessible under char device 10:223 - /dev/input/uinput.
@@ -49,3 +49,4 @@ config INPUT_UINPUT
 	  To compile this driver as a module, choose M here: the
 	  module will be called uinput.
 
+endif

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH 6/8] Kconfig: cleanup input menu
  2005-01-30 15:45                   ` Roman Zippel
@ 2005-01-30 23:39                     ` Dmitry Torokhov
  2005-02-04 13:14                       ` Vojtech Pavlik
  2005-02-04 14:42                     ` Vojtech Pavlik
  1 sibling, 1 reply; 19+ messages in thread
From: Dmitry Torokhov @ 2005-01-30 23:39 UTC (permalink / raw)
  To: Roman Zippel; +Cc: linux-input, Andrew Morton, linux-kernel

On Sunday 30 January 2005 10:45, Roman Zippel wrote:
> Hi,
> 
> On Sat, 29 Jan 2005, Dmitry Torokhov wrote:
> 
> > Ok, what about making some submenus to manage number of options, like in
> > the patch below?
> 
> I'd rather move it to the bottom and the menus had no dependencies.
> Below is an alternative patch, which does a rather complete cleanup.

This one looks nice. I still think that hardware port support should go
first. My argument is:

When I go into a menu I explore option and submenus from top to bottom.
So I will see PS/2 or serial, and will go there and select what I need.
Then I will see that generic input layer is also needed for keyboard
and go there.

If generic layer is first one I select options I think are needed I could
skip over the HW I/O ports thinking that I already selected everything I
need as far as keyboard/mouse goes.

Does this make any sense?
 
-- 
Dmitry

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH 6/8] Kconfig: cleanup input menu
  2005-01-30 23:39                     ` Dmitry Torokhov
@ 2005-02-04 13:14                       ` Vojtech Pavlik
  2005-02-04 13:51                         ` Dmitry Torokhov
  2005-02-04 14:13                         ` Roman Zippel
  0 siblings, 2 replies; 19+ messages in thread
From: Vojtech Pavlik @ 2005-02-04 13:14 UTC (permalink / raw)
  To: Dmitry Torokhov; +Cc: Roman Zippel, linux-input, Andrew Morton, linux-kernel

On Sun, Jan 30, 2005 at 06:39:37PM -0500, Dmitry Torokhov wrote:
> On Sunday 30 January 2005 10:45, Roman Zippel wrote:
> > Hi,
> > 
> > On Sat, 29 Jan 2005, Dmitry Torokhov wrote:
> > 
> > > Ok, what about making some submenus to manage number of options, like in
> > > the patch below?
> > 
> > I'd rather move it to the bottom and the menus had no dependencies.
> > Below is an alternative patch, which does a rather complete cleanup.
> 
> This one looks nice. I still think that hardware port support should go
> first. My argument is:
> 
> When I go into a menu I explore option and submenus from top to bottom.
> So I will see PS/2 or serial, and will go there and select what I need.
> Then I will see that generic input layer is also needed for keyboard
> and go there.
> 
> If generic layer is first one I select options I think are needed I could
> skip over the HW I/O ports thinking that I already selected everything I
> need as far as keyboard/mouse goes.
> 
> Does this make any sense?

Dmitry, will you make a patch that has the port options first? If no,
I'll likely merge Roman's patch.

-- 
Vojtech Pavlik
SuSE Labs, SuSE CR

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH 6/8] Kconfig: cleanup input menu
  2005-02-04 13:14                       ` Vojtech Pavlik
@ 2005-02-04 13:51                         ` Dmitry Torokhov
  2005-02-04 13:58                           ` Vojtech Pavlik
  2005-02-04 14:13                         ` Roman Zippel
  1 sibling, 1 reply; 19+ messages in thread
From: Dmitry Torokhov @ 2005-02-04 13:51 UTC (permalink / raw)
  To: Vojtech Pavlik; +Cc: Roman Zippel, linux-input, Andrew Morton, linux-kernel

On Fri, 4 Feb 2005 14:14:36 +0100, Vojtech Pavlik <vojtech@suse.cz> wrote:
> On Sun, Jan 30, 2005 at 06:39:37PM -0500, Dmitry Torokhov wrote:
> > On Sunday 30 January 2005 10:45, Roman Zippel wrote:
> > > Hi,
> > >
> > > On Sat, 29 Jan 2005, Dmitry Torokhov wrote:
> > >
> > > > Ok, what about making some submenus to manage number of options, like in
> > > > the patch below?
> > >
> > > I'd rather move it to the bottom and the menus had no dependencies.
> > > Below is an alternative patch, which does a rather complete cleanup.
> >
> > This one looks nice. I still think that hardware port support should go
> > first. My argument is:
> >
> > When I go into a menu I explore option and submenus from top to bottom.
> > So I will see PS/2 or serial, and will go there and select what I need.
> > Then I will see that generic input layer is also needed for keyboard
> > and go there.
> >
> > If generic layer is first one I select options I think are needed I could
> > skip over the HW I/O ports thinking that I already selected everything I
> > need as far as keyboard/mouse goes.
> >
> > Does this make any sense?
> 
> Dmitry, will you make a patch that has the port options first? If no,
> I'll likely merge Roman's patch.
> 

I'd rather make a patch on top of Roman's, if you don't mind. This way
we will reduce merge conflicts (Sam I believe already grabbed Roman's
changes and applied to his tree).

-- 
Dmitry

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH 6/8] Kconfig: cleanup input menu
  2005-02-04 13:51                         ` Dmitry Torokhov
@ 2005-02-04 13:58                           ` Vojtech Pavlik
  0 siblings, 0 replies; 19+ messages in thread
From: Vojtech Pavlik @ 2005-02-04 13:58 UTC (permalink / raw)
  To: dtor_core; +Cc: Roman Zippel, linux-input, Andrew Morton, linux-kernel

On Fri, Feb 04, 2005 at 08:51:41AM -0500, Dmitry Torokhov wrote:
> On Fri, 4 Feb 2005 14:14:36 +0100, Vojtech Pavlik <vojtech@suse.cz> wrote:
> > On Sun, Jan 30, 2005 at 06:39:37PM -0500, Dmitry Torokhov wrote:
> > > On Sunday 30 January 2005 10:45, Roman Zippel wrote:
> > > > Hi,
> > > >
> > > > On Sat, 29 Jan 2005, Dmitry Torokhov wrote:
> > > >
> > > > > Ok, what about making some submenus to manage number of options, like in
> > > > > the patch below?
> > > >
> > > > I'd rather move it to the bottom and the menus had no dependencies.
> > > > Below is an alternative patch, which does a rather complete cleanup.
> > >
> > > This one looks nice. I still think that hardware port support should go
> > > first. My argument is:
> > >
> > > When I go into a menu I explore option and submenus from top to bottom.
> > > So I will see PS/2 or serial, and will go there and select what I need.
> > > Then I will see that generic input layer is also needed for keyboard
> > > and go there.
> > >
> > > If generic layer is first one I select options I think are needed I could
> > > skip over the HW I/O ports thinking that I already selected everything I
> > > need as far as keyboard/mouse goes.
> > >
> > > Does this make any sense?
> > 
> > Dmitry, will you make a patch that has the port options first? If no,
> > I'll likely merge Roman's patch.
> > 
> 
> I'd rather make a patch on top of Roman's, if you don't mind. This way
> we will reduce merge conflicts (Sam I believe already grabbed Roman's
> changes and applied to his tree).
 
No problem with that. Shall I apply Roman's patch then?

-- 
Vojtech Pavlik
SuSE Labs, SuSE CR

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH 6/8] Kconfig: cleanup input menu
  2005-02-04 13:14                       ` Vojtech Pavlik
  2005-02-04 13:51                         ` Dmitry Torokhov
@ 2005-02-04 14:13                         ` Roman Zippel
  2005-02-04 14:27                           ` Dmitry Torokhov
  1 sibling, 1 reply; 19+ messages in thread
From: Roman Zippel @ 2005-02-04 14:13 UTC (permalink / raw)
  To: Vojtech Pavlik; +Cc: Dmitry Torokhov, linux-input, Andrew Morton, linux-kernel

Hi,

On Fri, 4 Feb 2005, Vojtech Pavlik wrote:

> > When I go into a menu I explore option and submenus from top to bottom.
> > So I will see PS/2 or serial, and will go there and select what I need.
> > Then I will see that generic input layer is also needed for keyboard
> > and go there.
> > 
> > If generic layer is first one I select options I think are needed I could
> > skip over the HW I/O ports thinking that I already selected everything I
> > need as far as keyboard/mouse goes.
> > 
> > Does this make any sense?
> 
> Dmitry, will you make a patch that has the port options first? If no,
> I'll likely merge Roman's patch.

I don't think that putting this first is a good idea, compare it to scsi 
or alsa, which also have the generic options first and then the lowlevel 
drivers.

bye, Roman

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH 6/8] Kconfig: cleanup input menu
  2005-02-04 14:13                         ` Roman Zippel
@ 2005-02-04 14:27                           ` Dmitry Torokhov
  2005-02-04 14:47                             ` Roman Zippel
  0 siblings, 1 reply; 19+ messages in thread
From: Dmitry Torokhov @ 2005-02-04 14:27 UTC (permalink / raw)
  To: Roman Zippel; +Cc: Vojtech Pavlik, linux-input, Andrew Morton, linux-kernel

On Fri, 4 Feb 2005 15:13:31 +0100 (CET), Roman Zippel
<zippel@linux-m68k.org> wrote:
> Hi,
> 
> On Fri, 4 Feb 2005, Vojtech Pavlik wrote:
> 
> > > When I go into a menu I explore option and submenus from top to bottom.
> > > So I will see PS/2 or serial, and will go there and select what I need.
> > > Then I will see that generic input layer is also needed for keyboard
> > > and go there.
> > >
> > > If generic layer is first one I select options I think are needed I could
> > > skip over the HW I/O ports thinking that I already selected everything I
> > > need as far as keyboard/mouse goes.
> > >
> > > Does this make any sense?
> >
> > Dmitry, will you make a patch that has the port options first? If no,
> > I'll likely merge Roman's patch.
> 
> I don't think that putting this first is a good idea, compare it to scsi
> or alsa, which also have the generic options first and then the lowlevel
> drivers.
> 

The "generic input layer" submenu is comparable to SCSI or ALSA and
has similar menu structure with userland interfaces on top and drivers
below them. Hardware ports (serio, gameport) "live" outside of generic
input layer and are shown there so they are easier to find.

-- 
Dmitry

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH 6/8] Kconfig: cleanup input menu
  2005-01-30 15:45                   ` Roman Zippel
  2005-01-30 23:39                     ` Dmitry Torokhov
@ 2005-02-04 14:42                     ` Vojtech Pavlik
  1 sibling, 0 replies; 19+ messages in thread
From: Vojtech Pavlik @ 2005-02-04 14:42 UTC (permalink / raw)
  To: Roman Zippel; +Cc: Dmitry Torokhov, linux-input, Andrew Morton, linux-kernel

On Sun, Jan 30, 2005 at 04:45:35PM +0100, Roman Zippel wrote:
> Hi,
> 
> On Sat, 29 Jan 2005, Dmitry Torokhov wrote:
> 
> > Ok, what about making some submenus to manage number of options, like in
> > the patch below?
> 
> I'd rather move it to the bottom and the menus had no dependencies.
> Below is an alternative patch, which does a rather complete cleanup.

Applied.

-- 
Vojtech Pavlik
SuSE Labs, SuSE CR

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH 6/8] Kconfig: cleanup input menu
  2005-02-04 14:27                           ` Dmitry Torokhov
@ 2005-02-04 14:47                             ` Roman Zippel
  0 siblings, 0 replies; 19+ messages in thread
From: Roman Zippel @ 2005-02-04 14:47 UTC (permalink / raw)
  To: dtor_core; +Cc: Vojtech Pavlik, linux-input, Andrew Morton, linux-kernel

Hi,

On Fri, 4 Feb 2005, Dmitry Torokhov wrote:

> The "generic input layer" submenu is comparable to SCSI or ALSA and
> has similar menu structure with userland interfaces on top and drivers
> below them. Hardware ports (serio, gameport) "live" outside of generic
> input layer and are shown there so they are easier to find.

That's an implementation detail you don't really want to let the normal 
user to know. It's already bad enough that simple keyboard support 
requires to select two config options.

bye, Roman

^ permalink raw reply	[flat|nested] 19+ messages in thread

end of thread, other threads:[~2005-02-04 14:50 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2005-01-29 22:20 [PATCH 6/8] Kconfig: cleanup input menu Roman Zippel
2005-01-29 22:50 ` Dmitry Torokhov
2005-01-29 23:20   ` Roman Zippel
2005-01-29 23:40     ` Dmitry Torokhov
2005-01-29 23:56       ` Roman Zippel
2005-01-30  0:32         ` Dmitry Torokhov
2005-01-30  1:16           ` Roman Zippel
2005-01-30  2:27             ` Dmitry Torokhov
2005-01-30  3:22               ` Roman Zippel
2005-01-30  4:07                 ` Dmitry Torokhov
2005-01-30 15:45                   ` Roman Zippel
2005-01-30 23:39                     ` Dmitry Torokhov
2005-02-04 13:14                       ` Vojtech Pavlik
2005-02-04 13:51                         ` Dmitry Torokhov
2005-02-04 13:58                           ` Vojtech Pavlik
2005-02-04 14:13                         ` Roman Zippel
2005-02-04 14:27                           ` Dmitry Torokhov
2005-02-04 14:47                             ` Roman Zippel
2005-02-04 14:42                     ` Vojtech Pavlik

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).