From: Bartosz Golaszewski <brgl@bgdev.pl>
To: Linus Walleij <linus.walleij@linaro.org>,
Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Cc: linux-kernel@vger.kernel.org, linux-gpio@vger.kernel.org,
Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Subject: [PATCH v3 00/73] pinctrl: don't use GPIOLIB global numberspace in helpers
Date: Tue, 17 Oct 2023 14:03:18 +0200 [thread overview]
Message-ID: <20231017120431.68847-1-brgl@bgdev.pl> (raw)
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
next reply other threads:[~2023-10-17 12:04 UTC|newest]
Thread overview: 87+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-10-17 12:03 Bartosz Golaszewski [this message]
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
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20231017120431.68847-1-brgl@bgdev.pl \
--to=brgl@bgdev.pl \
--cc=andriy.shevchenko@linux.intel.com \
--cc=bartosz.golaszewski@linaro.org \
--cc=linus.walleij@linaro.org \
--cc=linux-gpio@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox