Messages in this thread | | | Date | Sun, 24 Feb 2008 12:15:10 -0600 | From | Olof Johansson <> | Subject | Re: [PATCHv4 2.6.25] i2c: adds support for i2c bus on Freescale CPM1/CPM2 controllers |
| |
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
| |