From: Wade Farnsworth <wfarnsworth@mvista.com>
To: Segher Boessenkool <segher@kernel.crashing.org>
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, 07 Jun 2007 10:52:14 -0700 [thread overview]
Message-ID: <1181238734.5674.228.camel@rhino> (raw)
In-Reply-To: <cd1e655423140dbb20af2821d5c3955f@kernel.crashing.org>
On Thu, 2007-06-07 at 18:59 +0200, Segher Boessenkool wrote:
> >>> 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?
check_legacy_ioport() takes an io port as a parameter, and then matches
it with a device node based on the device type. My patch would instead
match it with the compatible property of one of the 8042 devices, since
AIUI, the device type shouldn't be used.
>
> >>> 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 ;-)
True.
>
> > 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?
Ok, I'll add the test for the 8042 device type back in to preserve
compatibility with any existing boards.
>
> > 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.
Fair enough.
>
> > 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.
That was my understanding, hence the patch.
>
> 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.
>
The drivers could probably be modified in such a way, but that is not my
goal with these patches. My goal is to enable the 8042 devices on the
8641. Any driver modification should be done separately.
--Wade
prev parent reply other threads:[~2007-06-07 17:52 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
2007-06-07 17:52 ` Wade Farnsworth [this message]
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=1181238734.5674.228.camel@rhino \
--to=wfarnsworth@mvista.com \
--cc=linuxppc-dev@ozlabs.org \
--cc=paulus@samba.org \
--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 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).