Hi,

On Sun, Feb 24, 2008 at 04:16:30PM +0100, Jochen Friedrich wrote:
> Hi Olof,
> 
> >> 2. record the I2c name in the dts tree, either as seperate tag (like 
> >> linux,i2c-name="<i2c-name>")
> >>    or as additional compatible entry (like compatible="...", 
> >> "linux,<i2c-name>").
> > 
> > I have to say no on this one. The device tree is not supposed to know
> > about how linux uses devices, there are firmwares out there that don't
> > use DTS for thier device trees, etc.
> 
> I still believe this this could be done for embedded devices which are 
> usually booted
> via wrapper or U-Boot as those devices will most probably use the most exotic 
> I2c devices
> out there (e.g. home-grown devices used by stbs). However, I'm not an device 
> tree expert.

Sorry, but you're wrong in your assumptions. Not all embedded devices
use U-boot, and not all use the wrapper. It's just a bad idea to encode
linux-specific things in the device tree, period.

And even if you DO decide to go that route, guess what? You need a
translation table just as with (3) anyway!

> >> 3. use a glue layer with a translation map.
> > 
> > In my opinion this is an OK solution since the same information has to
> > be added somewhere already anyway -- eiither to the drivers or to this
> > translation table. It should of course be an abstacted shared table,
> > preferrably contained under the i2c source directories since several
> > platforms and architectures might share them.
> 
> I could think of a mixture between 2. and 3.:
> 
> Using the compatible attribute with the manufacturer stripped off as I2c name 
> by default
> and using an exception table. For now, the struct i2c_driver_device would 
> currently only
> need one entry ("dallas,ds1374", "rtc-ds1374").

You still need the translation table, you're just flattening the
namespace to one string instead of two, the same information still has
to be encoded. I can't see what the benefit of this approach compared to
the other one is. "dallas,ds1374" already only has one translation entry
in the table?


-Olof

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to