  
  MODULE_AUTHOR("Vojtech Pavlik <vojtech@suse.cz>");
  MODULE_DESCRIPTION("PS/2 mouse driver");
-@@ -202,6 +203,10 @@ static irqreturn_t psmouse_interrupt(str
- 		goto out;
+@@ -203,6 +204,10 @@ static irqreturn_t psmouse_interrupt(str
+ 		}
  	}
  
 +	if ((psmouse_max_proto > PSMOUSE_PS2) &&
 +	    !ALPS_process_byte(psmouse, regs))
 +		goto out;
 +
- 	if (psmouse->pktcnt == 3 + (psmouse->type >= PSMOUSE_GENPS)) {
- 		psmouse_process_packet(psmouse, regs);
- 		psmouse->pktcnt = 0;
-@@ -542,6 +547,9 @@ static void psmouse_initialize(struct ps
+ 	rc = psmouse->protocol_handler(psmouse, regs);
+ 
+ 	switch (rc) {
+@@ -595,6 +600,9 @@ static void psmouse_initialize(struct ps
   */
  
  	psmouse_command(psmouse, param, PSMOUSE_CMD_SETSTREAM);

+int ALPS_process_byte(struct psmouse *psmouse, struct pt_regs *regs);
+#endif
diff -puN drivers/input/mouse/psmouse-base.c~alps drivers/input/mouse/psmouse-base.c
--- linux/drivers/input/mouse/psmouse-base.c~alps	2004-04-22 23:33:12.000000000 +0200
+++ linux-petero/drivers/input/mouse/psmouse-base.c	2004-04-22 23:33:12.000000000 +0200
@@ -21,6 +21,7 @@
 #include "psmouse.h"
 #include "synaptics.h"

 5 files changed, 164 insertions(+), 1 deletion(-)

diff -puN drivers/input/mouse/Makefile~alps drivers/input/mouse/Makefile
--- linux/drivers/input/mouse/Makefile~alps	2004-06-08 23:17:59.940957256 +0200
+++ linux-petero/drivers/input/mouse/Makefile	2004-06-08 23:17:59.963953760 +0200
@@ -15,4 +15,4 @@ obj-$(CONFIG_MOUSE_PS2)		+= psmouse.o
 obj-$(CONFIG_MOUSE_SERIAL)	+= sermouse.o
 obj-$(CONFIG_MOUSE_VSXXXAA)	+= vsxxxaa.o
