[PATCH 1/5] i2c: Convert i2c-octeon.c to use device tree.
David Daney
david.daney at cavium.com
Tue Mar 27 12:29:33 EST 2012
On 03/26/2012 06:20 PM, Rob Herring wrote:
[...]
>> ---
>>
>> Should probably go via Ralf's linux-mips.org tree.
>>
>> arch/mips/cavium-octeon/octeon-irq.c | 2 -
>> arch/mips/cavium-octeon/octeon-platform.c | 84 -------------------------
>> arch/mips/include/asm/octeon/octeon.h | 5 --
>> drivers/i2c/busses/i2c-octeon.c | 94 ++++++++++++++++-------------
>> 4 files changed, 52 insertions(+), 133 deletions(-)
>
> snip
>
>>
>> - if (i2c_data == NULL) {
>> - dev_err(i2c->dev, "no I2C frequency data\n");
>> + /*
>> + * "clock-rate" is a legacy binding, the official binding is
>> + * "clock-frequency". Try the official one first and then
>> + * fall back if it doesn't exist.
>> + */
>> + data = of_get_property(pdev->dev.of_node, "clock-frequency",&len);
>> + if (!data || len != sizeof(*data))
>> + data = of_get_property(pdev->dev.of_node, "clock-rate",&len);
>> + if (data&& len == sizeof(*data)) {
>> + i2c->twsi_freq = be32_to_cpup(data);
>
> Can't you use of_property_read_u32?
I will investigate, and use it if possible.
>
> Does the legacy binding really exist as DT support is new?
>
Yes, unfortunately some bootloaders escaped into the wild with the
"clock-rate" binding.
> Otherwise,
>
> Acked-by: Rob Herring<rob.herring at calxeda.com>
>
Thanks,
More information about the devicetree-discuss
mailing list