Re: [PATCH v3 3/5] gpio: syscon: Add support for a custom get operation

From: Bartosz Golaszewski
Date: Thu Oct 03 2019 - 10:05:36 EST


czw., 3 paÅ 2019 o 13:26 Paul Kocialkowski
<paul.kocialkowski@xxxxxxxxxxx> napisaÅ(a):
>
> Hi,
>
> On Thu 03 Oct 19, 10:24, Bartosz Golaszewski wrote:
> > pt., 27 wrz 2019 o 12:04 Paul Kocialkowski
> > <paul.kocialkowski@xxxxxxxxxxx> napisaÅ(a):
> > >
> > > Some drivers might need a custom get operation to match custom
> > > behavior implemented in the set operation.
> > >
> > > Add plumbing for supporting that.
> > >
> > > Signed-off-by: Paul Kocialkowski <paul.kocialkowski@xxxxxxxxxxx>
> > > ---
> > > drivers/gpio/gpio-syscon.c | 7 ++++---
> > > 1 file changed, 4 insertions(+), 3 deletions(-)
> > >
> > > diff --git a/drivers/gpio/gpio-syscon.c b/drivers/gpio/gpio-syscon.c
> > > index 31f332074d7d..05c537ed73f1 100644
> > > --- a/drivers/gpio/gpio-syscon.c
> > > +++ b/drivers/gpio/gpio-syscon.c
> > > @@ -43,8 +43,9 @@ struct syscon_gpio_data {
> > > unsigned int bit_count;
> > > unsigned int dat_bit_offset;
> > > unsigned int dir_bit_offset;
> > > - void (*set)(struct gpio_chip *chip,
> > > - unsigned offset, int value);
> > > + int (*get)(struct gpio_chip *chip, unsigned offset);
> > > + void (*set)(struct gpio_chip *chip, unsigned offset,
> > > + int value);
> >
> > Why did you change this line? Doesn't seem necessary and pollutes the history.
>
> This is for consistency since both the "chip" and "offset" arguments can fit
> in a single line. Since I want the "get" addition to fit in a single line,
> bringing back "offset" on the previous line of "set" makes things consistent.
> There's probably no particular reason for the split in the first place.
>
> Do you think it needs a separate cosmetic commit only for that?
> I'd rather add a note in the commit message and keep the change as-is.
>

The line is still broken - just in a different place. I'd prefer to
leave it as it is frankly, there's nothing wrong with it.

Bart

> Cheers,
>
> Paul
>
> > Bart
> >
> > > };
> > >
> > > struct syscon_gpio_priv {
> > > @@ -252,7 +253,7 @@ static int syscon_gpio_probe(struct platform_device *pdev)
> > > priv->chip.label = dev_name(dev);
> > > priv->chip.base = -1;
> > > priv->chip.ngpio = priv->data->bit_count;
> > > - priv->chip.get = syscon_gpio_get;
> > > + priv->chip.get = priv->data->get ? : syscon_gpio_get;
> > > if (priv->data->flags & GPIO_SYSCON_FEAT_IN)
> > > priv->chip.direction_input = syscon_gpio_dir_in;
> > > if (priv->data->flags & GPIO_SYSCON_FEAT_OUT) {
> > > --
> > > 2.23.0
> > >
>
> --
> Paul Kocialkowski, Bootlin
> Embedded Linux and kernel engineering
> https://bootlin.com