mbox series

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

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


Sergio Paracuellos July 27, 2021, 3:20 p.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 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(-)