25-akpm/drivers/input/mouse/Kconfig     |   20 +++++++++++++++++---
 25-akpm/drivers/input/mouse/synaptics.c |    3 +++
 2 files changed, 20 insertions(+), 3 deletions(-)

diff -puN drivers/input/mouse/Kconfig~p00004_synaptics-optional drivers/input/mouse/Kconfig
--- 25/drivers/input/mouse/Kconfig~p00004_synaptics-optional	Tue Jul 29 14:57:03 2003
+++ 25-akpm/drivers/input/mouse/Kconfig	Tue Jul 29 14:57:03 2003
@@ -19,9 +19,7 @@ config MOUSE_PS2
 	  Say Y here if you have a PS/2 mouse connected to your system. This
 	  includes the standard 2 or 3-button PS/2 mouse, as well as PS/2
 	  mice with wheels and extra buttons, Microsoft, Logitech or Genius
-	  compatible. Support for Synaptics TouchPads is also included.
-	  For Synaptics TouchPad support in XFree86 you'll need this XFree86
-	  driver: http://w1.894.telia.com/~u89404340/touchpad/index.html
+	  compatible.
 
 	  If unsure, say Y.
 
@@ -30,6 +28,22 @@ config MOUSE_PS2
 	  The module will be called psmouse. If you want to compile it as a
 	  module, say M here and read <file:Documentation/modules.txt>.
 
+config MOUSE_PS2_SYNAPTICS
+	bool "Synaptics TouchPad"
+	default n
+	depends on INPUT && INPUT_MOUSE && SERIO && MOUSE_PS2
+	---help---
+	  Say Y here if you have a Synaptics TouchPad connected to your system.
+	  This touchpad is found on many modern laptop computers.
+
+	  Note that you also need a user space driver to interpret the data
+	  generated by the kernel. A compatible driver for XFree86 is available
+	  from http://w1.894.telia.com/~u89404340/touchpad/index.html
+
+	  The gpm program is not yet able to interpret the data from this
+	  driver, so if you need to use the touchpad in the console, you have to
+	  say N for now.
+
 config MOUSE_SERIAL
 	tristate "Serial mouse"
 	depends on INPUT && INPUT_MOUSE && SERIO
diff -puN drivers/input/mouse/synaptics.c~p00004_synaptics-optional drivers/input/mouse/synaptics.c
--- 25/drivers/input/mouse/synaptics.c~p00004_synaptics-optional	Tue Jul 29 14:57:03 2003
+++ 25-akpm/drivers/input/mouse/synaptics.c	Tue Jul 29 14:57:03 2003
@@ -224,6 +224,9 @@ int synaptics_init(struct psmouse *psmou
 {
 	struct synaptics_data *priv;
 
+#ifndef CONFIG_MOUSE_PS2_SYNAPTICS
+	return -1;
+#endif
 	psmouse->private = priv = kmalloc(sizeof(struct synaptics_data), GFP_KERNEL);
 	if (!priv)
 		return -1;

_