Re: [PATCH v4] gpio: sim: don't fiddle with GPIOLIB private members

From: Bartosz Golaszewski
Date: Mon Sep 11 2023 - 18:23:25 EST


On Mon, Sep 11, 2023 at 12:00 PM Andy Shevchenko
<andriy.shevchenko@xxxxxxxxxxxxxxx> wrote:
>
> On Fri, Sep 08, 2023 at 02:39:28PM +0200, Bartosz Golaszewski wrote:
> > On Thu, Sep 7, 2023 at 4:13 PM Andy Shevchenko
> > <andriy.shevchenko@xxxxxxxxxxxxxxx> wrote:
> > > On Thu, Sep 07, 2023 at 10:27:51AM +0200, Bartosz Golaszewski wrote:
>
> ...
>
> > > > #include <linux/completion.h>
> > > > #include <linux/configfs.h>
> > > > #include <linux/device.h>
> > >
> > > > +#include <linux/device/bus.h>
> > >
> > > No need, the device.h guarantees that.
> >
> > Wait, wasn't you the one who always suggests including headers
> > directly if we're using any symbols defined in them? Like when I said
> > that we don't need to include linux/notifier.h because it's already
> > included in gpiolib.h and you argued the opposite? :)
> >
> > device_match_fwnode() is defined in linux/device/bus.h so I thought
> > it's in order to include it.
>
> Yes, but I am not radical with it, I am for a compromise when some headers
> guarantee to include some others. That is the case I believe, I don't think
> device.h ever will be broken to the parts that are not include each other
> (too many things to change right now, if it happens, not in the feasible
> future).
>
> ...
>
> > > > +static int gpio_sim_dev_match_fwnode(struct device *dev, void *data)
> > > > +{
> > > > + /*
> > > > + * We can't pass this directly to device_find_child() due to pointer
> > > > + * type mismatch.
> > > > + */
> > >
> > > Not sure if this comment adds any value.
> >
> > I disagree - I would have used device_match_fwnode() as argument
> > passed directly to device_find_child() but I cannot due to pointer
> > type mismatch error so we need this wrapper and it's useful to say
> > why.
>
> Yes, and we have dozen(s ?) of the similar wrappers without a comment.
> So, I'm still for removing it.
>

Meh, fair enough.

Bart