diff -ru linux-2.6.1-vanilla/drivers/input/mouse/psmouse-base.c linux-2.6.1/drivers/input/mouse/psmouse-base.c
--- linux-2.6.1-vanilla/drivers/input/mouse/psmouse-base.c	2004-01-29 17:00:48.000000000 -0200
+++ linux-2.6.1/drivers/input/mouse/psmouse-base.c	2004-01-30 14:59:32.000000000 -0200
@@ -671,6 +671,12 @@
 	return 0;
 }
 
+static struct serio_device_id psmouse_ids[] = {
+	{ SERIO_8042 | SERIO_PROTO | SERIO_ID | SERIO_EXTRA },
+	{ SERIO_PS_PSTHRU | SERIO_PROTO | SERIO_ID | SERIO_EXTRA },
+	{ 0 },
+};
+MODULE_DEVICE_TABLE(serio, psmouse_ids);
 
 static struct serio_dev psmouse_dev = {
 	.interrupt =	psmouse_interrupt,
@@ -678,6 +684,7 @@
 	.reconnect =	psmouse_reconnect,
 	.disconnect =	psmouse_disconnect,
 	.cleanup =	psmouse_cleanup,
+	.id_table =	psmouse_ids,
 };
 
 static inline void psmouse_parse_proto(void)
