Re: [PATCH 1/5] i2c: Convert i2c-octeon.c to use device tree.
From: David Daney <hidden>
Date: 2012-03-27 01:29:37
Also in:
linux-i2c, linux-mips, lkml
From: David Daney <hidden>
Date: 2012-03-27 01:29:37
Also in:
linux-i2c, linux-mips, lkml
On 03/26/2012 06:20 PM, Rob Herring wrote: [...]
quoted
--- 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(-)snipquoted
- 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-bsGFqQB8/DxBDgjK7y7TUQ@public.gmane.org>
Thanks,