  	if (psmouse->pktcnt == 3 + (psmouse->type >= PSMOUSE_GENPS)) {
  		psmouse_process_packet(psmouse, regs);
  		psmouse->pktcnt = 0;
-@@ -498,6 +503,9 @@ static void psmouse_initialize(struct ps
+@@ -513,6 +518,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-01-10 21:39:13.000000000 +0100
+++ linux-petero/drivers/input/mouse/psmouse-base.c	2004-01-10 22:11:50.000000000 +0100
@@ -21,6 +21,7 @@
 #include "psmouse.h"
 #include "synaptics.h"

-psmouse-objs  := psmouse-base.o logips2pp.o synaptics.o
+psmouse-objs  := psmouse-base.o logips2pp.o alps.o synaptics.o
diff -puN drivers/input/mouse/alps.c~alps drivers/input/mouse/alps.c
--- linux/drivers/input/mouse/alps.c~alps	2004-02-22 08:29:18.000000000 +0100
+++ linux-petero/drivers/input/mouse/alps.c	2004-02-25 18:39:19.000000000 +0100
@@ -0,0 +1,147 @@
+/*
+ * ALPS touchpad PS/2 mouse driver
+ *
