[PATCH 2/2] Add the of_find_i2c_device_by_node function, V4

Jon Smirl jonsmirl at gmail.com
Wed Jul 2 03:00:08 EST 2008


On 7/1/08, Grant Likely <grant.likely at secretlab.ca> wrote:
> On Tue, Jul 01, 2008 at 11:12:58AM -0400, Jon Smirl wrote:
>  > On 7/1/08, Jean Delvare <khali at linux-fr.org> wrote:
>  > > I'm fine with this patch. In particular, exporting i2c_bus_type is OK.
>  > >  It was un-exported only because it had no user left, but it can be
>  > >  exported again if needed.
>  >
>  > Another solution would be to move drivers/of/of_i2c into the i2c
>  > directory and make it part of i2c core on powerpc builds.
>
>
> My preference is for things like of_spi and of_i2c to go with the
>  related busses; I think it makes more sense to keep all the I2C stuff
>  together, but I've already lost that battle once.
>

This is a similar problem to adding aliases to the i2c driver drivers
for the device tree names of the i2c devices. Instead we have code in
drivers/of/of_i2c.c that tries to guess the translation from device
tree to linux names. Adding aliases to the drivers would eliminate the
need for of_find_i2c_driver().

I've previously posted patches implementing device tree names in the
drivers that used ifdef to only instantiate on powerpc builds. For
example....

diff --git a/drivers/i2c/chips/tps65010.c b/drivers/i2c/chips/tps65010.c
index e07274d..9cd1770 100644
--- a/drivers/i2c/chips/tps65010.c
+++ b/drivers/i2c/chips/tps65010.c
@@ -571,6 +571,10 @@ static const struct i2c_device_id tps65010_id[] = {
        { "tps65011", TPS65011 },
        { "tps65012", TPS65012 },
        { "tps65013", TPS65013 },
+       OF_ID("ti,tps65010", TPS65010)
+       OF_ID("ti,tps65011", TPS65011)
+       OF_ID("ti,tps65012", TPS65012)
+       OF_ID("ti,tps65013", TPS65013)
        { },
 };
 MODULE_DEVICE_TABLE(i2c, tps65010_id);


-- 
Jon Smirl
jonsmirl at gmail.com



More information about the Linuxppc-dev mailing list