--- drivers/input/serio/i8042.c.orig 2004-04-14 20:33:38.000000000 +0100 +++ drivers/input/serio/i8042.c 2004-04-14 20:27:34.000000000 +0100 @@ -564,7 +564,10 @@ if (request_irq(values->irq, i8042_interrupt, SA_SHIRQ, "i8042", &i8042_check_aux_cookie)) + { + printk(KERN_INFO "i8042.c: AUX IRQ not available\n"); return -1; + } free_irq(values->irq, &i8042_check_aux_cookie); /* @@ -579,9 +582,11 @@ * though it has an AUX port. */ +/* Removed for e-machines laptop + param = 0x5a; if (i8042_command(¶m, I8042_CMD_AUX_LOOP) || param != 0xa5) { - +*/ /* * External connection test - filters out AT-soldered PS/2 i8042's * 0x00 - no error, 0x01-0x03 - clock/data stuck, 0xff - general error @@ -589,12 +594,17 @@ * Because it's common for chipsets to return error on perfectly functioning * AUX ports, we test for this only when the LOOP command failed. */ + +/* Removed for e-machines laptop if (i8042_command(¶m, I8042_CMD_AUX_TEST) || (param && param != 0xfa && param != 0xff)) - return -1; + { + printk(KERN_INFO "i8042.c: AUX failed loopback/connection test