Re: [PATCH v7 3/7] drivers/i2c: Add port structure to FSI algorithm

From: Andy Shevchenko
Date: Wed May 30 2018 - 17:27:11 EST


On Wed, May 30, 2018 at 6:47 PM, Eddie James <eajames@xxxxxxxxxxxxxxxxxx> wrote:
> On 05/29/2018 06:19 PM, Andy Shevchenko wrote:
>> On Wed, May 30, 2018 at 1:24 AM, Eddie James <eajames@xxxxxxxxxxxxxxxxxx>
>> wrote:

>>> static int fsi_i2c_probe(struct device *dev)
>>> {
>>
>> Isn't below somehow repeats of_i2c_register_devices() ?
>> Why not to use it?
>
>
> Because I need to assign all these port structure fields. Also looks like
> of_i2c_register_devices creates new devices; I just want an adapter for each
> port.

Hmm... Wolfram, what is your opinion on this design?


>>> + devm_kfree(dev, port);
>>
>> This hurts my eyes. Why?!

> What would you suggest instead?

You even didn't wait for answer, why to ask then?
Moreover, you didn't answer to my question. Why are you doing that
call implicitly?

>>> + if (!list_empty(&i2c->ports)) {
>>
>> My gosh, this is done already in list_for_each*()

> No, list_for_each_entry does NOT check if the list is empty or if the first
> entry is NULL.

Please, read the macro source code again.

--
With Best Regards,
Andy Shevchenko