提交 1e4865f8 编写于 作者: D Dmitry Torokhov

Input: i8042 - fix AUX IRQ delivery check

On boxes that do not implement AUX LOOP command we can not
verify AUX IRQ delivery and must assume that it is wired
properly.
Signed-off-by: NDmitry Torokhov <dtor@mail.ru>
上级 5809d537
...@@ -543,6 +543,7 @@ static int __devinit i8042_check_aux(void) ...@@ -543,6 +543,7 @@ static int __devinit i8042_check_aux(void)
{ {
int retval = -1; int retval = -1;
int irq_registered = 0; int irq_registered = 0;
int aux_loop_broken = 0;
unsigned long flags; unsigned long flags;
unsigned char param; unsigned char param;
...@@ -572,6 +573,8 @@ static int __devinit i8042_check_aux(void) ...@@ -572,6 +573,8 @@ static int __devinit i8042_check_aux(void)
if (i8042_command(&param, I8042_CMD_AUX_TEST) || if (i8042_command(&param, I8042_CMD_AUX_TEST) ||
(param && param != 0xfa && param != 0xff)) (param && param != 0xfa && param != 0xff))
return -1; return -1;
aux_loop_broken = 1;
} }
/* /*
...@@ -595,7 +598,7 @@ static int __devinit i8042_check_aux(void) ...@@ -595,7 +598,7 @@ static int __devinit i8042_check_aux(void)
* used it for a PCI card or somethig else. * used it for a PCI card or somethig else.
*/ */
if (i8042_noloop) { if (i8042_noloop || aux_loop_broken) {
/* /*
* Without LOOP command we can't test AUX IRQ delivery. Assume the port * Without LOOP command we can't test AUX IRQ delivery. Assume the port
* is working and hope we are right. * is working and hope we are right.
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册