mbox series

[v4,0/3] gpiolib: convert 'devprop_gpiochip_set_names' to support multiple gpiochip banks per device

Message ID 20210728041253.15382-1-sergio.paracuellos@gmail.com
Headers show
Series gpiolib: convert 'devprop_gpiochip_set_names' to support multiple gpiochip banks per device | expand

Message

Sergio Paracuellos July 28, 2021, 4:12 a.m. UTC
There are some unfortunate cases where the DT representation
of the device and the Linux internal representation differs.
Such drivers for devices are forced to implement a custom function
to avoid the core code 'devprop_gpiochip_set_names' to be executed
since in any other case every gpiochip inside will got repeated
names through its internal gpiochip banks. To avoid this antipattern
this changes are introduced trying to adapt core 'devprop_gpiochip_set_names'
to get a correct behaviour for every single situation.

This series introduces a new 'offset' field in the gpiochip structure
that can be used for those unfortunate drivers that must define multiple
gpiochips per device.

Drivers affected by this situation are also updated. These are
'gpio-mt7621' and 'gpio-brcmstb'.

Motivation for this series available at [0].

Thanks in advance for your feedback.

Best regards,
    Sergio Paracuellos

Changes in v4:
  - Add comma in warning message for clarity. 
  - Collect Gregory Fong Reviewed-by for PATCH 1/3.

Changes in v3:
  - Reflow a string literal to be on one line in PATCH 1/3.
  - reflow commit messages PATCH 2/3 and PATCH 3/3 to occupy a little bit
    more available space per line.

Changes in v2:
  - Address Gregory Fong comments in v1 of the series [1].
  - Collect Andy Shevchenko Reviewed-by for the series.
  - Collect Gregory Fong Acked-by for PATCH 3/3.

[0]: https://lkml.org/lkml/2021/6/26/198
[1]: https://lkml.org/lkml/2021/7/8/47

Sergio Paracuellos (3):
  gpiolib: convert 'devprop_gpiochip_set_names' to support multiple
    gpiochip banks per device
  gpio: mt7621: support gpio-line-names property
  gpio: brcmstb: remove custom 'brcmstb_gpio_set_names'

 drivers/gpio/gpio-brcmstb.c | 45 +------------------------------------
 drivers/gpio/gpio-mt7621.c  |  1 +
 drivers/gpio/gpiolib.c      | 32 +++++++++++++++++++++-----
 include/linux/gpio/driver.h |  4 ++++
 4 files changed, 33 insertions(+), 49 deletions(-)

Comments

Sergio Paracuellos July 29, 2021, 7:10 p.m. UTC | #1
On Thu, Jul 29, 2021 at 7:43 PM Bartosz Golaszewski
<bgolaszewski@baylibre.com> wrote:
>
> On Wed, Jul 28, 2021 at 6:12 AM Sergio Paracuellos
> <sergio.paracuellos@gmail.com> wrote:
> >
> > There are some unfortunate cases where the DT representation
> > of the device and the Linux internal representation differs.
> > Such drivers for devices are forced to implement a custom function
> > to avoid the core code 'devprop_gpiochip_set_names' to be executed
> > since in any other case every gpiochip inside will got repeated
> > names through its internal gpiochip banks. To avoid this antipattern
> > this changes are introduced trying to adapt core 'devprop_gpiochip_set_names'
> > to get a correct behaviour for every single situation.
> >
> > This series introduces a new 'offset' field in the gpiochip structure
> > that can be used for those unfortunate drivers that must define multiple
> > gpiochips per device.
> >
> > Drivers affected by this situation are also updated. These are
> > 'gpio-mt7621' and 'gpio-brcmstb'.
> >
> > Motivation for this series available at [0].
> >
> > Thanks in advance for your feedback.
> >
> > Best regards,
> >     Sergio Paracuellos
> >
> > Changes in v4:
> >   - Add comma in warning message for clarity.
> >   - Collect Gregory Fong Reviewed-by for PATCH 1/3.
> >
> > Changes in v3:
> >   - Reflow a string literal to be on one line in PATCH 1/3.
> >   - reflow commit messages PATCH 2/3 and PATCH 3/3 to occupy a little bit
> >     more available space per line.
> >
> > Changes in v2:
> >   - Address Gregory Fong comments in v1 of the series [1].
> >   - Collect Andy Shevchenko Reviewed-by for the series.
> >   - Collect Gregory Fong Acked-by for PATCH 3/3.
> >
> > [0]: https://lkml.org/lkml/2021/6/26/198
> > [1]: https://lkml.org/lkml/2021/7/8/47
> >
> > Sergio Paracuellos (3):
> >   gpiolib: convert 'devprop_gpiochip_set_names' to support multiple
> >     gpiochip banks per device
> >   gpio: mt7621: support gpio-line-names property
> >   gpio: brcmstb: remove custom 'brcmstb_gpio_set_names'
> >
> >  drivers/gpio/gpio-brcmstb.c | 45 +------------------------------------
> >  drivers/gpio/gpio-mt7621.c  |  1 +
> >  drivers/gpio/gpiolib.c      | 32 +++++++++++++++++++++-----
> >  include/linux/gpio/driver.h |  4 ++++
> >  4 files changed, 33 insertions(+), 49 deletions(-)
> >
> > --
> > 2.25.1
> >
>
> Patches queued for next. Thanks!

Thanks!

Best regards,
    Sergio Paracuellos
Linus Walleij Aug. 11, 2021, 9:03 a.m. UTC | #2
On Thu, Jul 29, 2021 at 7:43 PM Bartosz Golaszewski
<bgolaszewski@baylibre.com> wrote:
> On Wed, Jul 28, 2021 at 6:12 AM Sergio Paracuellos

> <sergio.paracuellos@gmail.com> wrote:


> Patches queued for next. Thanks!


Thanks to all for fixing this hairy situation with composite
GPIO controllers. I think there are some more controllers
that need this actually.

Yours,
Linus Walleij
Sergio Paracuellos Aug. 11, 2021, 10:26 a.m. UTC | #3
Hi Linus,

On Wed, Aug 11, 2021 at 11:03 AM Linus Walleij <linus.walleij@linaro.org> wrote:
>

> On Thu, Jul 29, 2021 at 7:43 PM Bartosz Golaszewski

> <bgolaszewski@baylibre.com> wrote:

> > On Wed, Jul 28, 2021 at 6:12 AM Sergio Paracuellos

> > <sergio.paracuellos@gmail.com> wrote:

>

> > Patches queued for next. Thanks!

>

> Thanks to all for fixing this hairy situation with composite

> GPIO controllers. I think there are some more controllers

> that need this actually.


I was searching for clear patterns that were using a similar approach
to this new stuff inside the gpio folder and I was not able to
properly be sure which other drivers can get the same change that I
did for mt7621 and broadcom applied... If you point me out to which
drivers can also use this, I am ok in sending patches for all of them
when I come back from a little rest time on August 23th.

Thanks,
    Sergio Paracuellos
>

> Yours,

> Linus Walleij
Linus Walleij Aug. 11, 2021, 2:29 p.m. UTC | #4
On Wed, Aug 11, 2021 at 12:27 PM Sergio Paracuellos
<sergio.paracuellos@gmail.com> wrote:

> I was searching for clear patterns that were using a similar approach

> to this new stuff inside the gpio folder and I was not able to

> properly be sure which other drivers can get the same change that I

> did for mt7621 and broadcom applied... If you point me out to which

> drivers can also use this, I am ok in sending patches for all of them

> when I come back from a little rest time on August 23th.


I don't know exactly how to identify these but this is one:
pinctrl-microchip-sgpio.c

Yours,
Linus Walleij