Fix for Pegasos keyboard and mouse
[See http://lists.ozlabs.org/pipermail/linuxppc-dev/2010-October/086424.html
and followups. Part of the commit message is directly copied from that.]
Commit 540c6c392f01887dcc96bef0a41e63e6c1334f01 tries to find i8042 IRQs in the device-tree but doesn't fall back to the old hardcoded 1 and 12 in all failure cases.
Specifically, the case where the device-tree contains nothing matching pnpPNP,303 or pnpPNP,f03 doesn't seem to be handled well. It sort of falls through to the old code, but leaves the IRQs set to 0.
Signed-off-by Gabriel Paubert <[email protected]>
---
This fix has only been tested on Pegasos, but to my knowledge it only affects a Pegasos specific path (all other fimwares should be able to find the keyboard through the pnp identifiers.
arch/powerpc/kernel/setup-common.c +4 -0
@@ -602,6 +602,10 @@ int check_legacy_ioport(unsigned long base_port)* name instead */ if (!np) np =of_find_node_by_name (NULL ,"8042" ); +if (np) { + of_i8042_kbd_irq =1 ; + of_i8042_aux_irq =12 ; + }break ;case FDC_BASE :/* FDC1 */ np =of_find_node_by_type (NULL ,"fdc" );