On Mon, Jun 11, 2012 at 5:25 PM, Lee Jones <lee.jones@xxxxxxxxxx> wrote: > As new users are > added, it is expected that they will be Device Tree compliant. > If this is the case, we will look up their initialisation values > by compatible entry, then apply them forthwith. (...) > +static struct nmk_i2c_controller u8500_i2c = { > + /* > + * slave data setup time, which is > + * 250 ns,100ns,10ns which is 14,6,2 > + * respectively for a 48 Mhz > + * i2c clock > + */ > + .slsu = 0xe, > + /* Tx FIFO threshold */ > + .tft = 1, > + /* Rx FIFO threshold */ > + .rft = 8, > + /* std. mode operation */ > + .clk_freq = 100000, > + /* Slave response timeout(ms) */ > + .timeout = 200, > + .sm = I2C_FREQ_MODE_FAST, > +}; So why don't we create proper device tree bindings for the above platform data? For example several driver under Documentation/devicetree/bindings/i2c/* define the .clk_freq above as "clock-frequency" samsung-i2c even has this: samsung,i2c-sda-delay = <100>; samsung,i2c-max-bus-freq = <100000>; Where i2c-sda-delay corresponds to slsu above. I suspect .sm can be derived from the frequency so it is "FAST" whenever the frequency > 100000. This looks to me like a way to push the burden of doing the real device tree binding for the above to the next user. (Which will likely be me, so therefore I care a bit ...) Yours, Linus Walleij -- To unsubscribe from this list: send the line "unsubscribe linux-i2c" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html