Messages in this thread | | | From | Andy Shevchenko <> | Date | Thu, 31 May 2018 09:21:25 +0300 | Subject | Re: [PATCH v7 3/7] drivers/i2c: Add port structure to FSI algorithm |
| |
On Thu, May 31, 2018 at 1:34 AM, Benjamin Herrenschmidt <benh@kernel.crashing.org> wrote: > On Thu, 2018-05-31 at 00:27 +0300, Andy Shevchenko wrote: >> On Wed, May 30, 2018 at 6:47 PM, Eddie James <eajames@linux.vnet.ibm.com> wrote: >> > On 05/29/2018 06:19 PM, Andy Shevchenko wrote: >> > > On Wed, May 30, 2018 at 1:24 AM, Eddie James <eajames@linux.vnet.ibm.com> >> > > wrote:
>> > > 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? > > Andy, I don't understand your issue. > > of_i2c_register_devices() is about discovering the i2c devices below a > given bus. This is not what is happening here. > > This is a driver for a master that supports multiple busses, so it the > above loop creates all the busses.
My issue here, that it feels like a lot of duplication with existing approaches. Though, it might be a right thing to do at the end. So, let's just assume maintainer will give their point of view.
>> > > > + 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? > > Please stop being so rude.
OK.
>> Moreover, you didn't answer to my question. Why are you doing that >> call implicitly? > > "implicitly" ? What's implicit here ? This is just pretty standard > cleanup after failure, you are being very cryptic here. > > Please state precisely what it is you dislike with that code instead of > expecting us to guess and being nasty about it. Eddie was a genuine > question, he doesn't see what you think is "hurtful to the eyes" in the > code you quoted.
In 99% cases when someone calls devm_kfree() it means wrong choice of devm_k*alloc() in the first place. So, with explanation given why it's done in this way I would rather suggest to switch to plain k*alloc() / kfree().
Or do we really care about few hundreds of bytes wasted?
-- With Best Regards, Andy Shevchenko
| |