Cleaner implementation of CONFIG_MOUSE_PS2_SYNAPTICS. More up to date help text. Don't include unused code when the option is disabled. linux-petero/drivers/input/mouse/Kconfig | 12 +++++------- linux-petero/drivers/input/mouse/Makefile | 3 ++- linux-petero/drivers/input/mouse/synaptics.c | 4 ---- linux-petero/drivers/input/mouse/synaptics.h | 7 +++++++ 4 files changed, 14 insertions(+), 12 deletions(-) diff -puN drivers/input/mouse/Kconfig~synaptics-config-cleanup drivers/input/mouse/Kconfig --- linux/drivers/input/mouse/Kconfig~synaptics-config-cleanup 2003-10-26 08:37:19.000000000 +0100 +++ linux-petero/drivers/input/mouse/Kconfig 2003-10-26 08:37:19.000000000 +0100 @@ -36,13 +36,11 @@ config MOUSE_PS2_SYNAPTICS 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. + Note that you also need a user space driver to take advantage of the + advanced features of the touchpad. A compatible driver for XFree86 is + available from http://w1.894.telia.com/~u89404340/touchpad/index.html + and a new version of GPM is available from + http://www.geocities.com/dt_or/gpm/gpm.html config MOUSE_SERIAL tristate "Serial mouse" diff -puN drivers/input/mouse/Makefile~synaptics-config-cleanup drivers/input/mouse/Makefile --- linux/drivers/input/mouse/Makefile~synaptics-config-cleanup 2003-10-26 08:37:19.000000000 +0100 +++ linux-petero/drivers/input/mouse/Makefile 2003-10-26 08:37:19.000000000 +0100 @@ -14,4 +14,5 @@ obj-$(CONFIG_MOUSE_PC9800) += 98busmouse obj-$(CONFIG_MOUSE_PS2) += psmouse.o obj-$(CONFIG_MOUSE_SERIAL) += sermouse.o -psmouse-objs := psmouse-base.o logips2pp.o alps.o synaptics.o +psmouse-objs := psmouse-base.o logips2pp.o alps.o +psmouse-$(CONFIG_MOUSE_PS2_SYNAPTICS) += synaptics.o diff -puN drivers/input/mouse/synaptics.c~synaptics-config-cleanup drivers/input/mouse/synaptics.c --- linux/drivers/input/mouse/synaptics.c~synaptics-config-cleanup 2003-10-26 08:37:19.000000000 +0100 +++ linux-petero/drivers/input/mouse/synaptics.c 2003-10-26 08:37:19.000000000 +0100 @@ -375,10 +375,6 @@ 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; diff -puN drivers/input/mouse/synaptics.h~synaptics-config-cleanup drivers/input/mouse/synaptics.h --- linux/drivers/input/mouse/synaptics.h~synaptics-config-cleanup 2003-10-26 08:37:19.000000000 +0100 +++ linux-petero/drivers/input/mouse/synaptics.h 2003-10-26 08:37:19.000000000 +0100 @@ -10,10 +10,17 @@ #define _SYNAPTICS_H +#ifdef CONFIG_MOUSE_PS2_SYNAPTICS extern void synaptics_process_byte(struct psmouse *psmouse, struct pt_regs *regs); extern int synaptics_init(struct psmouse *psmouse); extern int synaptics_pt_init(struct psmouse *psmouse); extern void synaptics_disconnect(struct psmouse *psmouse); +#else +static inline void synaptics_process_byte(struct psmouse *psmouse, struct pt_regs *regs) {} +static inline int synaptics_init(struct psmouse *psmouse) { return -1; } +static inline int synaptics_pt_init(struct psmouse *psmouse) { return -1; } +static inline void synaptics_disconnect(struct psmouse *psmouse) {} +#endif /* synaptics queries */ #define SYN_QUE_IDENTIFY 0x00 _