From: Segher Boessenkool <segher@kernel.crashing.org>
To: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Cc: linuxppc-dev@ozlabs.org, Paul Mackerras <paulus@samba.org>
Subject: Re: [PATCH] powerpc: Add of_register_i2c_devices()
Date: Tue, 3 Jul 2007 01:06:00 +0200 [thread overview]
Message-ID: <2055bb54b9816faaf5b2ceedc9cfa039@kernel.crashing.org> (raw)
In-Reply-To: <Pine.LNX.4.60.0707022114020.3339@poirot.grange>
>> of_for_each_child_node() or whatever it is called?
>
> Sure, would be nice, only I cannot find anything like that. I seem to
> remember seeing a patch like that, but maybe I'me mistaken... Do you
> remember details / can you find it?
Not right now, sorry. Use grep? :-)
>>> + name = of_get_property(node, "compatible", NULL);
>>> + if (!name)
>>> + name = node->name;
>>> + if (!name)
>>> + continue;
>>
>> Look at "name" first, then look at "compatible", not
>> the other way around.
>
> ok
Which btw is what the "is_compatible()" stuff does
(or, ought to do).
>>> + /* FIXME: the i2c code should allow drivers to specify
>>> + * multiple match names; board code shouldn't need to
>>> + * know what driver will handle a given type.
>>> + */
>>
>> This should be handled by the OF matching stuff, there
>> is no direct connection between device tree naming and
>> Linux driver naming. I don't want to see this patch
>> going in without this problem being fixed first.
>
> Right, this one is interesting. But this time I cannot even vaguely
> remember seeing any "OF matching" code. I can only remember each driver
> (or OF glue to a generic driver) parsing compatible of entries, like
> legacy_serial.c. Or you mean we need to write such a matching layer?
The OF glue parsing stuff and setting up the data structures
the generic drivers want to see. I say make it work for your
board first, then when later more boards need it we have a
better idea about what is needed from a more generic I2C glue
layer.
> AFAIK, i2c is not specified by OF standard.
Yes.
> So, we are free to chose any "compatible" fields for our dts.
Within bounds. What goes into "compatible" properties is
well-defined for _any_ device.
> Which we then would need to match against
> drivers. So, why not make this a 1-to-1 match?
Because the device tree describes the hardware, not what
Linux (or anything else) is going to do with it. Let me
give you an example of why this is a good thing for _you_:
say a future version of Linux drops the I2C driver for a
device you have, since some other driver should be used
preferably instead (maybe it is just a better driver for
the same device, maybe it supports more devices, whatever).
Suddenly boards with your old device tree cannot run that
new Linux version anymore. Ouch.
Just use "compatible" exactly the way it is meant to be
used and your life will be so much simpler. And don't
even think about using a very generic property like "model"
for a purpose totally different from its intended purpose.
Segher
next prev parent reply other threads:[~2007-07-02 23:06 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-06-29 19:20 [PATCH] powerpc: Add of_register_i2c_devices() Guennadi Liakhovetski
2007-07-01 23:36 ` Kumar Gala
2007-07-02 11:56 ` Segher Boessenkool
2007-07-02 12:03 ` Segher Boessenkool
2007-07-02 20:11 ` Guennadi Liakhovetski
2007-07-02 22:46 ` Scott Wood
2007-07-02 23:10 ` Segher Boessenkool
2007-07-02 23:06 ` Segher Boessenkool [this message]
2007-07-03 22:34 ` Guennadi Liakhovetski
2007-07-03 23:02 ` Segher Boessenkool
2007-07-04 5:28 ` Guennadi Liakhovetski
2007-07-04 12:19 ` Segher Boessenkool
2007-07-04 17:50 ` Guennadi Liakhovetski
2007-07-17 22:17 ` Guennadi Liakhovetski
2007-07-19 15:32 ` Segher Boessenkool
2007-07-19 22:07 ` Guennadi Liakhovetski
2007-07-20 7:26 ` Segher Boessenkool
2007-07-20 20:26 ` Guennadi Liakhovetski
2007-07-31 22:55 ` Segher Boessenkool
2007-08-01 5:41 ` Guennadi Liakhovetski
2007-08-01 8:18 ` Segher Boessenkool
2007-08-01 20:36 ` Guennadi Liakhovetski
2007-08-01 20:42 ` Scott Wood
2007-08-07 22:32 ` [PATCH] powerpc: fix i2c device string format Guennadi Liakhovetski
2007-08-09 19:45 ` Segher Boessenkool
2007-08-09 20:46 ` Guennadi Liakhovetski
2007-08-10 17:44 ` Segher Boessenkool
2007-08-15 6:23 ` Paul Mackerras
2007-08-15 19:15 ` Guennadi Liakhovetski
2007-08-15 21:29 ` Scott Wood
2007-08-15 22:23 ` Guennadi Liakhovetski
2007-08-16 0:36 ` Stephen Rothwell
2007-07-03 0:42 ` [PATCH] powerpc: Add of_register_i2c_devices() Benjamin Herrenschmidt
2007-07-03 12:33 ` Segher Boessenkool
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=2055bb54b9816faaf5b2ceedc9cfa039@kernel.crashing.org \
--to=segher@kernel.crashing.org \
--cc=g.liakhovetski@gmx.de \
--cc=linuxppc-dev@ozlabs.org \
--cc=paulus@samba.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).