All of lore.kernel.org
 help / color / mirror / Atom feed
From: Matt Sealey <matt@genesi-usa.com>
To: Segher Boessenkool <segher@kernel.crashing.org>
Cc: linuxppc-dev@ozlabs.org, Alan Curry <pacman@theworld.com>,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH] powerpc: Pegasos keyboard detection
Date: Wed, 01 Aug 2007 08:25:21 +0100	[thread overview]
Message-ID: <46B03561.9090800@genesi-usa.com> (raw)
In-Reply-To: <3a538bd3f5db759abb55a661e6e94c7a@kernel.crashing.org>

Yeah please do a fixup for the boot wrapper.

Or, if you have trouble, go into the firmware and type "nvedit", add
these lines;

" /isa/8042" find-device
" 8042" encode-string device-type

(then ctrl-c to exit and nvstore to run it on next reboot. Try it without
the patch first, on the firmware console, just to be sure I got it right,
because I can't test it here)

You don't need to patch Linux at all. In fact for silly things like this
I would recommend against it :)

-- 
Matt Sealey <matt@genesi-usa.com>
Genesi, Manager, Developer Relations




Segher Boessenkool wrote:
>> 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 patch (against 2.6.22.1) 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>
>>
>> --- arch/powerpc/kernel/setup-common.c.orig	2007-07-24 
>> 19:04:17.000000000 -0500
>> +++ arch/powerpc/kernel/setup-common.c	2007-07-24 19:06:36.000000000 
>> -0500
>> @@ -487,6 +487,10 @@ int check_legacy_ioport(unsigned long ba
>>  	switch(base_port) {
>>  	case I8042_DATA_REG:
>>  		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");
> 
> [I know it already got merged, I'm behind on mail, but anyway...]
> 
> Could board-specific quirks like this please always include a
> check for that board?  Or, even better, do a fixup in the
> bootwrapper.
> 
> In this case the workaround won't likely trigger on the wrong
> boards, but "just a little bit" more dangerous workarounds
> _will_, and the law of big numbers works against us...
> 
> 
> Segher
> 
> _______________________________________________
> Linuxppc-dev mailing list
> Linuxppc-dev@ozlabs.org
> https://ozlabs.org/mailman/listinfo/linuxppc-dev

WARNING: multiple messages have this Message-ID (diff)
From: Matt Sealey <matt@genesi-usa.com>
To: Segher Boessenkool <segher@kernel.crashing.org>
Cc: Alan Curry <pacman@theworld.com>,
	linuxppc-dev@ozlabs.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH] powerpc: Pegasos keyboard detection
Date: Wed, 01 Aug 2007 08:25:21 +0100	[thread overview]
Message-ID: <46B03561.9090800@genesi-usa.com> (raw)
In-Reply-To: <3a538bd3f5db759abb55a661e6e94c7a@kernel.crashing.org>

Yeah please do a fixup for the boot wrapper.

Or, if you have trouble, go into the firmware and type "nvedit", add
these lines;

" /isa/8042" find-device
" 8042" encode-string device-type

(then ctrl-c to exit and nvstore to run it on next reboot. Try it without
the patch first, on the firmware console, just to be sure I got it right,
because I can't test it here)

You don't need to patch Linux at all. In fact for silly things like this
I would recommend against it :)

-- 
Matt Sealey <matt@genesi-usa.com>
Genesi, Manager, Developer Relations




Segher Boessenkool wrote:
>> 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 patch (against 2.6.22.1) 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>
>>
>> --- arch/powerpc/kernel/setup-common.c.orig	2007-07-24 
>> 19:04:17.000000000 -0500
>> +++ arch/powerpc/kernel/setup-common.c	2007-07-24 19:06:36.000000000 
>> -0500
>> @@ -487,6 +487,10 @@ int check_legacy_ioport(unsigned long ba
>>  	switch(base_port) {
>>  	case I8042_DATA_REG:
>>  		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");
> 
> [I know it already got merged, I'm behind on mail, but anyway...]
> 
> Could board-specific quirks like this please always include a
> check for that board?  Or, even better, do a fixup in the
> bootwrapper.
> 
> In this case the workaround won't likely trigger on the wrong
> boards, but "just a little bit" more dangerous workarounds
> _will_, and the law of big numbers works against us...
> 
> 
> Segher
> 
> _______________________________________________
> Linuxppc-dev mailing list
> Linuxppc-dev@ozlabs.org
> https://ozlabs.org/mailman/listinfo/linuxppc-dev

  reply	other threads:[~2007-08-01  7:24 UTC|newest]

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-07-23  6:16 keyboard not found in 2.6.22.1 Alan Curry
2007-07-25  1:28 ` [PATCH] powerpc: Pegasos keyboard detection Alan Curry
2007-07-25  6:22   ` Benjamin Herrenschmidt
2007-07-25  6:22     ` Benjamin Herrenschmidt
2007-07-25  6:45     ` Alan Curry
2007-07-25  6:45       ` Alan Curry
2007-07-25  7:12   ` Benjamin Herrenschmidt
2007-07-25  7:12     ` Benjamin Herrenschmidt
2007-07-27  1:48     ` Andrew Morton
2007-07-27  1:48       ` Andrew Morton
2007-07-27  3:00       ` Benjamin Herrenschmidt
2007-07-27  3:00         ` Benjamin Herrenschmidt
2007-07-27  4:22         ` Andrew Morton
2007-07-27  4:22           ` Andrew Morton
2007-07-27  4:48           ` Alan Curry
2007-07-27  4:48             ` Alan Curry
2007-07-27  7:15           ` Benjamin Herrenschmidt
2007-07-27  7:15             ` Benjamin Herrenschmidt
2007-07-31 21:26   ` Segher Boessenkool
2007-08-01  7:25     ` Matt Sealey [this message]
2007-08-01  7:25       ` Matt Sealey
2007-08-01  7:28       ` Matt Sealey
2007-08-02  4:40       ` Alan Curry
2007-08-02  4:40         ` Alan Curry
2007-08-06 18:45         ` Segher Boessenkool
2007-08-06 18:45           ` Segher Boessenkool
2007-08-06 21:40         ` Matt Sealey
2007-08-06 21:40           ` Matt Sealey
2007-08-06 21:57           ` Segher Boessenkool
2007-08-07 16:21             ` Matt Sealey
2007-08-09 16:30               ` Segher Boessenkool
2007-08-09 16:46                 ` Matt Sealey
2007-08-07  4:16           ` Alan Curry
2007-08-07  4:16             ` Alan Curry
2007-08-07 16:27             ` Matt Sealey
2007-08-07 16:27               ` Matt Sealey

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=46B03561.9090800@genesi-usa.com \
    --to=matt@genesi-usa.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linuxppc-dev@ozlabs.org \
    --cc=pacman@theworld.com \
    --cc=segher@kernel.crashing.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.