Hi Muganthan, On 22 July 2016 at 01:35, Mugunthan V N <mugunthan...@ti.com> wrote: > On Friday 22 July 2016 08:51 AM, Simon Glass wrote: >> Hi Mugunthan, >> >> On 18 July 2016 at 03:40, Mugunthan V N <mugunthan...@ti.com> wrote: >>> parse dt parameter of i2c devices only when CONFIG_OF_CONTROL >>> is enabled. >>> >>> Signed-off-by: Mugunthan V N <mugunthan...@ti.com> >>> --- >>> drivers/i2c/i2c-uclass.c | 14 ++++++++++++++ >>> 1 file changed, 14 insertions(+) >> >> Reviewed-by: Simon Glass <s...@chromium.org> >> >> Please see below. >> >>> >>> diff --git a/drivers/i2c/i2c-uclass.c b/drivers/i2c/i2c-uclass.c >>> index 50b99ea..20b30ff 100644 >>> --- a/drivers/i2c/i2c-uclass.c >>> +++ b/drivers/i2c/i2c-uclass.c >>> @@ -467,6 +467,7 @@ int i2c_deblock(struct udevice *bus) >>> return ops->deblock(bus); >>> } >>> >>> +#if CONFIG_IS_ENABLED(OF_CONTROL) >>> int i2c_chip_ofdata_to_platdata(const void *blob, int node, >>> struct dm_i2c_chip *chip) >>> { >>> @@ -482,31 +483,44 @@ int i2c_chip_ofdata_to_platdata(const void *blob, int >>> node, >>> >>> return 0; >>> } >>> +#endif >>> >>> static int i2c_post_probe(struct udevice *dev) >>> { >>> +#if CONFIG_IS_ENABLED(OF_CONTROL) >>> struct dm_i2c_bus *i2c = dev_get_uclass_priv(dev); >>> >>> i2c->speed_hz = fdtdec_get_int(gd->fdt_blob, dev->of_offset, >>> "clock-frequency", 100000); >> >> The above should be moved into i2c_chip_ofdata_to_platdata(), which >> will only be called if there is a device tree. > > This cannot be moved to i2c_chip_ofdata_to_platdata() as it is called > from post_bind where uclass_priv will not be allocated. uclass_priv will > be allocated in device probe.
OK I see. Then why do we need to support i2c without OF_CONTROL? Would it not be better to enable OF_CONTROL? Regards, Simon _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot