From: Alan Curry Date: Wed, 25 Jul 2007 01:28:32 +0000 (+1000) Subject: [POWERPC] Fix Pegasos keyboard detection X-Git-Tag: v2.6.23-rc2~190^2~6 X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f5d834fc34e61f1a40435981062000e5d2b2baa8;p=linux-2.6 [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 Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras --- diff --git a/arch/powerpc/kernel/setup-common.c b/arch/powerpc/kernel/setup-common.c index 4924c48cb1..50ef38cffd 100644 --- a/arch/powerpc/kernel/setup-common.c +++ b/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");