All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v3 00/73] pinctrl: don't use GPIOLIB global numberspace in helpers
@ 2023-10-17 12:03 Bartosz Golaszewski
  2023-10-17 12:03 ` [PATCH v3 01/73] pinctrl: remove unneeded extern specifiers from consumer.h Bartosz Golaszewski
                   ` (73 more replies)
  0 siblings, 74 replies; 87+ messages in thread
From: Bartosz Golaszewski @ 2023-10-17 12:03 UTC (permalink / raw)
  To: Linus Walleij, Andy Shevchenko
  Cc: linux-kernel, linux-gpio, Bartosz Golaszewski

From: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>

We have a set of pinctrl helpers for GPIOLIB drivers that take a number
from the global GPIO numberspace as argument. We are trying to get rid
of this global numbering. Let's rework these helpers to use the
recommended gpio_chip + controller-relative offset instead.

This work is split into phases: first let's introduce the new variants
of the helpers. Next: let's convert all users one-by-one for easier
review. After that let's remove the old helpers and rename the new
variants to take the place of the old ones. Finally convert static
functions in pinctrl/core.c to using the same signature and to top it
off, let's remove now redundant wrappers around the pinctrl_helpers.

This series introduces no functional changes in drivers so I decided to
not spam every single driver maintainer anymore.

As this is a big series and there already are conflicts between it and
current pinctrl tree, I plan on sending it as a separate PR later in the
merge window once the bulk of GPIO and pinctrl changes are already
in master.

v2 -> v3:
- split patches modifying multiple drivers at once into separate
  changesets
- fix build errors reported by autobuilders

v1 -> v2:
- drop the conversion to using cleanup.h helpers as this is not the
  subject of this series
- split the patch renaming the new variants to the old names into
  several patches that perform the operation step by step for easier
  review
- collect review tags and acks
- add follow-up patches that drop the wrappers around pinctrl helpers
  where applicable (where all the wrappers do is call the helper)
- fix build error with PINCTRL disabled

Bartosz Golaszewski (73):
  pinctrl: remove unneeded extern specifiers from consumer.h
  pinctrl: provide new GPIO-to-pinctrl glue helpers
  gpiolib: generic: use new pinctrl GPIO helpers
  gpio: cdev: use pinctrl_gpio_can_use_line_new()
  gpio: rcar: use new pinctrl GPIO helpers
  gpio: tegra: use new pinctrl GPIO helpers
  gpio: em: use new pinctrl GPIO helpers
  gpio: aspeed: use new pinctrl GPIO helpers
  gpio: mvebu: use new pinctrl GPIO helpers
  gpio: pxa: use new pinctrl GPIO helpers
  gpio: rockchip: use new pinctrl GPIO helpers
  gpio: vf610: use new pinctrl GPIO helpers
  pinctrl: nuvoton: npcm7xx: use new pinctrl GPIO helpers
  pinctrl: nuvoton: npcm8xx: use new pinctrl GPIO helpers
  pinctrl: renesas: use new pinctrl GPIO helpers
  pinctrl: bcm: use new pinctrl GPIO helpers
  pinctrl: stm32: use new pinctrl GPIO helpers
  pinctrl: spear: use new pinctrl GPIO helpers
  pinctrl: starfive: jh7100: use new pinctrl GPIO helpers
  pinctrl: starfive: jh7110: use new pinctrl GPIO helpers
  pinctrl: ocelot: use new pinctrl GPIO helpers
  pinctrl: rk805: use new pinctrl GPIO helpers
  pinctrl: cirrus: use new pinctrl GPIO helpers
  pinctrl: mediatek: moore: use new pinctrl GPIO helpers
  pinctrl: mediatek: common: use new pinctrl GPIO helpers
  pinctrl: mediatek: paris: use new pinctrl GPIO helpers
  pinctrl: axp209: use new pinctrl GPIO helpers
  pinctrl: vt8500: use new pinctrl GPIO helpers
  pinctrl: cy8c95x0: use new pinctrl GPIO helpers
  pinctrl: as3722: use new pinctrl GPIO helpers
  pinctrl: ingenic: use new pinctrl GPIO helpers
  pinctrl: intel: cherryview: use new pinctrl GPIO helpers
  pinctrl: intel: use new pinctrl GPIO helpers
  pinctrl: intel: lynxpoint: use new pinctrl GPIO helpers
  pinctrl: st: use new pinctrl GPIO helpers
  pinctrl: remove pinctrl_gpio_can_use_line()
  pinctrl: remove pinctrl_gpio_request()
  pinctrl: remove pinctrl_gpio_free()
  pinctrl: remove pinctrl_gpio_direction_input()
  pinctrl: remove pinctrl_gpio_direction_output()
  pinctrl: remove pinctrl_gpio_set_config()
  treewide: rename pinctrl_gpio_can_use_line_new()
  treewide: rename pinctrl_gpio_request_new()
  treewide: rename pinctrl_gpio_free_new()
  treewide: rename pinctrl_gpio_direction_input_new()
  treewide: rename pinctrl_gpio_direction_output_new()
  treewide: rename pinctrl_gpio_set_config_new()
  pinctrl: change the signature of pinctrl_gpio_direction()
  pinctrl: change the signature of pinctrl_get_device_gpio_range()
  pinctrl: change the signature of pinctrl_match_gpio_range()
  pinctrl: change the signature of gpio_to_pin()
  pinctrl: change the signature of pinctrl_ready_for_gpio_range()
  pinctrl: intel: lynxpoint: drop the wrappers around
    pinctrl_gpio_direction_input()
  pinctrl: intel: drop the wrappers around
    pinctrl_gpio_direction_input()
  pinctrl: intel: cherryview: drop the wrappers around
    pinctrl_gpio_direction_input()
  pinctrl: st: drop the wrapper around pinctrl_gpio_direction_input()
  pinctrl: ingenic: drop the wrapper around
    pinctrl_gpio_direction_input()
  pinctrl: as3722: drop the wrapper around
    pinctrl_gpio_direction_input()
  pinctrl: cy8c95x0: drop the wrapper around
    pinctrl_gpio_direction_input()
  pinctrl: vt8500: drop the wrapper around
    pinctrl_gpio_direction_input()
  pinctrl: axp209: drop the wrapper around
    pinctrl_gpio_direction_input()
  pinctrl: rk805: drop the wrapper around pinctrl_gpio_direction_input()
  pinctrl: mediatek: moore: drop the wrappers around
    pinctrl_gpio_direction_input()
  pinctrl: mediatek: common: drop the wrappers around
    pinctrl_gpio_direction_input()
  pinctrl: cirrus: drop the wrapper around
    pinctrl_gpio_direction_input()
  pinctrl: ocelot: drop the wrapper around
    pinctrl_gpio_direction_input()
  pinctrl: starfive: jh7100: drop wrappers around
    pinctrl_gpio_request/free()
  pinctrl: starfive: jh7110: drop wrappers around
    pinctrl_gpio_request/free()
  pinctrl: stm32: drop wrappers around pinctrl_gpio_free/input()
  pinctrl: nuvoton: npcm7xx: drop wrappers around
    pinctrl_gpio_request/free()
  pinctrl: nuvoton: npcm8xx: drop wrappers around
    pinctrl_gpio_request/free()
  pinctrl: em: drop the wrapper around pinctrl_gpio_request()
  pinctrl: tegra: drop the wrapper around pinctrl_gpio_request()

 drivers/gpio/gpio-aspeed.c                    |   6 +-
 drivers/gpio/gpio-em.c                        |   9 +-
 drivers/gpio/gpio-mvebu.c                     |   4 +-
 drivers/gpio/gpio-pxa.c                       |   4 +-
 drivers/gpio/gpio-rcar.c                      |   4 +-
 drivers/gpio/gpio-rockchip.c                  |   4 +-
 drivers/gpio/gpio-tegra.c                     |  13 +-
 drivers/gpio/gpio-vf610.c                     |   4 +-
 drivers/gpio/gpiolib-cdev.c                   |   3 +-
 drivers/gpio/gpiolib.c                        |   6 +-
 drivers/pinctrl/bcm/pinctrl-iproc-gpio.c      |   6 +-
 drivers/pinctrl/cirrus/pinctrl-cs42l43.c      |   9 +-
 drivers/pinctrl/cirrus/pinctrl-lochnagar.c    |   2 +-
 drivers/pinctrl/core.c                        | 133 ++++++++++--------
 drivers/pinctrl/intel/pinctrl-cherryview.c    |   9 +-
 drivers/pinctrl/intel/pinctrl-intel.c         |   9 +-
 drivers/pinctrl/intel/pinctrl-lynxpoint.c     |   9 +-
 drivers/pinctrl/mediatek/pinctrl-moore.c      |   9 +-
 drivers/pinctrl/mediatek/pinctrl-mtk-common.c |  10 +-
 drivers/pinctrl/mediatek/pinctrl-paris.c      |   4 +-
 drivers/pinctrl/nuvoton/pinctrl-npcm7xx.c     |  14 +-
 drivers/pinctrl/nuvoton/pinctrl-npcm8xx.c     |  13 +-
 drivers/pinctrl/pinctrl-as3722.c              |   9 +-
 drivers/pinctrl/pinctrl-axp209.c              |   7 +-
 drivers/pinctrl/pinctrl-cy8c95x0.c            |   9 +-
 drivers/pinctrl/pinctrl-ingenic.c             |  19 ++-
 drivers/pinctrl/pinctrl-ocelot.c              |  10 +-
 drivers/pinctrl/pinctrl-rk805.c               |  10 +-
 drivers/pinctrl/pinctrl-st.c                  |  13 +-
 drivers/pinctrl/renesas/gpio.c                |   8 +-
 drivers/pinctrl/renesas/pinctrl-rzg2l.c       |   4 +-
 drivers/pinctrl/renesas/pinctrl-rzv2m.c       |   4 +-
 drivers/pinctrl/spear/pinctrl-plgpio.c        |   8 +-
 .../starfive/pinctrl-starfive-jh7100.c        |  14 +-
 .../starfive/pinctrl-starfive-jh7110.c        |  14 +-
 drivers/pinctrl/stm32/pinctrl-stm32.c         |  20 +--
 drivers/pinctrl/vt8500/pinctrl-wmt.c          |   9 +-
 include/linux/pinctrl/consumer.h              |  57 +++++---
 38 files changed, 196 insertions(+), 303 deletions(-)

-- 
2.39.2


^ permalink raw reply	[flat|nested] 87+ messages in thread

end of thread, other threads:[~2023-10-23  8:32 UTC | newest]

Thread overview: 87+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-10-17 12:03 [PATCH v3 00/73] pinctrl: don't use GPIOLIB global numberspace in helpers Bartosz Golaszewski
2023-10-17 12:03 ` [PATCH v3 01/73] pinctrl: remove unneeded extern specifiers from consumer.h Bartosz Golaszewski
2023-10-17 12:03 ` [PATCH v3 02/73] pinctrl: provide new GPIO-to-pinctrl glue helpers Bartosz Golaszewski
2023-10-17 12:03 ` [PATCH v3 03/73] gpiolib: generic: use new pinctrl GPIO helpers Bartosz Golaszewski
2023-10-17 12:03 ` [PATCH v3 04/73] gpio: cdev: use pinctrl_gpio_can_use_line_new() Bartosz Golaszewski
2023-10-17 12:03 ` [PATCH v3 05/73] gpio: rcar: use new pinctrl GPIO helpers Bartosz Golaszewski
2023-10-17 12:03 ` [PATCH v3 06/73] gpio: tegra: " Bartosz Golaszewski
2023-10-17 12:03 ` [PATCH v3 07/73] gpio: em: " Bartosz Golaszewski
2023-10-17 12:03 ` [PATCH v3 08/73] gpio: aspeed: " Bartosz Golaszewski
2023-10-17 12:03 ` [PATCH v3 09/73] gpio: mvebu: " Bartosz Golaszewski
2023-10-17 12:03 ` [PATCH v3 10/73] gpio: pxa: " Bartosz Golaszewski
2023-10-17 12:03 ` [PATCH v3 11/73] gpio: rockchip: " Bartosz Golaszewski
2023-10-17 12:03 ` [PATCH v3 12/73] gpio: vf610: " Bartosz Golaszewski
2023-10-17 12:03 ` [PATCH v3 13/73] pinctrl: nuvoton: npcm7xx: " Bartosz Golaszewski
2023-10-17 12:03 ` [PATCH v3 14/73] pinctrl: nuvoton: npcm8xx: " Bartosz Golaszewski
2023-10-17 12:03 ` [PATCH v3 15/73] pinctrl: renesas: " Bartosz Golaszewski
2023-10-17 12:03 ` [PATCH v3 16/73] pinctrl: bcm: " Bartosz Golaszewski
2023-10-17 12:03 ` [PATCH v3 17/73] pinctrl: stm32: " Bartosz Golaszewski
2023-10-17 12:03 ` [PATCH v3 18/73] pinctrl: spear: " Bartosz Golaszewski
2023-10-17 12:03 ` [PATCH v3 19/73] pinctrl: starfive: jh7100: " Bartosz Golaszewski
2023-10-17 12:03 ` [PATCH v3 20/73] pinctrl: starfive: jh7110: " Bartosz Golaszewski
2023-10-17 12:03 ` [PATCH v3 21/73] pinctrl: ocelot: " Bartosz Golaszewski
2023-10-17 12:03 ` [PATCH v3 22/73] pinctrl: rk805: " Bartosz Golaszewski
2023-10-17 12:03 ` [PATCH v3 23/73] pinctrl: cirrus: " Bartosz Golaszewski
2023-10-17 12:03 ` [PATCH v3 24/73] pinctrl: mediatek: moore: " Bartosz Golaszewski
2023-10-17 12:03 ` [PATCH v3 25/73] pinctrl: mediatek: common: " Bartosz Golaszewski
2023-10-17 12:03 ` [PATCH v3 26/73] pinctrl: mediatek: paris: " Bartosz Golaszewski
2023-10-17 12:03 ` [PATCH v3 27/73] pinctrl: axp209: " Bartosz Golaszewski
2023-10-17 12:03 ` [PATCH v3 28/73] pinctrl: vt8500: " Bartosz Golaszewski
2023-10-17 12:03 ` [PATCH v3 29/73] pinctrl: cy8c95x0: " Bartosz Golaszewski
2023-10-17 12:03 ` [PATCH v3 30/73] pinctrl: as3722: " Bartosz Golaszewski
2023-10-17 12:03 ` [PATCH v3 31/73] pinctrl: ingenic: " Bartosz Golaszewski
2023-10-17 12:03 ` [PATCH v3 32/73] pinctrl: intel: cherryview: " Bartosz Golaszewski
2023-10-17 12:26   ` Andy Shevchenko
2023-10-17 12:03 ` [PATCH v3 33/73] pinctrl: intel: " Bartosz Golaszewski
2023-10-17 12:03 ` [PATCH v3 34/73] pinctrl: intel: lynxpoint: " Bartosz Golaszewski
2023-10-17 12:26   ` Andy Shevchenko
2023-10-17 12:03 ` [PATCH v3 35/73] pinctrl: st: " Bartosz Golaszewski
2023-10-17 12:03 ` [PATCH v3 36/73] pinctrl: remove pinctrl_gpio_can_use_line() Bartosz Golaszewski
2023-10-17 12:03 ` [PATCH v3 37/73] pinctrl: remove pinctrl_gpio_request() Bartosz Golaszewski
2023-10-17 12:03 ` [PATCH v3 38/73] pinctrl: remove pinctrl_gpio_free() Bartosz Golaszewski
2023-10-17 12:03 ` [PATCH v3 39/73] pinctrl: remove pinctrl_gpio_direction_input() Bartosz Golaszewski
2023-10-17 12:03 ` [PATCH v3 40/73] pinctrl: remove pinctrl_gpio_direction_output() Bartosz Golaszewski
2023-10-17 12:03 ` [PATCH v3 41/73] pinctrl: remove pinctrl_gpio_set_config() Bartosz Golaszewski
2023-10-17 12:04 ` [PATCH v3 42/73] treewide: rename pinctrl_gpio_can_use_line_new() Bartosz Golaszewski
2023-10-17 12:04 ` [PATCH v3 43/73] treewide: rename pinctrl_gpio_request_new() Bartosz Golaszewski
2023-10-17 12:04 ` [PATCH v3 44/73] treewide: rename pinctrl_gpio_free_new() Bartosz Golaszewski
2023-10-17 12:04 ` [PATCH v3 45/73] treewide: rename pinctrl_gpio_direction_input_new() Bartosz Golaszewski
2023-10-17 12:04 ` [PATCH v3 46/73] treewide: rename pinctrl_gpio_direction_output_new() Bartosz Golaszewski
2023-10-17 12:04 ` [PATCH v3 47/73] treewide: rename pinctrl_gpio_set_config_new() Bartosz Golaszewski
2023-10-17 12:04 ` [PATCH v3 48/73] pinctrl: change the signature of pinctrl_gpio_direction() Bartosz Golaszewski
2023-10-17 12:04 ` [PATCH v3 49/73] pinctrl: change the signature of pinctrl_get_device_gpio_range() Bartosz Golaszewski
2023-10-17 12:04 ` [PATCH v3 50/73] pinctrl: change the signature of pinctrl_match_gpio_range() Bartosz Golaszewski
2023-10-17 12:04 ` [PATCH v3 51/73] pinctrl: change the signature of gpio_to_pin() Bartosz Golaszewski
2023-10-17 12:04 ` [PATCH v3 52/73] pinctrl: change the signature of pinctrl_ready_for_gpio_range() Bartosz Golaszewski
2023-10-17 12:04 ` [PATCH v3 53/73] pinctrl: intel: lynxpoint: drop the wrappers around pinctrl_gpio_direction_input() Bartosz Golaszewski
2023-10-17 12:28   ` Andy Shevchenko
2023-10-17 12:33     ` Bartosz Golaszewski
2023-10-17 12:04 ` [PATCH v3 54/73] pinctrl: intel: " Bartosz Golaszewski
2023-10-17 12:41   ` Andy Shevchenko
2023-10-17 12:44     ` Bartosz Golaszewski
2023-10-17 12:46       ` Andy Shevchenko
2023-10-17 12:55         ` Bartosz Golaszewski
2023-10-17 13:16           ` Andy Shevchenko
2023-10-17 14:51             ` Bartosz Golaszewski
2023-10-17 12:04 ` [PATCH v3 55/73] pinctrl: intel: cherryview: " Bartosz Golaszewski
2023-10-17 12:31   ` Andy Shevchenko
2023-10-17 12:04 ` [PATCH v3 56/73] pinctrl: st: drop the wrapper " Bartosz Golaszewski
2023-10-17 12:04 ` [PATCH v3 57/73] pinctrl: ingenic: " Bartosz Golaszewski
2023-10-17 12:04 ` [PATCH v3 58/73] pinctrl: as3722: " Bartosz Golaszewski
2023-10-17 12:04 ` [PATCH v3 59/73] pinctrl: cy8c95x0: " Bartosz Golaszewski
2023-10-17 12:45   ` Andy Shevchenko
2023-10-17 12:04 ` [PATCH v3 60/73] pinctrl: vt8500: " Bartosz Golaszewski
2023-10-17 12:04 ` [PATCH v3 61/73] pinctrl: axp209: " Bartosz Golaszewski
2023-10-17 12:04 ` [PATCH v3 62/73] pinctrl: rk805: " Bartosz Golaszewski
2023-10-17 12:04 ` [PATCH v3 63/73] pinctrl: mediatek: moore: drop the wrappers " Bartosz Golaszewski
2023-10-17 12:04 ` [PATCH v3 64/73] pinctrl: mediatek: common: " Bartosz Golaszewski
2023-10-17 12:04 ` [PATCH v3 65/73] pinctrl: cirrus: drop the wrapper " Bartosz Golaszewski
2023-10-17 12:04 ` [PATCH v3 66/73] pinctrl: ocelot: " Bartosz Golaszewski
2023-10-17 12:04 ` [PATCH v3 67/73] pinctrl: starfive: jh7100: drop wrappers around pinctrl_gpio_request/free() Bartosz Golaszewski
2023-10-17 12:04 ` [PATCH v3 68/73] pinctrl: starfive: jh7110: " Bartosz Golaszewski
2023-10-17 12:04 ` [PATCH v3 69/73] pinctrl: stm32: drop wrappers around pinctrl_gpio_free/input() Bartosz Golaszewski
2023-10-17 12:04 ` [PATCH v3 70/73] pinctrl: nuvoton: npcm7xx: drop wrappers around pinctrl_gpio_request/free() Bartosz Golaszewski
2023-10-17 12:04 ` [PATCH v3 71/73] pinctrl: nuvoton: npcm8xx: " Bartosz Golaszewski
2023-10-17 12:04 ` [PATCH v3 72/73] pinctrl: em: drop the wrapper around pinctrl_gpio_request() Bartosz Golaszewski
2023-10-17 12:04 ` [PATCH v3 73/73] pinctrl: tegra: " Bartosz Golaszewski
2023-10-23  8:14 ` [PATCH v3 00/73] pinctrl: don't use GPIOLIB global numberspace in helpers Linus Walleij

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.