]> git.ipfire.org Git - thirdparty/kernel/linux.git/log
thirdparty/kernel/linux.git
2 weeks agopinctrl: provide pinmux_generic_add_pinfunction()
Bartosz Golaszewski [Wed, 9 Jul 2025 14:38:58 +0000 (16:38 +0200)] 
pinctrl: provide pinmux_generic_add_pinfunction()

Several drivers call pinmux_generic_add_function() passing it the
contents of struct pinfunction as first three arguments. We can make
this shorter by simply providing an interface allowing to pass the
address of struct pinfunction directly when adding a new function.

Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Link: https://lore.kernel.org/20250709-pinctrl-gpio-pinfuncs-v2-2-b6135149c0d9@linaro.org
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2 weeks agopinctrl: pinmux: open-code PINCTRL_FUNCTION_DESC()
Bartosz Golaszewski [Wed, 9 Jul 2025 14:38:57 +0000 (16:38 +0200)] 
pinctrl: pinmux: open-code PINCTRL_FUNCTION_DESC()

This macro is only used in one place and pin function descriptors should
only be created by pinmux core so there's no point in exposing it to
other pinctrl users. Remove the macro and hand-code its functionality.

Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Reviewed-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/20250709-pinctrl-gpio-pinfuncs-v2-1-b6135149c0d9@linaro.org
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2 weeks agopinctrl: ma35: use new GPIO line value setter callbacks
Bartosz Golaszewski [Thu, 17 Jul 2025 12:57:58 +0000 (14:57 +0200)] 
pinctrl: ma35: use new GPIO line value setter callbacks

struct gpio_chip now has callbacks for setting line values that return
an integer, allowing to indicate failures. Convert the driver to using
them.

Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Link: https://lore.kernel.org/20250717125758.53141-1-brgl@bgdev.pl
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
3 weeks agoMerge tag 'samsung-pinctrl-6.17' of https://git.kernel.org/pub/scm/linux/kernel/git...
Linus Walleij [Tue, 15 Jul 2025 13:59:48 +0000 (15:59 +0200)] 
Merge tag 'samsung-pinctrl-6.17' of https://git.kernel.org/pub/scm/linux/kernel/git/pinctrl/samsung into devel

Samsung pinctrl drivers changes for v6.17

Add support for programming wake up for Google GS101 SoC pin
controllers, so the SoC can be properly woken up from low power states.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
3 weeks agoMerge tag 'intel-pinctrl-v6.16-1' of git://git.kernel.org/pub/scm/linux/kernel/git...
Linus Walleij [Mon, 14 Jul 2025 15:55:30 +0000 (17:55 +0200)] 
Merge tag 'intel-pinctrl-v6.16-1' of git://git.kernel.org/pub/scm/linux/kernel/git/pinctrl/intel into devel

intel-pinctrl for v6.16-1

* Use new GPIO line value setter callbacks (Bartosz Golaszewski)
* Add missed export.h to the main driver

The following is an automated git shortlog grouped by driver:

baytrail:
 -  use new GPIO line value setter callbacks

cherryview:
 -  use new GPIO line value setter callbacks

intel:
 -  fix build warnings about export.h
 -  use new GPIO line value setter callbacks

lynxpoint:
 -  use new GPIO line value setter callbacks

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
3 weeks agoMAINTAINERS: add Clément Le Goffic as STM32 HDP maintainer
Clément Le Goffic [Fri, 11 Jul 2025 07:41:21 +0000 (09:41 +0200)] 
MAINTAINERS: add Clément Le Goffic as STM32 HDP maintainer

Add Clément Le Goffic as STM32 HDP maintainer.

Signed-off-by: Clément Le Goffic <clement.legoffic@foss.st.com>
Link: https://lore.kernel.org/20250711-hdp-upstream-v7-3-faeecf7aaee1@foss.st.com
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
3 weeks agopinctrl: stm32: Introduce HDP driver
Clément Le Goffic [Fri, 11 Jul 2025 07:41:20 +0000 (09:41 +0200)] 
pinctrl: stm32: Introduce HDP driver

This patch introduce the driver for the Hardware Debug Port available on
STM32MP platforms. The HDP allows the observation of internal SoC
signals by using multiplexers. Each HDP port can provide up to 16
internal signals (one of them can be software controlled as a GPO).

Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Clément Le Goffic <clement.legoffic@foss.st.com>
Link: https://lore.kernel.org/20250711-hdp-upstream-v7-2-faeecf7aaee1@foss.st.com
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
3 weeks agodt-bindings: pinctrl: stm32: Introduce HDP
Clément Le Goffic [Fri, 11 Jul 2025 07:41:19 +0000 (09:41 +0200)] 
dt-bindings: pinctrl: stm32: Introduce HDP

'HDP' stands for Hardware Debug Port, it is an hardware block in
STMicrolectronics' MPUs that let the user decide which internal SoC's
signal to observe.
It provides 8 ports and for each port there is up to 16 different
signals that can be output.
Signals are different for each MPU.

Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Clément Le Goffic <clement.legoffic@foss.st.com>
Link: https://lore.kernel.org/20250711-hdp-upstream-v7-1-faeecf7aaee1@foss.st.com
[Fixed up Clement's new email address]
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
3 weeks agopinctrl: qcom: Add Milos pinctrl driver
Luca Weiss [Wed, 2 Jul 2025 15:56:17 +0000 (17:56 +0200)] 
pinctrl: qcom: Add Milos pinctrl driver

Add pinctrl driver for TLMM block found in the Milos SoC.

Signed-off-by: Luca Weiss <luca.weiss@fairphone.com>
Reviewed-by: Bjorn Andersson <andersson@kernel.org>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Link: https://lore.kernel.org/20250702-sm7635-pinctrl-v2-2-c138624b9924@fairphone.com
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
3 weeks agodt-bindings: pinctrl: document the Milos Top Level Mode Multiplexer
Luca Weiss [Wed, 2 Jul 2025 15:56:16 +0000 (17:56 +0200)] 
dt-bindings: pinctrl: document the Milos Top Level Mode Multiplexer

Document the Top Level Mode Multiplexer on the Milos Platform.

Signed-off-by: Luca Weiss <luca.weiss@fairphone.com>
Reviewed-by: Rob Herring (Arm) <robh@kernel.org>
Link: https://lore.kernel.org/20250702-sm7635-pinctrl-v2-1-c138624b9924@fairphone.com
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
3 weeks agopinctrl: qcom: spmi: Add PM7550
Luca Weiss [Wed, 9 Jul 2025 11:46:35 +0000 (13:46 +0200)] 
pinctrl: qcom: spmi: Add PM7550

PM7550 is a PMIC, featuring 12 GPIOs. Describe it.

Signed-off-by: Luca Weiss <luca.weiss@fairphone.com>
Link: https://lore.kernel.org/20250709-sm7635-pmxr2230-v2-4-09777dab0a95@fairphone.com
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
3 weeks agodt-bindings: pinctrl: qcom,pmic-gpio: Add PM7550 support
Luca Weiss [Wed, 9 Jul 2025 11:46:34 +0000 (13:46 +0200)] 
dt-bindings: pinctrl: qcom,pmic-gpio: Add PM7550 support

Update the Qualcomm Technologies, Inc. PMIC GPIO binding documentation
to include the compatible string for the PM7550 PMICs.

Signed-off-by: Luca Weiss <luca.weiss@fairphone.com>
Acked-by: Rob Herring (Arm) <robh@kernel.org>
Link: https://lore.kernel.org/20250709-sm7635-pmxr2230-v2-3-09777dab0a95@fairphone.com
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
3 weeks agopinctrl: qcom: spmi: Add PMIV0104
Luca Weiss [Wed, 9 Jul 2025 11:22:28 +0000 (13:22 +0200)] 
pinctrl: qcom: spmi: Add PMIV0104

PMIV0104 is a PMIC, featuring 10 GPIOs. Describe it.

Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Signed-off-by: Luca Weiss <luca.weiss@fairphone.com>
Link: https://lore.kernel.org/20250709-sm7635-pmiv0104-v2-3-ebf18895edd6@fairphone.com
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
3 weeks agodt-bindings: pinctrl: qcom,pmic-gpio: Add PMIV0104 support
Luca Weiss [Wed, 9 Jul 2025 11:22:27 +0000 (13:22 +0200)] 
dt-bindings: pinctrl: qcom,pmic-gpio: Add PMIV0104 support

Update the Qualcomm Technologies, Inc. PMIC GPIO binding documentation
to include the compatible string for the PMIV0104 PMICs.

Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Luca Weiss <luca.weiss@fairphone.com>
Link: https://lore.kernel.org/20250709-sm7635-pmiv0104-v2-2-ebf18895edd6@fairphone.com
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
3 weeks agopinmux: fix race causing mux_owner NULL with active mux_usecount
Mukesh Ojha [Tue, 8 Jul 2025 07:58:38 +0000 (13:28 +0530)] 
pinmux: fix race causing mux_owner NULL with active mux_usecount

commit 5a3e85c3c397 ("pinmux: Use sequential access to access
desc->pinmux data") tried to address the issue when two client of the
same gpio calls pinctrl_select_state() for the same functionality, was
resulting in NULL pointer issue while accessing desc->mux_owner.
However, issue was not completely fixed due to the way it was handled
and it can still result in the same NULL pointer.

The issue occurs due to the following interleaving:

     cpu0 (process A)                   cpu1 (process B)

      pin_request() {                   pin_free() {

                                         mutex_lock()
                                         desc->mux_usecount--; //becomes 0
                                         ..
                                         mutex_unlock()

  mutex_lock(desc->mux)
  desc->mux_usecount++; // becomes 1
  desc->mux_owner = owner;
  mutex_unlock(desc->mux)

                                         mutex_lock(desc->mux)
                                         desc->mux_owner = NULL;
                                         mutex_unlock(desc->mux)

This sequence leads to a state where the pin appears to be in use
(`mux_usecount == 1`) but has no owner (`mux_owner == NULL`), which can
cause NULL pointer on next pin_request on the same pin.

Ensure that updates to mux_usecount and mux_owner are performed
atomically under the same lock. Only clear mux_owner when mux_usecount
reaches zero and no new owner has been assigned.

Fixes: 5a3e85c3c397 ("pinmux: Use sequential access to access desc->pinmux data")
Signed-off-by: Mukesh Ojha <mukesh.ojha@oss.qualcomm.com>
Link: https://lore.kernel.org/20250708-pinmux-race-fix-v2-1-8ae9e8a0d1a1@oss.qualcomm.com
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
3 weeks agoMerge tag 'renesas-pinctrl-for-v6.17-tag2' of git://git.kernel.org/pub/scm/linux...
Linus Walleij [Fri, 11 Jul 2025 18:12:20 +0000 (20:12 +0200)] 
Merge tag 'renesas-pinctrl-for-v6.17-tag2' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-drivers into devel

pinctrl: renesas: Updates for v6.17 (take two)

  - Sort Kconfig symbols and improve their descriptions,
  - Simplify PINCTRL_RZV2M logic.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
4 weeks agopinctrl: samsung: Fix gs101 irq chip
Peter Griffin [Wed, 2 Jul 2025 12:15:24 +0000 (13:15 +0100)] 
pinctrl: samsung: Fix gs101 irq chip

When adding the dedicated gs101_wkup_irq_chip struct to support the eint
wakeup mask the .eint_con, eint_mask and .eint_pend fields were missed. The
result is that irqs on gs101 for the buttons etc are broken.

Reported-by: André Draszik <andre.draszik@linaro.org>
Fixes: 2642f55d44ce ("pinctrl: samsung: add support for gs101 wakeup mask programming")
Signed-off-by: Peter Griffin <peter.griffin@linaro.org>
Tested-by: André Draszik <andre.draszik@linaro.org>
Link: https://lore.kernel.org/r/20250702-fix-gs101-irqchip-v1-1-ccc84b44ad72@linaro.org
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
5 weeks agopinctrl: sunxi: v3s: Fix wrong comment about UART2 pinmux
Paul Kocialkowski [Tue, 1 Jul 2025 20:11:20 +0000 (22:11 +0200)] 
pinctrl: sunxi: v3s: Fix wrong comment about UART2 pinmux

The original comment doesn't match the pin attribution, probably due
to a hasty copy/paste.

Signed-off-by: Paul Kocialkowski <paulk@sys-base.io>
Reviewed-by: Icenowy Zheng <uwu@icenowy.me>
Link: https://lore.kernel.org/20250701201124.812882-2-paulk@sys-base.io
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
5 weeks agoMerge tag 'renesas-pinctrl-for-v6.17-tag1' of git://git.kernel.org/pub/scm/linux...
Linus Walleij [Thu, 3 Jul 2025 22:22:48 +0000 (00:22 +0200)] 
Merge tag 'renesas-pinctrl-for-v6.17-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-drivers into devel

pinctrl: renesas: Updates for v6.17

  - Use the new GPIO line value setter callbacks,
  - Validate pins before setting a mux function on RZ/G2L.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
5 weeks agopinctrl: equilibrium: Add request and free hooks
Jack Ping CHNG [Fri, 27 Jun 2025 00:54:19 +0000 (08:54 +0800)] 
pinctrl: equilibrium: Add request and free hooks

Add request and free gpio_chip hooks to support
gpio allocation and release in the driver.

Signed-off-by: Jack Ping CHNG <jchng@maxlinear.com>
Link: https://lore.kernel.org/20250627005419.3124660-1-jchng@maxlinear.com
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
5 weeks agodt-bindings: pinctrl: stm32: Add missing blank lines
Antonio Borneo [Tue, 10 Jun 2025 15:18:37 +0000 (17:18 +0200)] 
dt-bindings: pinctrl: stm32: Add missing blank lines

Separate the properties through a blank line.

Signed-off-by: Antonio Borneo <antonio.borneo@foss.st.com>
Acked-by: Rob Herring (Arm) <robh@kernel.org>
Link: https://lore.kernel.org/20250610151837.299244-6-antonio.borneo@foss.st.com
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
5 weeks agodt-bindings: pinctrl: convert nxp,lpc1850-scu.txt to yaml format
Frank Li [Fri, 6 Jun 2025 16:03:58 +0000 (12:03 -0400)] 
dt-bindings: pinctrl: convert nxp,lpc1850-scu.txt to yaml format

Convert nxp,lpc1850-scu.txt to yaml format.

Additional changes:
- keep child name *_cfg to align legancy very old platform dts file.
- remove label in examples.
- just keep one examples.

Signed-off-by: Frank Li <Frank.Li@nxp.com>
Reviewed-by: Rob Herring (Arm) <robh@kernel.org>
Link: https://lore.kernel.org/20250606160359.1356555-1-Frank.Li@nxp.com
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
5 weeks agopinctrl: qcom: add multi TLMM region option parameter
Yuanjie Yang [Tue, 24 Jun 2025 09:06:00 +0000 (17:06 +0800)] 
pinctrl: qcom: add multi TLMM region option parameter

Add support for selecting multiple TLMM regions using the
tlmm-test tool.
The current implementation only selects the TLMM Node region
0, which can lead to incorrect region selection.

QCS 615 TLMM Node dts reg:
tlmm: pinctrl@3100000 {
compatible = "qcom,qcs615-tlmm";
reg = <0x0 0x03100000 0x0 0x300000>,
      <0x0 0x03500000 0x0 0x300000>,
      <0x0 0x03d00000 0x0 0x300000>;
reg-names = "east",
    "west",
    "south";

QCS615 gpio57 is in the south region with an offset of 0x39000,
and its address is 0x3d39000. However, the default region selection
is region 0 (east region), resulting in a wrong calculated address
of 0x3139000.

Add a tlmm option parameter named tlmm_reg_name to select the region.
If the user does not input the parameter, the default region is 0.

Signed-off-by: Yuanjie Yang <quic_yuanjiey@quicinc.com>
Link: https://lore.kernel.org/20250624090600.91063-1-quic_yuanjiey@quicinc.com
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
5 weeks agopinctrl: renesas: Simplify PINCTRL_RZV2M logic
Geert Uytterhoeven [Thu, 26 Jun 2025 13:50:39 +0000 (15:50 +0200)] 
pinctrl: renesas: Simplify PINCTRL_RZV2M logic

PINCTRL_RZV2M is selected by ARCH_R9A09G011, hence there is no need to
depend on the latter.  Move the dependency on COMPILE_TEST to the symbol
prompt, like is done for all other auto-selected pin control symbols.

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Reviewed-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
Link: https://lore.kernel.org/d74843e06f73cd4c6e822d65f606e6042a50a0b7.1750945516.git.geert+renesas@glider.be
5 weeks agopinctrl: renesas: Unify config naming
Kuninori Morimoto [Tue, 24 Jun 2025 05:11:31 +0000 (05:11 +0000)] 
pinctrl: renesas: Unify config naming

Renesas SoC has chip number / chip name. Some SoC is using chip number,
and some SoC is using chip name on current Renesas pincontrol Kconfig.
Let's unify "pin control support for ${CHIP_NUMBER} (${CHIP_NAME}).

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Link: https://lore.kernel.org/87bjqdraf1.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
5 weeks agopinctrl: renesas: Sort Renesas Kconfig configs
Kuninori Morimoto [Tue, 24 Jun 2025 05:11:14 +0000 (05:11 +0000)] 
pinctrl: renesas: Sort Renesas Kconfig configs

Current Renesas Kconfig is randomly arranged. Let's sort it by
alphabetical/number order, same as Makefile.

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Link: https://lore.kernel.org/87cyatrafh.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
6 weeks agopinctrl: samsung: add support for gs101 wakeup mask programming
Peter Griffin [Thu, 19 Jun 2025 11:18:16 +0000 (12:18 +0100)] 
pinctrl: samsung: add support for gs101 wakeup mask programming

gs101 differs to other currently supported SoCs in that it has 3 wakeup
mask registers for the 67 external wakeup interrupt pins in alive and
far_alive.

EINT_WAKEUP_MASK  0x3A80 EINT[31:0]
EINT_WAKEUP_MASK2 0x3A84 EINT[63:32]
EINT_WAKEUP_MASK3 0x3A88 EINT[66:64]

Add gs101 specific callbacks and a dedicated gs101_wkup_irq_chip struct to
handle these differences.

The current wakeup mask with upstream is programmed as
WAKEUP_MASK0[0x3A80] value[0xFFFFFFFF]
WAKEUP_MASK1[0x3A84] value[0xF2FFEFFF]
WAKEUP_MASK2[0x3A88] value[0xFFFFFFFF]

Which corresponds to the following wakeup sources:
gpa7-3  vol down
gpa8-1  vol up
gpa10-1 power
gpa8-2  typec-int

Signed-off-by: Peter Griffin <peter.griffin@linaro.org>
Link: https://lore.kernel.org/r/20250619-gs101-eint-mask-v1-2-89438cfd7499@linaro.org
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
6 weeks agopinctrl: samsung: rename exynosautov920_retention_data to no_retention_data
Peter Griffin [Thu, 19 Jun 2025 11:18:15 +0000 (12:18 +0100)] 
pinctrl: samsung: rename exynosautov920_retention_data to no_retention_data

To avoid having an exact copy of this struct for gs101 rename it and use it
for both SoCs for eint banks.

The purpose of this for exynosautov920 and gs101 is to obtain the PMU
syscon for writing the calculated WAKEUP_MASK register(s).

Signed-off-by: Peter Griffin <peter.griffin@linaro.org>
Link: https://lore.kernel.org/r/20250619-gs101-eint-mask-v1-1-89438cfd7499@linaro.org
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
6 weeks agopinctrl: amlogic: Staticize some local structs
Linus Walleij [Tue, 24 Jun 2025 18:47:57 +0000 (20:47 +0200)] 
pinctrl: amlogic: Staticize some local structs

Sparse complains:

sparse warnings: (new ones prefixed by >>)
>> drivers/pinctrl/meson/pinctrl-amlogic-a4.c:126:24: sparse: sparse:
   symbol 'multi_mux_s7' was not declared. Should it be static?
>> drivers/pinctrl/meson/pinctrl-amlogic-a4.c:135:28: sparse: sparse:
   symbol 's7_priv_data' was not declared. Should it be static?
>> drivers/pinctrl/meson/pinctrl-amlogic-a4.c:140:24: sparse: sparse:
   symbol 'multi_mux_s6' was not declared. Should it be static?
>> drivers/pinctrl/meson/pinctrl-amlogic-a4.c:154:28: sparse: sparse:
   symbol 's6_priv_data' was not declared. Should it be static?

Reported-by: kernel test robot <lkp@intel.com>
Closes: https://lore.kernel.org/oe-kbuild-all/202506122145.wWAtKBoy-lkp@intel.com/
Cc: Xianwei Zhao <xianwei.zhao@amlogic.com>
Fixes: 1f8e5dfddaa7 ("pinctrl: meson: support amlogic S6/S7/S7D SoC")
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Link: https://lore.kernel.org/20250624-amlogic-a4-fix-v1-1-03f0856d10cb@linaro.org
6 weeks agopinctrl: eswin: Fix unsigned comparison to less than zero issue
Colin Ian King [Mon, 23 Jun 2025 22:20:04 +0000 (23:20 +0100)] 
pinctrl: eswin: Fix unsigned comparison to less than zero issue

The u32 variable voltage is being compared to less than zero and
this can never be true. Fix this by making voltage an int type which
is the same type as the return from the call to regulator_get_voltage.

Fixes: 5b797bcc00ef ("pinctrl: eswin: Add EIC7700 pinctrl driver")
Signed-off-by: Colin Ian King <colin.i.king@gmail.com>
Link: https://lore.kernel.org/20250623222004.280928-1-colin.i.king@gmail.com
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
6 weeks agopinctrl: canaan: k230: Fix order of DT parse and pinctrl register
Ze Huang [Mon, 23 Jun 2025 16:11:14 +0000 (00:11 +0800)] 
pinctrl: canaan: k230: Fix order of DT parse and pinctrl register

Move DT parse before pinctrl register. This ensures that device tree
parsing is done before calling devm_pinctrl_register() to prevent using
uninitialized pin resources.

Fixes: 545887eab6f6 ("pinctrl: canaan: Add support for k230 SoC")
Reported-by: Yao Zi <ziyao@disroot.org>
Signed-off-by: Ze Huang <huangze@whut.edu.cn>
Link: https://lore.kernel.org/20250624-k230-return-check-v1-2-6b4fc5ba0c41@whut.edu.cn
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
6 weeks agopinctrl: canaan: k230: add NULL check in DT parse
Ze Huang [Mon, 23 Jun 2025 16:11:13 +0000 (00:11 +0800)] 
pinctrl: canaan: k230: add NULL check in DT parse

Add a NULL check for the return value of of_get_property() when
retrieving the "pinmux" property in the group parser. This avoids
a potential NULL pointer dereference if the property is missing
from the device tree node.

Also fix a typo ("sintenel") in the device ID match table comment,
correcting it to "sentinel".

Fixes: 545887eab6f6 ("pinctrl: canaan: Add support for k230 SoC")
Reported-by: Yao Zi <ziyao@disroot.org>
Signed-off-by: Ze Huang <huangze@whut.edu.cn>
Link: https://lore.kernel.org/20250624-k230-return-check-v1-1-6b4fc5ba0c41@whut.edu.cn
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
6 weeks agopinctrl: meson-g12a: add g12b pwm groups
Da Xue [Thu, 19 Jun 2025 02:23:37 +0000 (22:23 -0400)] 
pinctrl: meson-g12a: add g12b pwm groups

G12B and SM1 have additional PWM pinmuxes for b, c, and d.

Signed-off-by: Da Xue <da@libre.computer>
Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Link: https://lore.kernel.org/20250619022337.43900-1-da@libre.computer
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
6 weeks agopinctrl: zynq: add CONFIG_OF dependency
Arnd Bergmann [Fri, 20 Jun 2025 13:07:55 +0000 (15:07 +0200)] 
pinctrl: zynq: add CONFIG_OF dependency

The zynq driver can be enabled for compile-testing on builds without
CONFIG_OF, leading to a link error:

ld.lld-21: error: undefined symbol: pinconf_generic_dt_node_to_map
 referenced by pinconf-generic.h:231 (/home/arnd/arm-soc/include/linux/pinctrl/pinconf-generic.h:231)
          drivers/pinctrl/pinctrl-zynq.o:(pinconf_generic_dt_node_to_map_all) in archive vmlinux.a

Prevent this with the proper compile time dependency.

Reported-by: kernel test robot <lkp@intel.com>
Closes: https://lore.kernel.org/oe-kbuild-all/202506212021.deAhuaWr-lkp@intel.com/
Fixes: 1982621decaf ("pinctrl: Allow compile testing for K210, TB10X and ZYNQ")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Link: https://lore.kernel.org/20250620130814.2580678-1-arnd@kernel.org
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
6 weeks agopinctrl: berlin: fix memory leak in berlin_pinctrl_build_state()
Yuan Chen [Fri, 20 Jun 2025 01:53:43 +0000 (09:53 +0800)] 
pinctrl: berlin: fix memory leak in berlin_pinctrl_build_state()

In the original implementation, krealloc() failure handling incorrectly
assigned the original memory pointer to NULL after kfree(), causing a
memory leak when reallocation failed.

Fixes: de845036f997 ("pinctrl: berlin: fix error return code of berlin_pinctrl_build_state()")
Signed-off-by: Yuan Chen <chenyuan@kylinos.cn>
Link: https://lore.kernel.org/20250620015343.21494-1-chenyuan_fl@163.com
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
6 weeks agopinctrl: sunxi: Fix memory leak on krealloc failure
Yuan Chen [Fri, 20 Jun 2025 01:27:08 +0000 (09:27 +0800)] 
pinctrl: sunxi: Fix memory leak on krealloc failure

In sunxi_pctrl_dt_node_to_map(), when krealloc() fails to resize
the pinctrl_map array, the function returns -ENOMEM directly
without freeing the previously allocated *map buffer. This results
in a memory leak of the original kmalloc_array allocation.

Fixes: e11dee2e98f8 ("pinctrl: sunxi: Deal with configless pins")
Signed-off-by: Yuan Chen <chenyuan@kylinos.cn>
Link: https://lore.kernel.org/20250620012708.16709-1-chenyuan_fl@163.com
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
6 weeks agopinctrl: aw9523: fix mutex unlock in error path
Bartosz Golaszewski [Thu, 19 Jun 2025 17:35:37 +0000 (19:35 +0200)] 
pinctrl: aw9523: fix mutex unlock in error path

We must unlock the mutex *after* the `out` label or we'd trigger a
deadlock in error path.

Fixes: dffe286e2428 ("pinctrl: aw9523: use new GPIO line value setter callbacks")
Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@linaro.org>
Closes: https://lore.kernel.org/r/202506191952.A03cvn22-lkp@intel.com/
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Link: https://lore.kernel.org/20250619173537.64298-1-brgl@bgdev.pl
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
6 weeks agopinctrl: falcon: mark pinctrl_falcon_init() as static
Shiji Yang [Wed, 18 Jun 2025 14:53:28 +0000 (22:53 +0800)] 
pinctrl: falcon: mark pinctrl_falcon_init() as static

Fix the following missing-prototypes build warning:

drivers/pinctrl/pinctrl-falcon.c:508:12: error: no previous prototype for 'pinctrl_falcon_init' [-Werror=missing-prototypes]
  508 | int __init pinctrl_falcon_init(void)
      |            ^~~~~~~~~~~~~~~~~~~

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://lore.kernel.org/OSBPR01MB167014AF54EF9818CB98C83BBC72A@OSBPR01MB1670.jpnprd01.prod.outlook.com
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
7 weeks agopinctrl: renesas: rzg2l: Validate pins before setting mux function
Lad Prabhakar [Mon, 16 Jun 2025 13:27:50 +0000 (14:27 +0100)] 
pinctrl: renesas: rzg2l: Validate pins before setting mux function

Ensure only valid pins are configured by validating pin mappings before
setting the mux function.

Rename rzg2l_validate_gpio_pin() to rzg2l_validate_pin() to reflect its
broader purpose validating both GPIO pins and muxed pins. This helps
avoid invalid configurations.

Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Link: https://lore.kernel.org/20250616132750.216368-1-prabhakar.mahadev-lad.rj@bp.renesas.com
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
7 weeks agoMerge tag 'gpio-mmio-bgpiof-no-input-flag-for-v6.17' of git://git.kernel.org/pub...
Linus Walleij [Thu, 19 Jun 2025 07:17:10 +0000 (09:17 +0200)] 
Merge tag 'gpio-mmio-bgpiof-no-input-flag-for-v6.17' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux into devel

Immutable tag for the pinctrl tree to pull from

Add the BGPIOF_NO_INPUT to the gpio-mmio API.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
7 weeks agogpio: mmio: add BGPIOF_NO_INPUT flag for GPO gpiochip
Clément Le Goffic [Fri, 13 Jun 2025 10:14:12 +0000 (12:14 +0200)] 
gpio: mmio: add BGPIOF_NO_INPUT flag for GPO gpiochip

When using bgpio_init with a gpiochip acting as a GPO (output only), the
gpiochip ops `direction_input` was set to `bgpio_simple_dir_in` by
default but we have no input ability.

Adding this flag allows to set a valid ops for the `direction_output`
ops without setting a valid ops for `direction_input` by default.

Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Clément Le Goffic <clement.legoffic@foss.st.com>
Link: https://lore.kernel.org/r/20250613-hdp-upstream-v5-1-6fd6f0dc527c@foss.st.com
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
7 weeks agopinctrl: amdisp: use new GPIO line value setter callbacks
Bartosz Golaszewski [Thu, 12 Jun 2025 13:15:25 +0000 (15:15 +0200)] 
pinctrl: amdisp: use new GPIO line value setter callbacks

struct gpio_chip now has callbacks for setting line values that return
an integer, allowing to indicate failures. Convert the driver to using
them.

Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Link: https://lore.kernel.org/20250612-gpiochip-set-rv-pinctrl-remaining-v1-16-556b0a530cd4@linaro.org
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
7 weeks agopinctrl: as3722: use new GPIO line value setter callbacks
Bartosz Golaszewski [Thu, 12 Jun 2025 13:15:24 +0000 (15:15 +0200)] 
pinctrl: as3722: use new GPIO line value setter callbacks

struct gpio_chip now has callbacks for setting line values that return
an integer, allowing to indicate failures. Convert the driver to using
them.

Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Link: https://lore.kernel.org/20250612-gpiochip-set-rv-pinctrl-remaining-v1-15-556b0a530cd4@linaro.org
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
7 weeks agopinctrl: sunxi: use new GPIO line value setter callbacks
Bartosz Golaszewski [Thu, 12 Jun 2025 13:15:23 +0000 (15:15 +0200)] 
pinctrl: sunxi: use new GPIO line value setter callbacks

struct gpio_chip now has callbacks for setting line values that return
an integer, allowing to indicate failures. Convert the driver to using
them.

Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Link: https://lore.kernel.org/20250612-gpiochip-set-rv-pinctrl-remaining-v1-14-556b0a530cd4@linaro.org
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
7 weeks agopinctrl: keembay: use new GPIO line value setter callbacks
Bartosz Golaszewski [Thu, 12 Jun 2025 13:15:22 +0000 (15:15 +0200)] 
pinctrl: keembay: use new GPIO line value setter callbacks

struct gpio_chip now has callbacks for setting line values that return
an integer, allowing to indicate failures. Convert the driver to using
them.

Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Link: https://lore.kernel.org/20250612-gpiochip-set-rv-pinctrl-remaining-v1-13-556b0a530cd4@linaro.org
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
7 weeks agopinctrl: spear: use new GPIO line value setter callbacks
Bartosz Golaszewski [Thu, 12 Jun 2025 13:15:21 +0000 (15:15 +0200)] 
pinctrl: spear: use new GPIO line value setter callbacks

struct gpio_chip now has callbacks for setting line values that return
an integer, allowing to indicate failures. Convert the driver to using
them.

Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Link: https://lore.kernel.org/20250612-gpiochip-set-rv-pinctrl-remaining-v1-12-556b0a530cd4@linaro.org
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
7 weeks agopinctrl: pic32: use new GPIO line value setter callbacks
Bartosz Golaszewski [Thu, 12 Jun 2025 13:15:20 +0000 (15:15 +0200)] 
pinctrl: pic32: use new GPIO line value setter callbacks

struct gpio_chip now has callbacks for setting line values that return
an integer, allowing to indicate failures. Convert the driver to using
them.

Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Link: https://lore.kernel.org/20250612-gpiochip-set-rv-pinctrl-remaining-v1-11-556b0a530cd4@linaro.org
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
7 weeks agopinctrl: apple: use new GPIO line value setter callbacks
Bartosz Golaszewski [Thu, 12 Jun 2025 13:15:19 +0000 (15:15 +0200)] 
pinctrl: apple: use new GPIO line value setter callbacks

struct gpio_chip now has callbacks for setting line values that return
an integer, allowing to indicate failures. Convert the driver to using
them.

Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Reviewed-by: Janne Grunau <j@jannau.net>
Link: https://lore.kernel.org/20250612-gpiochip-set-rv-pinctrl-remaining-v1-10-556b0a530cd4@linaro.org
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
7 weeks agopinctrl: digicolor: use new GPIO line value setter callbacks
Bartosz Golaszewski [Thu, 12 Jun 2025 13:15:18 +0000 (15:15 +0200)] 
pinctrl: digicolor: use new GPIO line value setter callbacks

struct gpio_chip now has callbacks for setting line values that return
an integer, allowing to indicate failures. Convert the driver to using
them.

Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Link: https://lore.kernel.org/20250612-gpiochip-set-rv-pinctrl-remaining-v1-9-556b0a530cd4@linaro.org
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
7 weeks agopinctrl: xway: use new GPIO line value setter callbacks
Bartosz Golaszewski [Thu, 12 Jun 2025 13:15:17 +0000 (15:15 +0200)] 
pinctrl: xway: use new GPIO line value setter callbacks

struct gpio_chip now has callbacks for setting line values that return
an integer, allowing to indicate failures. Convert the driver to using
them.

Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Link: https://lore.kernel.org/20250612-gpiochip-set-rv-pinctrl-remaining-v1-8-556b0a530cd4@linaro.org
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
7 weeks agopinctrl: xway: statify xway_pinconf_group_set()
Bartosz Golaszewski [Thu, 12 Jun 2025 13:15:16 +0000 (15:15 +0200)] 
pinctrl: xway: statify xway_pinconf_group_set()

This function is not exported and is only used locally. Make it static.

Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Link: https://lore.kernel.org/20250612-gpiochip-set-rv-pinctrl-remaining-v1-7-556b0a530cd4@linaro.org
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
7 weeks agopinctrl: aw9523: use new GPIO line value setter callbacks
Bartosz Golaszewski [Thu, 12 Jun 2025 13:15:15 +0000 (15:15 +0200)] 
pinctrl: aw9523: use new GPIO line value setter callbacks

struct gpio_chip now has callbacks for setting line values that return
an integer, allowing to indicate failures. Convert the driver to using
them.

Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Link: https://lore.kernel.org/20250612-gpiochip-set-rv-pinctrl-remaining-v1-6-556b0a530cd4@linaro.org
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
7 weeks agopinctrl: wmt: use new GPIO line value setter callbacks
Bartosz Golaszewski [Thu, 12 Jun 2025 13:15:14 +0000 (15:15 +0200)] 
pinctrl: wmt: use new GPIO line value setter callbacks

struct gpio_chip now has callbacks for setting line values that return
an integer, allowing to indicate failures. Convert the driver to using
them.

Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Link: https://lore.kernel.org/20250612-gpiochip-set-rv-pinctrl-remaining-v1-5-556b0a530cd4@linaro.org
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
7 weeks agopinctrl: mcp23s08: use new GPIO line value setter callbacks
Bartosz Golaszewski [Thu, 12 Jun 2025 13:15:13 +0000 (15:15 +0200)] 
pinctrl: mcp23s08: use new GPIO line value setter callbacks

struct gpio_chip now has callbacks for setting line values that return
an integer, allowing to indicate failures. Convert the driver to using
them.

Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Link: https://lore.kernel.org/20250612-gpiochip-set-rv-pinctrl-remaining-v1-4-556b0a530cd4@linaro.org
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
7 weeks agopinctrl: da9062: use new GPIO line value setter callbacks
Bartosz Golaszewski [Thu, 12 Jun 2025 13:15:12 +0000 (15:15 +0200)] 
pinctrl: da9062: use new GPIO line value setter callbacks

struct gpio_chip now has callbacks for setting line values that return
an integer, allowing to indicate failures. Convert the driver to using
them.

Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Link: https://lore.kernel.org/20250612-gpiochip-set-rv-pinctrl-remaining-v1-3-556b0a530cd4@linaro.org
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
7 weeks agopinctrl: st: use new GPIO line value setter callbacks
Bartosz Golaszewski [Thu, 12 Jun 2025 13:15:11 +0000 (15:15 +0200)] 
pinctrl: st: use new GPIO line value setter callbacks

struct gpio_chip now has callbacks for setting line values that return
an integer, allowing to indicate failures. Convert the driver to using
them.

Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Link: https://lore.kernel.org/20250612-gpiochip-set-rv-pinctrl-remaining-v1-2-556b0a530cd4@linaro.org
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
7 weeks agopinctrl: sppctl: use new GPIO line value setter callbacks
Bartosz Golaszewski [Thu, 12 Jun 2025 13:15:10 +0000 (15:15 +0200)] 
pinctrl: sppctl: use new GPIO line value setter callbacks

struct gpio_chip now has callbacks for setting line values that return
an integer, allowing to indicate failures. Convert the driver to using
them.

Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Link: https://lore.kernel.org/20250612-gpiochip-set-rv-pinctrl-remaining-v1-1-556b0a530cd4@linaro.org
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
7 weeks agopinctrl: starfive: jh7110: use new GPIO line value setter callbacks
Bartosz Golaszewski [Thu, 12 Jun 2025 12:24:31 +0000 (14:24 +0200)] 
pinctrl: starfive: jh7110: use new GPIO line value setter callbacks

struct gpio_chip now has callbacks for setting line values that return
an integer, allowing to indicate failures. Convert the driver to using
them.

Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Reviewed-by: Hal Feng <hal.feng@starfivetech.com>
Reviewed-by: Emil Renner Berthing <emil.renner.berthing@canonical.com>
Link: https://lore.kernel.org/20250612-gpiochip-set-rv-pinctrl-starfive-v1-2-8507b46516f5@linaro.org
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
7 weeks agopinctrl: starfive: jh7100: use new GPIO line value setter callbacks
Bartosz Golaszewski [Thu, 12 Jun 2025 12:24:30 +0000 (14:24 +0200)] 
pinctrl: starfive: jh7100: use new GPIO line value setter callbacks

struct gpio_chip now has callbacks for setting line values that return
an integer, allowing to indicate failures. Convert the driver to using
them.

Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Reviewed-by: Hal Feng <hal.feng@starfivetech.com>
Reviewed-by: Emil Renner Berthing <emil.renner.berthing@canonical.com>
Link: https://lore.kernel.org/20250612-gpiochip-set-rv-pinctrl-starfive-v1-1-8507b46516f5@linaro.org
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
7 weeks agopinctrl: cirrus: cs42l43: use new GPIO line value setter callbacks
Bartosz Golaszewski [Thu, 12 Jun 2025 12:19:54 +0000 (14:19 +0200)] 
pinctrl: cirrus: cs42l43: use new GPIO line value setter callbacks

struct gpio_chip now has callbacks for setting line values that return
an integer, allowing to indicate failures. Convert the driver to using
them.

Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Reviewed-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Link: https://lore.kernel.org/20250612-gpiochip-set-rv-pinctrl-cirrus-v1-2-2d45c1f92557@linaro.org
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
7 weeks agopinctrl: cirrus: lochnagar: use new GPIO line value setter callbacks
Bartosz Golaszewski [Thu, 12 Jun 2025 12:19:53 +0000 (14:19 +0200)] 
pinctrl: cirrus: lochnagar: use new GPIO line value setter callbacks

struct gpio_chip now has callbacks for setting line values that return
an integer, allowing to indicate failures. Convert the driver to using
them.

Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Reviewed-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Link: https://lore.kernel.org/20250612-gpiochip-set-rv-pinctrl-cirrus-v1-1-2d45c1f92557@linaro.org
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
7 weeks agopinctrl: eswin: Add EIC7700 pinctrl driver
Yulin Lu [Thu, 12 Jun 2025 10:51:59 +0000 (18:51 +0800)] 
pinctrl: eswin: Add EIC7700 pinctrl driver

Add support for the pin controller in ESWIN's EIC7700 SoC,
which supports pin multiplexing, pin configuration,
and rgmii voltage control.

Co-developed-by: Samuel Holland <samuel.holland@sifive.com>
Signed-off-by: Samuel Holland <samuel.holland@sifive.com>
Signed-off-by: Yulin Lu <luyulin@eswincomputing.com>
Link: https://lore.kernel.org/20250612105159.1241-1-luyulin@eswincomputing.com
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
7 weeks agodt-bindings: pinctrl: eswin: Document for EIC7700 SoC
Yulin Lu [Thu, 12 Jun 2025 10:48:11 +0000 (18:48 +0800)] 
dt-bindings: pinctrl: eswin: Document for EIC7700 SoC

Add EIC7700 pinctrl device for all configurable pins.
For the EIC7700 pinctrl registers, each register (32 bits)
controls the characteristics of a single pin.
It supports setting function multiplexing, Schmitt trigger,
drive strength, pull-up/pull-down, and input enable.

Co-developed-by: Samuel Holland <samuel.holland@sifive.com>
Signed-off-by: Samuel Holland <samuel.holland@sifive.com>
Signed-off-by: Yulin Lu <luyulin@eswincomputing.com>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://lore.kernel.org/20250612104811.1206-1-luyulin@eswincomputing.com
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
7 weeks agopinctrl: Use dev_fwnode()
Jiri Slaby (SUSE) [Wed, 11 Jun 2025 10:43:45 +0000 (12:43 +0200)] 
pinctrl: Use dev_fwnode()

irq_domain_create_simple() takes fwnode as the first argument. It can be
extracted from the struct device using dev_fwnode() helper instead of
using of_node with of_fwnode_handle().

So use the dev_fwnode() helper.

Signed-off-by: Jiri Slaby (SUSE) <jirislaby@kernel.org>
Acked-by: Chen-Yu Tsai <wens@sie.org>
Link: https://lore.kernel.org/20250611104348.192092-17-jirislaby@kernel.org
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
7 weeks agortc: stm32: Constify static 'pinctrl_desc'
Krzysztof Kozlowski [Wed, 11 Jun 2025 06:13:49 +0000 (08:13 +0200)] 
rtc: stm32: Constify static 'pinctrl_desc'

The local static 'struct pinctrl_desc' is not modified, so can be made
const for code safety.

Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Acked-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Link: https://lore.kernel.org/20250611-pinctrl-const-desc-v2-17-b11c1d650384@linaro.org
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
7 weeks agopinctrl: Constify static 'pinctrl_desc'
Krzysztof Kozlowski [Wed, 11 Jun 2025 06:13:48 +0000 (08:13 +0200)] 
pinctrl: Constify static 'pinctrl_desc'

The local static 'struct pinctrl_desc' is not modified, so can be made
const for code safety.

Acked-by: Lorenzo Bianconi <lorenzo@kernel.org>
Acked-by: Jesper Nilsson <jesper.nilsson@axis.com>
Reviewed-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Reviewed-by: Hal Feng <hal.feng@starfivetech.com>
Acked-by: Emil Renner Berthing <emil.renner.berthing@canonical.com>
Acked-by: Vladimir Zapolskiy <vz@mleia.com>
Link: https://lore.kernel.org/20250611-pinctrl-const-desc-v2-16-b11c1d650384@linaro.org
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
7 weeks agopinctrl: pistachio: Constify static 'pinctrl_desc'
Krzysztof Kozlowski [Wed, 11 Jun 2025 06:13:47 +0000 (08:13 +0200)] 
pinctrl: pistachio: Constify static 'pinctrl_desc'

The local static 'struct pinctrl_desc' is not modified, so can be made
const for code safety after moving .pins and .npins assignment to
definition.

Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://lore.kernel.org/20250611-pinctrl-const-desc-v2-15-b11c1d650384@linaro.org
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
7 weeks agopinctrl: renesas: Move fixed assignments to 'pinctrl_desc' definition
Krzysztof Kozlowski [Wed, 11 Jun 2025 06:13:46 +0000 (08:13 +0200)] 
pinctrl: renesas: Move fixed assignments to 'pinctrl_desc' definition

Assign 'struct pinctrl_desc' .pins and .npins members in definition to
make clear that number of pins is fixed and have less code in the probe.

Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Acked-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://lore.kernel.org/20250611-pinctrl-const-desc-v2-14-b11c1d650384@linaro.org
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
7 weeks agopinctrl: palmas: Move fixed assignments to 'pinctrl_desc' definition
Krzysztof Kozlowski [Wed, 11 Jun 2025 06:13:45 +0000 (08:13 +0200)] 
pinctrl: palmas: Move fixed assignments to 'pinctrl_desc' definition

Assign 'struct pinctrl_desc' .pins and .npins members in definition to
make clear that number of pins is fixed and have less code in the probe.

Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://lore.kernel.org/20250611-pinctrl-const-desc-v2-13-b11c1d650384@linaro.org
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
7 weeks agopinctrl: max77620: Move fixed assignments to 'pinctrl_desc' definition
Krzysztof Kozlowski [Wed, 11 Jun 2025 06:13:44 +0000 (08:13 +0200)] 
pinctrl: max77620: Move fixed assignments to 'pinctrl_desc' definition

Assign 'struct pinctrl_desc' .pins, .npins and other members in
definition to make clear that number of pins is fixed and have less code
in the probe.

Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://lore.kernel.org/20250611-pinctrl-const-desc-v2-12-b11c1d650384@linaro.org
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
7 weeks agopinctrl: as3722: Move fixed assignments to 'pinctrl_desc' definition
Krzysztof Kozlowski [Wed, 11 Jun 2025 06:13:43 +0000 (08:13 +0200)] 
pinctrl: as3722: Move fixed assignments to 'pinctrl_desc' definition

Assign 'struct pinctrl_desc' .pins and .npins members in definition to
make clear that number of pins is fixed and have less code in the probe.

Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://lore.kernel.org/20250611-pinctrl-const-desc-v2-11-b11c1d650384@linaro.org
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
7 weeks agopinctrl: bcm: cygnus-nsp: Move fixed assignments to 'pinctrl_desc' definition
Krzysztof Kozlowski [Wed, 11 Jun 2025 06:13:42 +0000 (08:13 +0200)] 
pinctrl: bcm: cygnus-nsp: Move fixed assignments to 'pinctrl_desc' definition

Assign 'struct pinctrl_desc' .npins member in definition to make clear
that number of pins is fixed and have less code in the probe.

Reviewed-by: Florian Fainelli <florian.fainelli@broadcom.com>
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://lore.kernel.org/20250611-pinctrl-const-desc-v2-10-b11c1d650384@linaro.org
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
7 weeks agopinctrl: bcm: cygnus-ns2: Move fixed assignments to 'pinctrl_desc' definition
Krzysztof Kozlowski [Wed, 11 Jun 2025 06:13:41 +0000 (08:13 +0200)] 
pinctrl: bcm: cygnus-ns2: Move fixed assignments to 'pinctrl_desc' definition

Assign 'struct pinctrl_desc' .npins member in definition to make clear
that number of pins is fixed and have less code in the probe.

Reviewed-by: Florian Fainelli <florian.fainelli@broadcom.com>
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://lore.kernel.org/20250611-pinctrl-const-desc-v2-9-b11c1d650384@linaro.org
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
7 weeks agopinctrl: bcm: cygnus-mux: Move fixed assignments to 'pinctrl_desc' definition
Krzysztof Kozlowski [Wed, 11 Jun 2025 06:13:40 +0000 (08:13 +0200)] 
pinctrl: bcm: cygnus-mux: Move fixed assignments to 'pinctrl_desc' definition

Assign 'struct pinctrl_desc' .npins member in definition to make clear
that number of pins is fixed and have less code in the probe.

Reviewed-by: Florian Fainelli <florian.fainelli@broadcom.com>
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://lore.kernel.org/20250611-pinctrl-const-desc-v2-8-b11c1d650384@linaro.org
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
7 weeks agopinctrl: bcm: Constify static 'pinctrl_desc'
Krzysztof Kozlowski [Wed, 11 Jun 2025 06:13:39 +0000 (08:13 +0200)] 
pinctrl: bcm: Constify static 'pinctrl_desc'

The local static 'struct pinctrl_desc' is not modified, so can be made
const for code safety.

Reviewed-by: Florian Fainelli <florian.fainelli@broadcom.com>
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://lore.kernel.org/20250611-pinctrl-const-desc-v2-7-b11c1d650384@linaro.org
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
7 weeks agopinctrl: nuvoton: Constify static 'pinctrl_desc'
Krzysztof Kozlowski [Wed, 11 Jun 2025 06:13:38 +0000 (08:13 +0200)] 
pinctrl: nuvoton: Constify static 'pinctrl_desc'

The local static 'struct pinctrl_desc' is not modified, so can be made
const for code safety.

Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Reviewed-by: J. Neuschäfer <j.ne@posteo.net>
Link: https://lore.kernel.org/20250611-pinctrl-const-desc-v2-6-b11c1d650384@linaro.org
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
7 weeks agopinctrl: aspeed: Constify static 'pinctrl_desc'
Krzysztof Kozlowski [Wed, 11 Jun 2025 06:13:37 +0000 (08:13 +0200)] 
pinctrl: aspeed: Constify static 'pinctrl_desc'

The local static 'struct pinctrl_desc' is not modified, so can be made
const for code safety.

Reviewed-by: Andrew Jeffery <andrew@codeconstruct.com.au>
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://lore.kernel.org/20250611-pinctrl-const-desc-v2-5-b11c1d650384@linaro.org
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
7 weeks agopinctrl: Constify pointers to 'pinctrl_desc'
Krzysztof Kozlowski [Wed, 11 Jun 2025 06:13:36 +0000 (08:13 +0200)] 
pinctrl: Constify pointers to 'pinctrl_desc'

Pin controller core code only stores the pointer to
'struct pinctrl_desc' and does not modify it anywhere.  The pointer can
be changed to pointer to const which makes the code safer, explicit and
later allows constifying 'pinctrl_desc' allocations in individual
drivers.

Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://lore.kernel.org/20250611-pinctrl-const-desc-v2-4-b11c1d650384@linaro.org
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
7 weeks agopinctrl: amd: Constify pointers to 'pinctrl_desc'
Krzysztof Kozlowski [Wed, 11 Jun 2025 06:13:35 +0000 (08:13 +0200)] 
pinctrl: amd: Constify pointers to 'pinctrl_desc'

Internal functions obtaining pointers to 'struct pinctrl_desc' do not
modify the contents so they can be made pointers to const.  This makes
code safer, explicit and later allows constifying 'pinctrl_desc' in
pinctrl core code.

Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://lore.kernel.org/20250611-pinctrl-const-desc-v2-3-b11c1d650384@linaro.org
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
7 weeks agopinctrl: Allow compile testing for K210, TB10X and ZYNQ
Krzysztof Kozlowski [Wed, 11 Jun 2025 06:13:34 +0000 (08:13 +0200)] 
pinctrl: Allow compile testing for K210, TB10X and ZYNQ

Pinctrl drivers for K210, TB10X and ZYNQ do not reference any machine
headers, thus can be compile tested for increased build coverage.

Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://lore.kernel.org/20250611-pinctrl-const-desc-v2-2-b11c1d650384@linaro.org
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
7 weeks agopinctrl: starfive: Allow compile testing on other platforms
Krzysztof Kozlowski [Wed, 11 Jun 2025 06:13:33 +0000 (08:13 +0200)] 
pinctrl: starfive: Allow compile testing on other platforms

Always descent to drivers/pinctrl/starfive/ because limiting it with
SOC_STARFIVE is redundant since its Makefile doesn't build anything if
no Starfive-specific pin control Kconfig options are enabled.  This
allows compile testing on other architectures with allyesconfig.

Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Reviewed-by: Emil Renner Berthing <emil.renner.berthing@canonical.com>
Acked-by: Hal Feng <hal.feng@starfivetech.com>
Link: https://lore.kernel.org/20250611-pinctrl-const-desc-v2-1-b11c1d650384@linaro.org
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
7 weeks agodt-bindings: pinctrl: stm32: Add RSVD mux function
Fabien Dessenne [Tue, 10 Jun 2025 15:23:06 +0000 (17:23 +0200)] 
dt-bindings: pinctrl: stm32: Add RSVD mux function

Document the RSVD (Reserved) mux function, used to reserve pins
for a coprocessor not running Linux.

Signed-off-by: Fabien Dessenne <fabien.dessenne@foss.st.com>
Signed-off-by: Antonio Borneo <antonio.borneo@foss.st.com>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://lore.kernel.org/20250610152309.299438-3-antonio.borneo@foss.st.com
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
7 weeks agopinctrl: stm32: Handle RSVD pin configuration
Fabien Dessenne [Tue, 10 Jun 2025 15:23:05 +0000 (17:23 +0200)] 
pinctrl: stm32: Handle RSVD pin configuration

When a pin is assigned to a coprocessor not running Linux, the pin
should be flagged in the DT as reserved and not usable by Linux.

Add pin configuration RSVD (Reserved) and instrument the driver to
not update the mux setting.

Signed-off-by: Fabien Dessenne <fabien.dessenne@foss.st.com>
Signed-off-by: Antonio Borneo <antonio.borneo@foss.st.com>
Link: https://lore.kernel.org/20250610152309.299438-2-antonio.borneo@foss.st.com
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
7 weeks agoMAINTAINERS: Add entry for STM32 pinctrl drivers and documentation
Antonio Borneo [Tue, 10 Jun 2025 14:30:42 +0000 (16:30 +0200)] 
MAINTAINERS: Add entry for STM32 pinctrl drivers and documentation

Add an entry to make myself a maintainer of STM32 pinctrl drivers
and documentation.
Exclude the HDP driver, already covered by another maintainer.

Signed-off-by: Antonio Borneo <antonio.borneo@foss.st.com>
Link: https://lore.kernel.org/20250610143042.295376-6-antonio.borneo@foss.st.com
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
7 weeks agopinctrl: stm32: Allow compile as module for stm32mp257
Stephane Danieau [Tue, 10 Jun 2025 14:30:41 +0000 (16:30 +0200)] 
pinctrl: stm32: Allow compile as module for stm32mp257

Add ability to build pinctrl for stm32mp257 as a kernel module.
Add kernel-doc to the exported symbols.

Signed-off-by: Stephane Danieau <stephane.danieau@foss.st.com>
Signed-off-by: Antonio Borneo <antonio.borneo@foss.st.com>
Link: https://lore.kernel.org/20250610143042.295376-5-antonio.borneo@foss.st.com
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
7 weeks agopinctrl: stm32: Add RIF support for stm32mp257
Antonio Borneo [Tue, 10 Jun 2025 14:30:40 +0000 (16:30 +0200)] 
pinctrl: stm32: Add RIF support for stm32mp257

On SoC stm32mp257, GPIO supports security and isolation compliant
with the Resource Isolation Framework (RIF). Each GPIO line can be
assigned to different security and compartment domains.

Add the generic code to handle the RIF configuration set by the
secure world and initialize the GPIO valid mask accordingly.

Enable the RIF support for stm32mp257.

Co-developed-by: Gatien Chevallier <gatien.chevallier@foss.st.com>
Signed-off-by: Gatien Chevallier <gatien.chevallier@foss.st.com>
Signed-off-by: Antonio Borneo <antonio.borneo@foss.st.com>
Link: https://lore.kernel.org/20250610143042.295376-4-antonio.borneo@foss.st.com
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
7 weeks agopinctrl: stm32: Manage irq affinity settings
Cheick Traore [Tue, 10 Jun 2025 14:30:39 +0000 (16:30 +0200)] 
pinctrl: stm32: Manage irq affinity settings

Trying to set the affinity of the interrupts associated to stm32
pinctrl results in a write error.

Fill struct irq_chip::irq_set_affinity to use the default helper
function.

Signed-off-by: Cheick Traore <cheick.traore@foss.st.com>
Signed-off-by: Antonio Borneo <antonio.borneo@foss.st.com>
Link: https://lore.kernel.org/20250610143042.295376-3-antonio.borneo@foss.st.com
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
7 weeks agopinctrl: stm32: Declare stm32_pmx_get_mode() as static
Antonio Borneo [Tue, 10 Jun 2025 14:30:38 +0000 (16:30 +0200)] 
pinctrl: stm32: Declare stm32_pmx_get_mode() as static

The commit acaa037970f6 ("pinctrl: stm32: Implement .get_direction
gpio_chip callback") exported the function stm32_pmx_get_mode()
and the struct stm32_gpio_bank, but these were never used outside
the file that defines them.

Declare the function as static, drop it from the include file and
drop also the struct, not anymore visible outside the file.

Signed-off-by: Antonio Borneo <antonio.borneo@foss.st.com>
Link: https://lore.kernel.org/20250610143042.295376-2-antonio.borneo@foss.st.com
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
7 weeks agopinctrl: renesas: rza2: Use new GPIO line value setter callbacks
Bartosz Golaszewski [Wed, 11 Jun 2025 07:27:56 +0000 (09:27 +0200)] 
pinctrl: renesas: rza2: Use new GPIO line value setter callbacks

struct gpio_chip now has callbacks for setting line values that return
an integer, allowing to indicate failures. Convert the driver to using
them.

Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Reviewed-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Link: https://lore.kernel.org/20250611-gpiochip-set-rv-pinctrl-renesas-v1-5-ad169a794ef0@linaro.org
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
7 weeks agopinctrl: renesas: rzv2m: Use new GPIO line value setter callbacks
Bartosz Golaszewski [Wed, 11 Jun 2025 07:27:55 +0000 (09:27 +0200)] 
pinctrl: renesas: rzv2m: Use new GPIO line value setter callbacks

struct gpio_chip now has callbacks for setting line values that return
an integer, allowing to indicate failures. Convert the driver to using
them.

Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Reviewed-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Link: https://lore.kernel.org/20250611-gpiochip-set-rv-pinctrl-renesas-v1-4-ad169a794ef0@linaro.org
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
7 weeks agopinctrl: renesas: rza1: Use new GPIO line value setter callbacks
Bartosz Golaszewski [Wed, 11 Jun 2025 07:27:54 +0000 (09:27 +0200)] 
pinctrl: renesas: rza1: Use new GPIO line value setter callbacks

struct gpio_chip now has callbacks for setting line values that return
an integer, allowing to indicate failures. Convert the driver to using
them.

Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Reviewed-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Link: https://lore.kernel.org/20250611-gpiochip-set-rv-pinctrl-renesas-v1-3-ad169a794ef0@linaro.org
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
7 weeks agopinctrl: renesas: rzg2l: Use new GPIO line value setter callbacks
Bartosz Golaszewski [Wed, 11 Jun 2025 07:27:53 +0000 (09:27 +0200)] 
pinctrl: renesas: rzg2l: Use new GPIO line value setter callbacks

struct gpio_chip now has callbacks for setting line values that return
an integer, allowing to indicate failures. Convert the driver to using
them.

Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Reviewed-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Link: https://lore.kernel.org/20250611-gpiochip-set-rv-pinctrl-renesas-v1-2-ad169a794ef0@linaro.org
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
7 weeks agopinctrl: renesas: gpio: Use new GPIO line value setter callbacks
Bartosz Golaszewski [Wed, 11 Jun 2025 07:27:52 +0000 (09:27 +0200)] 
pinctrl: renesas: gpio: Use new GPIO line value setter callbacks

struct gpio_chip now has callbacks for setting line values that return
an integer, allowing to indicate failures. Convert the driver to using
them.

Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Reviewed-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Link: https://lore.kernel.org/20250611-gpiochip-set-rv-pinctrl-renesas-v1-1-ad169a794ef0@linaro.org
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
8 weeks agopinctrl: intel: fix build warnings about export.h
Andy Shevchenko [Wed, 11 Jun 2025 18:09:56 +0000 (21:09 +0300)] 
pinctrl: intel: fix build warnings about export.h

After commit a934a57a42f64a4 ("scripts/misc-check: check missing #include
<linux/export.h> when W=1") and 7d95680d64ac8e836c ("scripts/misc-check:
check unnecessary #include <linux/export.h> when W=1"), we get some build
warnings with W=1:

pinctrl-intel.c: warning: EXPORT_SYMBOL() is used, but #include <linux/export.h> is missing

So fix these build warnings for the driver code.

Acked-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
8 weeks agoMerge patch series "pinctrl: intel: use new GPIO line value setter callbacks"
Andy Shevchenko [Wed, 11 Jun 2025 08:27:32 +0000 (11:27 +0300)] 
Merge patch series "pinctrl: intel: use new GPIO line value setter callbacks"

Bartosz Golaszewski <brgl@bgdev.pl> says:

Commit 98ce1eb1fd87e ("gpiolib: introduce gpio_chip setters that return
values") added new line setter callbacks to struct gpio_chip. They allow
to indicate failures to callers. We're in the process of converting all
GPIO controllers to using them before removing the old ones. This series
converts all GPIO chips in intel pin control drivers.

Link: https://lore.kernel.org/r/20250610-gpiochip-set-rv-pinctrl-intel-v1-0-d7a773ff864e@linaro.org
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
8 weeks agopinctrl: lynxpoint: use new GPIO line value setter callbacks
Bartosz Golaszewski [Tue, 10 Jun 2025 12:58:50 +0000 (14:58 +0200)] 
pinctrl: lynxpoint: use new GPIO line value setter callbacks

struct gpio_chip now has callbacks for setting line values that return
an integer, allowing to indicate failures. Convert the driver to using
them.

Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Acked-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
8 weeks agopinctrl: intel: use new GPIO line value setter callbacks
Bartosz Golaszewski [Tue, 10 Jun 2025 12:58:49 +0000 (14:58 +0200)] 
pinctrl: intel: use new GPIO line value setter callbacks

struct gpio_chip now has callbacks for setting line values that return
an integer, allowing to indicate failures. Convert the driver to using
them.

Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Acked-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
8 weeks agopinctrl: cherryview: use new GPIO line value setter callbacks
Bartosz Golaszewski [Tue, 10 Jun 2025 12:58:48 +0000 (14:58 +0200)] 
pinctrl: cherryview: use new GPIO line value setter callbacks

struct gpio_chip now has callbacks for setting line values that return
an integer, allowing to indicate failures. Convert the driver to using
them.

Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Acked-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
8 weeks agopinctrl: baytrail: use new GPIO line value setter callbacks
Bartosz Golaszewski [Tue, 10 Jun 2025 12:58:47 +0000 (14:58 +0200)] 
pinctrl: baytrail: use new GPIO line value setter callbacks

struct gpio_chip now has callbacks for setting line values that return
an integer, allowing to indicate failures. Convert the driver to using
them.

Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Acked-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
8 weeks agopinctrl: cirrus: madera-core: Use devm_pinctrl_register_mappings()
Thomas Richard [Mon, 9 Jun 2025 11:51:15 +0000 (13:51 +0200)] 
pinctrl: cirrus: madera-core: Use devm_pinctrl_register_mappings()

Use devm_pinctrl_register_mappings(), so the mappings are automatically
unregistered by the core. If pinctrl_enable() failed during the probe,
pinctrl_mappings were not freed. Now it is done by the core.

Fixes: 218d72a77b0b ("pinctrl: madera: Add driver for Cirrus Logic Madera codecs")
Signed-off-by: Thomas Richard <thomas.richard@bootlin.com>
Reviewed-by: Richard Fitzgerald <rf@opensource.cirrus.com>
Link: https://lore.kernel.org/20250609-pinctrl-madera-devm-pinctrl-register-mappings-v1-1-ba2c2822cf6c@bootlin.com
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>