Browse Source

[POWERPC] Fix Pegasos keyboard detection

As of 2.6.22 the kernel doesn't recognize the i8042 keyboard/mouse
controller on the PegasosPPC.  This is because of a feature/bug in the
OF device tree: the "device_type" attribute is an empty string instead
of "8042" as the kernel expects.  This adds a secondary detection
which looks for a device whose *name* is "8042" if there is no device
whose *type* is "8042".

Signed-off-by: Alan Curry <pacman@world.std.com>
Acked-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
Alan Curry 18 years ago
parent
commit
f5d834fc34
1 changed files with 4 additions and 0 deletions
  1. 4 0
      arch/powerpc/kernel/setup-common.c

+ 4 - 0
arch/powerpc/kernel/setup-common.c

@@ -496,6 +496,10 @@ int check_legacy_ioport(unsigned long base_port)
 			break;
 		}
 		np = of_find_node_by_type(NULL, "8042");
+		/* Pegasos has no device_type on its 8042 node, look for the
+		 * name instead */
+		if (!np)
+			np = of_find_node_by_name(NULL, "8042");
 		break;
 	case FDC_BASE: /* FDC1 */
 		np = of_find_node_by_type(NULL, "fdc");