From: Segher Boessenkool <segher@kernel.crashing.org>
To: Wade Farnsworth <wfarnsworth@mvista.com>
Cc: linuxppc-dev <linuxppc-dev@ozlabs.org>, paulus@samba.org
Subject: Re: [PATCH] When checking I8042 io port, use of_find_compatible_node() instead of of_find_node_by_type()
Date: Thu, 7 Jun 2007 18:59:48 +0200 [thread overview]
Message-ID: <cd1e655423140dbb20af2821d5c3955f@kernel.crashing.org> (raw)
In-Reply-To: <1181233610.5674.167.camel@rhino>
>>> In check_legacy_ioport(), instead of using of_find_node_by_type() to
>>> find the 8042 node, use of_find_compatible_node() to find either the
>>> keyboard or mouse node.
>>
>> Why?
^^^^^^^^
Why do you need/want this at all?
>>> switch(base_port) {
>>> case I8042_DATA_REG:
>>> - np = of_find_node_by_type(NULL, "8042");
>>> + np = of_find_compatible_node(NULL, NULL, "pnpPNP,303");
>>> + if (!np)
>>> + np = of_find_compatible_node(NULL, NULL, "pnpPNP,f03");
>>> + if (np) {
>>> + parent = of_get_parent(np);
>>> + of_node_put(np);
>>> + np = parent;
>>> + }
>>
>> This breaks other boards using 8042, if those exist --
>> if this code is board-specific, it is in the wrong file.
>
> Perhaps I was a little too bold here.
>
> I guess if this breaks other boards
I don't know, but neither do you ;-)
> then I should leave the check for
> the device type, or perhaps just drop this patch altogether.
Maybe you want to test for _either_ of the three devices?
> In the latter case, the 8042 node would need to have device_type =
> "8042". This contradicts what you posted in an earlier conversation we
> had regarding the 8641 device tree:
>
> On Thu, 2007-05-17 at 01:40 +0200, Segher Boessenkool wrote:
>>>>>> + 8042@60 {
>>>>>> + device_type = "8042";
>>>>
>>>> Drop the device_type. A number as a name isn't
>>>> all that great, either.
>>>
>>> Currently in order for the i8042 devices to be initialized,
>>> check_legacy_ioport() must find a node with device_type "8042".
>>
>> So fix that :-)
>
> This is my attempt to fix it :)
A bit too harsh though... Deprecate first, remove
later.
> Now if you prefer that the 8042 node on the 8641 has the device_type
> "8042", I will gladly add it back and drop this patch.
Never ever device_type. "compatible" perhaps. And
not a bare number, either.
I'm not sure what the Linux code here does exactly --
it seems to me you're allowing a legacy I/O port mapping
when legacy drivers probe for it, right? Instead you
should change those drivers to not probe (perhaps by
refusing the I/O range access here), and be explicitly
instantiated from your device tree parsing code.
Segher
next prev parent reply other threads:[~2007-06-07 17:00 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-06-06 16:42 [PATCH] When checking I8042 io port, use of_find_compatible_node() instead of of_find_node_by_type() Wade Farnsworth
2007-06-07 13:05 ` Segher Boessenkool
2007-06-07 16:26 ` Wade Farnsworth
2007-06-07 16:59 ` Segher Boessenkool [this message]
2007-06-07 17:52 ` Wade Farnsworth
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=cd1e655423140dbb20af2821d5c3955f@kernel.crashing.org \
--to=segher@kernel.crashing.org \
--cc=linuxppc-dev@ozlabs.org \
--cc=paulus@samba.org \
--cc=wfarnsworth@mvista.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).