[U-Boot] [PATCH 03/14] drivers: i2c: uclass: parse dt parameters only when CONFIG_OF_CONTROL is enable

Simon Glass sjg at chromium.org
Fri Jul 22 16:16:53 CEST 2016


Hi Muganthan,

On 22 July 2016 at 01:35, Mugunthan V N <mugunthanvnm at 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 <mugunthanvnm at ti.com> wrote:
>>> parse dt parameter of i2c devices only when CONFIG_OF_CONTROL
>>> is enabled.
>>>
>>> Signed-off-by: Mugunthan V N <mugunthanvnm at ti.com>
>>> ---
>>>  drivers/i2c/i2c-uclass.c | 14 ++++++++++++++
>>>  1 file changed, 14 insertions(+)
>>
>> Reviewed-by: Simon Glass <sjg at 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


More information about the U-Boot mailing list