Commit e5d588fe authored by Linus Torvalds's avatar Linus Torvalds

Merge bk://linux-input.bkbits.net/linux-input

into home.transmeta.com:/home/torvalds/v2.5/linux
parents c71a4337 ed0a0a9c
...@@ -576,9 +576,12 @@ static int __init i8042_check_aux(struct i8042_values *values, struct serio *por ...@@ -576,9 +576,12 @@ static int __init i8042_check_aux(struct i8042_values *values, struct serio *por
/* /*
* External connection test - filters out AT-soldered PS/2 i8042's * External connection test - filters out AT-soldered PS/2 i8042's
* 0x00 - no error, 0x01-0x03 - clock/data stuck, 0xff - general error
* We ignore general error, since some chips report it even under normal
* operation.
*/ */
if (i8042_command(&param, I8042_CMD_AUX_TEST) || param) if (i8042_command(&param, I8042_CMD_AUX_TEST) || (param && param != 0xff))
return -1; return -1;
/* /*
...@@ -587,23 +590,11 @@ static int __init i8042_check_aux(struct i8042_values *values, struct serio *por ...@@ -587,23 +590,11 @@ static int __init i8042_check_aux(struct i8042_values *values, struct serio *por
if (i8042_command(&param, I8042_CMD_AUX_DISABLE)) if (i8042_command(&param, I8042_CMD_AUX_DISABLE))
return -1; return -1;
if (i8042_command(&param, I8042_CMD_CTL_RCTR) || (~param & I8042_CTR_AUXDIS)) if (i8042_command(&param, I8042_CMD_CTL_RCTR) || (~param & I8042_CTR_AUXDIS))
return -1; return -1;
if (i8042_command(&param, I8042_CMD_AUX_TEST) || param) {
/*
* We've got an old AMI i8042 with 'Bad Cache' commands.
*/
i8042_command(&param, I8042_CMD_AUX_ENABLE);
return -1;
}
if (i8042_command(&param, I8042_CMD_AUX_ENABLE)) if (i8042_command(&param, I8042_CMD_AUX_ENABLE))
return -1; return -1;
if (i8042_command(&param, I8042_CMD_CTL_RCTR) || (param & I8042_CTR_AUXDIS)) if (i8042_command(&param, I8042_CMD_CTL_RCTR) || (param & I8042_CTR_AUXDIS))
return -1; return -1;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment