* [GIT PULL] pin control changes for v7.1
@ 2026-04-18 22:24 Linus Walleij
2026-04-19 0:25 ` pr-tracker-bot
0 siblings, 1 reply; 2+ messages in thread
From: Linus Walleij @ 2026-04-18 22:24 UTC (permalink / raw)
To: Linus Torvalds; +Cc: Linux pin control, LKML, Bartosz Golaszewski
Hi Linus,
here are the pin control changes for the v7.1 kernel cycle.
There is a little bit of everything this time. Some core improvements
on semantic checks. Some bunch of new drivers. Cleanup series.
But overall pretty straight-forward. Some SCMI changes probably came in
before through an immutable branched pulled by the GPIO subsystem.
Details in the signed tag as always.
Please pull it in!
Yours,
Linus Walleij
The following changes since commit 6de23f81a5e08be8fbf5e8d7e9febc72a5b5f27f:
Linux 7.0-rc1 (2026-02-22 13:18:59 -0800)
are available in the Git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl.git
tags/pinctrl-v7.1-1
for you to fetch changes up to 90700e10d2ad61c13a5117cfa5e08d9f2e497dcc:
pinctrl: qcom: Add Hawi pinctrl driver (2026-04-09 10:52:34 +0200)
----------------------------------------------------------------
Pin control changes for the v7.1 kernel cycle:
Core changes:
- Perform basic checks on pin config properties so as not to
allow directly contradictory settings such as setting a pin
to more than one bias or drive mode.
- Handle input-threshold-voltage-microvolt property.
- Introduce pinctrl_gpio_get_config() handling in the core for
SCMI GPIO using pin control.
New drivers:
- GPIO-by-pin control driver (also apperaing in the GPIO pull
request) fulfilling a promise on a comment from
Grant Likely many years ago: "can't GPIO just be a front-end
for pin control?" it turns out it can, if and only if you
design something new from scratch, such as SCMI.
- Broadcom BCM7038 as a pinctrl-single delegate.
- Mobileye EyeQ6Lplus OLB pin controller.
- Qualcomm Eliza and Hawi families TLMM pin controllers.
- Qualcomm SDM670 and Milos family LPASS LPI pin controllers.
- Qualcomm IPQ5210 pin controller.
- Realtek RTD1625 pin controller support.
- Rockchip RV1103B pin controller support.
- Texas Instruments AM62L as a pinctrl-single delegate.
Improvements:
- Set config implementation for the Spacemit K1 pin controller.
----------------------------------------------------------------
AKASHI Takahiro (3):
pinctrl: introduce pinctrl_gpio_get_config()
gpio: dt-bindings: Add GPIO on top of generic pin control
gpio: gpio-by-pinctrl: add pinctrl based generic GPIO driver
Abel Vesa (2):
dt-bindings: pinctrl: document the Eliza Top Level Mode Multiplexer
pinctrl: qcom: Add Eliza pinctrl driver
Andy Shevchenko (13):
pinctrl: cy8c95x0: Use devm_mutex_init() for mutex initialization
pinctrl: cy8c95x0: remove duplicate error message
pinctrl: cy8c95x0: Unify messages with help of dev_err_probe()
pinctrl: cy8c95x0: Move driver data to the local variable in ->probe()
pinctrl: cy8c95x0: Drop unused 'name' in struct cy8c95x0_pinctrl
pinctrl: cy8c95x0: Eliminate fragile use of I²C ID table
pinctrl: cy8c95x0: Gather ID tables in one place
pinctrl: pinconf-generic: Use only fwnode API in parse_dt_cfg()
pinctrl: cy8c95x0: Avoid returning positive values to user space
pinctrl: pinconf-generic: Fully validate 'pinmux' property
pinctrl: pinconf-generic: Validate fwnode instead of device node
pinctrl: pinconf-generic: Convert ..._parse_dt_pinmux() to fwnode API
pinctrl: core: Don't use "proxy" headers
Bartosz Golaszewski (1):
pinctrl: Kconfig: drop unneeded dependencies on OF_GPIO
Basavaraj Natikar (1):
pinctrl: amd: Support new ACPI ID AMDI0033
Benoît Monin (2):
pinctrl: eyeq5: Use match data
pinctrl: eyeq5: Add Mobileye EyeQ6Lplus OLB
Biju Das (1):
pinctrl: renesas: rzg2l: Fix save/restore of {IOLH,IEN,PUPD,SMT} registers
Brian Masney (3):
pinctrl: pic32: change all cases of bare 'unsigned' to 'unsigned int'
pinctrl: pic32: use consistent spacing around '+'
pinctrl: pic32: allow driver to be compiled with COMPILE_TEST
Chen Ni (1):
pinctrl: realtek: Fix error check for devm_platform_ioremap_resource()
Conor Dooley (3):
pinctrl: pinconf-generic: perform basic checks on pincfg properties
dt-bindings: pinctrl: pincfg-node: add restrictions on
conflicting properties
dt-bindings: pinctrl: pincfg-node: permit bias-high-impedance
with other bias properties
Cosmin Tanislav (1):
pinctrl: renesas: rzt2h: Fix invalid wait context
Dan Carpenter (4):
pinctrl: scmi: Add SCMI_PIN_INPUT_VALUE
pinctrl: scmi: Delete PIN_CONFIG_OUTPUT_IMPEDANCE_OHMS support
pinctrl: scmi: ignore PIN_CONFIG_PERSIST_STATE
firmware: arm_scmi: Allow PINCTRL_REQUEST to return EOPNOTSUPP
Dmitry Torokhov (1):
pinctrl: renesas: rza1: Normalize return value of gpio_get()
Ethan Tidmore (2):
pinctrl: pinctrl-pic32: Fix resource leak
pinctrl: pinctrl-pic32: Use devres version of gpiochip_add_data()
Fabio Estevam (2):
dt-bindings: pinctrl: rockchip: Add RV1103B compatible
pinctrl: rockchip: Add RV1103B pinctrl support
Felix Gu (2):
pinctrl: microchip-mssio: Fix missing return in probe
pinctrl: renesas: rzt2h: Fix device node leak in rzt2h_gpio_register()
Florian Fainelli (2):
dt-bindings: pinctrl: pinctrl-single: Add brcm,bcm7038-padconf
pinctrl: single: Add bcm7038-padconf compatible matching
Frank Li (2):
dt-bindings: pinctrl: convert fsl,imx27-pinctrl.txt to YAML
dt-bindings: pinctrl: imx35: add compatible string fsl,imx25-iomuxc
Gabor Juhos (1):
dt-bindings: pinctrl: marvell,armada3710-xb-pinctrl: add missing
items keyword
Geert Uytterhoeven (2):
pinctrl: imx: PINCTRL_IMX_SCMI should depend on ARCH_MXC
pinctrl: renesas: rzg2l: Drop superfluous blank line
Inochi Amaoto (2):
pinctrl: sophgo: pinctrl-sg2042: Fix wrong module description
pinctrl: sophgo: pinctrl-sg2044: Fix wrong module description
Janne Grunau (1):
dt-bindings: pinctrl: apple,pinctrl: Add t8122 compatible
Junhui Liu (2):
pinctrl: spacemit: return -ENOTSUPP for unsupported pin configurations
gpio: spacemit-k1: Add set_config callback support
Kathiravan Thirumoorthy (2):
dt-bindings: pinctrl: qcom: add IPQ5210 pinctrl
pinctrl: qcom: Introduce IPQ5210 TLMM driver
Krzysztof Kozlowski (1):
pinctrl: qcom: De-acronymize Glymur SoC name
Lad Prabhakar (2):
dt-bindings: pinctrl: renesas,r9a09g077: Document pin
configuration properties
pinctrl: renesas: rzt2h: Add pin configuration support
Linus Walleij (3):
pinctrl: Fix spelling problem
Merge branch 'ib-scmi-pinctrl-gpio' into devel
Merge tag 'renesas-pinctrl-for-v7.1-tag1' of
git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-drivers
into devel
Luca Weiss (2):
dt-bindings: pinctrl: qcom: Add Milos LPASS LPI pinctrl
pinctrl: qcom: Add Milos LPASS LPI TLMM
Matthijs Kooijman (1):
gpio: rockchip: Call pinctrl for gpio config
Michal Piekos (1):
pinctrl: core: use dev_err_probe() when applying state
Mohammad Rafi Shaik (1):
dt-bindings: pinctrl: qcom,sm8450-lpass-lpi-pinctrl: Add SA8775P
and QCS8300 pinctrl
Mukesh Ojha (4):
pinctrl: qcom: eliza: Fix interrupt target bit
pinctrl: qcom: Drop redundant intr_target_reg on modern SoCs
dt-bindings: pinctrl: qcom: Describe Hawi TLMM block
pinctrl: qcom: Add Hawi pinctrl driver
Philipp Hahn (1):
pinctrl: Prefer IS_ERR_OR_NULL over manual NULL check
Randy Dunlap (2):
pinctrl: pinconf-generic: fix an enum name description
pinctrl: s32: correct kernel-doc bad line warning
Richard Acayan (4):
dt-bindings: qcom: lpass-lpi-common: add reserved GPIOs property
dt-bindings: pinctrl: qcom: Add SDM670 LPASS LPI pinctrl
pinctrl: qcom: add sdm670 lpi tlmm
pinctrl: qcom: sdm670-lpass-lpi: label variables as static
Rosen Penev (1):
pinctrl: tegra: use flexible array member for array
Srinivas Kandagatla (1):
dt-bindings: pinctrl: qcom,sm8650-lpass-lpi-pinctrl: Add Glymur pinctrl
Svyatoslav Ryhel (1):
dt-bindings: pinctrl: pinctrl-max77620: convert to DT schema
Tzuyi Chang (7):
pinctrl: realtek: Fix return value and silence log for unsupported configs
pinctrl: realtek: Support system suspend and resume
dt-bindings: pincfg-node: Add input-threshold-voltage-microvolt property
pinctrl: pinconf-generic: Add properties
'input-threshold-voltage-microvolt'
dt-bindings: pinctrl: realtek: Add RTD1625 pinctrl binding
pinctrl: realtek: add support for slew rate, input voltage and high VIL
pinctrl: realtek: add rtd1625 pinctrl driver
Vignesh Raghavendra (1):
pinctrl: pinctrl-single: add ti,am62l-padconf compatible string
Yu-Chun Lin (7):
pinctrl: realtek: Cleanup license string
pinctrl: realtek: Switch to use devm functions
pinctrl: realtek: Simplify error handling with dev_err_probe()
pinctrl: realtek: Fix grammar in error messages
pinctrl: realtek: Fix function signature for config argument
dt-bindings: pinctrl: realtek: Improve 'realtek,duty-cycle' description
pinctrl: abx500: Fix type of 'argument' variable
.../devicetree/bindings/gpio/pin-control-gpio.yaml | 59 +
.../devicetree/bindings/pinctrl/apple,pinctrl.yaml | 4 +-
.../bindings/pinctrl/fsl,imx27-iomuxc.yaml | 126 +
.../bindings/pinctrl/fsl,imx27-pinctrl.txt | 121 -
.../bindings/pinctrl/fsl,imx35-pinctrl.yaml | 1 +
.../pinctrl/marvell,armada3710-xb-pinctrl.yaml | 11 +-
.../bindings/pinctrl/maxim,max77620-pinctrl.yaml | 98 +
.../devicetree/bindings/pinctrl/pincfg-node.yaml | 107 +-
.../bindings/pinctrl/pinctrl-max77620.txt | 127 -
.../bindings/pinctrl/pinctrl-single.yaml | 4 +
.../bindings/pinctrl/qcom,eliza-tlmm.yaml | 138 +
.../bindings/pinctrl/qcom,hawi-tlmm.yaml | 120 +
.../bindings/pinctrl/qcom,ipq5210-tlmm.yaml | 123 +
.../bindings/pinctrl/qcom,lpass-lpi-common.yaml | 8 +
.../pinctrl/qcom,milos-lpass-lpi-pinctrl.yaml | 109 +
.../pinctrl/qcom,sdm670-lpass-lpi-pinctrl.yaml | 81 +
.../pinctrl/qcom,sm8450-lpass-lpi-pinctrl.yaml | 8 +-
.../pinctrl/qcom,sm8650-lpass-lpi-pinctrl.yaml | 4 +-
.../bindings/pinctrl/realtek,rtd1315e-pinctrl.yaml | 7 +-
.../bindings/pinctrl/realtek,rtd1319d-pinctrl.yaml | 7 +-
.../bindings/pinctrl/realtek,rtd1619b-pinctrl.yaml | 7 +-
.../bindings/pinctrl/realtek,rtd1625-pinctrl.yaml | 260 ++
.../pinctrl/renesas,r9a09g077-pinctrl.yaml | 17 +
.../bindings/pinctrl/rockchip,pinctrl.yaml | 1 +
drivers/firmware/arm_scmi/pinctrl.c | 2 +
drivers/gpio/Kconfig | 13 +
drivers/gpio/Makefile | 1 +
drivers/gpio/gpio-by-pinctrl.c | 101 +
drivers/gpio/gpio-rockchip.c | 2 +-
drivers/gpio/gpio-spacemit-k1.c | 1 +
drivers/pinctrl/Kconfig | 15 +-
drivers/pinctrl/bcm/Kconfig | 4 +-
drivers/pinctrl/core.c | 38 +-
drivers/pinctrl/devicetree.c | 2 +-
drivers/pinctrl/freescale/Kconfig | 2 +-
drivers/pinctrl/meson/Kconfig | 1 -
drivers/pinctrl/microchip/pinctrl-mpfs-mssio.c | 2 +-
drivers/pinctrl/nomadik/pinctrl-abx500.c | 2 +-
drivers/pinctrl/nxp/pinctrl-s32.h | 2 +-
drivers/pinctrl/pinconf-generic.c | 94 +-
drivers/pinctrl/pinconf.h | 6 +
drivers/pinctrl/pinctrl-amd.c | 1 +
drivers/pinctrl/pinctrl-cy8c95x0.c | 93 +-
drivers/pinctrl/pinctrl-eyeq5.c | 439 ++-
drivers/pinctrl/pinctrl-pic32.c | 64 +-
drivers/pinctrl/pinctrl-rockchip.c | 313 +-
drivers/pinctrl/pinctrl-rockchip.h | 1 +
drivers/pinctrl/pinctrl-scmi.c | 46 +-
drivers/pinctrl/pinctrl-single.c | 6 +-
drivers/pinctrl/qcom/Kconfig | 20 +
drivers/pinctrl/qcom/Kconfig.msm | 28 +
drivers/pinctrl/qcom/Makefile | 5 +
drivers/pinctrl/qcom/pinctrl-apq8084.c | 2 -
drivers/pinctrl/qcom/pinctrl-eliza.c | 1545 ++++++++++
drivers/pinctrl/qcom/pinctrl-glymur.c | 5 +-
drivers/pinctrl/qcom/pinctrl-hawi.c | 1610 ++++++++++
drivers/pinctrl/qcom/pinctrl-ipq4019.c | 1 -
drivers/pinctrl/qcom/pinctrl-ipq5018.c | 1 -
drivers/pinctrl/qcom/pinctrl-ipq5210.c | 897 ++++++
drivers/pinctrl/qcom/pinctrl-ipq5332.c | 1 -
drivers/pinctrl/qcom/pinctrl-ipq5424.c | 1 -
drivers/pinctrl/qcom/pinctrl-ipq6018.c | 1 -
drivers/pinctrl/qcom/pinctrl-ipq8074.c | 1 -
drivers/pinctrl/qcom/pinctrl-ipq9574.c | 1 -
drivers/pinctrl/qcom/pinctrl-kaanapali.c | 3 -
drivers/pinctrl/qcom/pinctrl-mdm9607.c | 2 -
drivers/pinctrl/qcom/pinctrl-milos-lpass-lpi.c | 217 ++
drivers/pinctrl/qcom/pinctrl-milos.c | 3 -
drivers/pinctrl/qcom/pinctrl-msm.c | 20 +-
drivers/pinctrl/qcom/pinctrl-msm.h | 6 +-
drivers/pinctrl/qcom/pinctrl-msm8226.c | 2 -
drivers/pinctrl/qcom/pinctrl-msm8909.c | 2 -
drivers/pinctrl/qcom/pinctrl-msm8916.c | 2 -
drivers/pinctrl/qcom/pinctrl-msm8917.c | 2 -
drivers/pinctrl/qcom/pinctrl-msm8953.c | 2 -
drivers/pinctrl/qcom/pinctrl-msm8976.c | 2 -
drivers/pinctrl/qcom/pinctrl-msm8994.c | 2 -
drivers/pinctrl/qcom/pinctrl-msm8996.c | 2 -
drivers/pinctrl/qcom/pinctrl-msm8998.c | 3 -
drivers/pinctrl/qcom/pinctrl-msm8x74.c | 3 -
drivers/pinctrl/qcom/pinctrl-qcm2290.c | 3 -
drivers/pinctrl/qcom/pinctrl-qcs404.c | 2 -
drivers/pinctrl/qcom/pinctrl-qcs615.c | 3 -
drivers/pinctrl/qcom/pinctrl-qcs8300.c | 3 -
drivers/pinctrl/qcom/pinctrl-qdf2xxx.c | 1 -
drivers/pinctrl/qcom/pinctrl-qdu1000.c | 3 -
drivers/pinctrl/qcom/pinctrl-sa8775p.c | 3 -
drivers/pinctrl/qcom/pinctrl-sar2130p.c | 2 -
drivers/pinctrl/qcom/pinctrl-sc7180.c | 3 -
drivers/pinctrl/qcom/pinctrl-sc7280.c | 3 -
drivers/pinctrl/qcom/pinctrl-sc8180x.c | 3 -
drivers/pinctrl/qcom/pinctrl-sc8280xp.c | 3 -
drivers/pinctrl/qcom/pinctrl-sdm660.c | 2 -
drivers/pinctrl/qcom/pinctrl-sdm670-lpass-lpi.c | 166 ++
drivers/pinctrl/qcom/pinctrl-sdm670.c | 4 -
drivers/pinctrl/qcom/pinctrl-sdm845.c | 3 -
drivers/pinctrl/qcom/pinctrl-sdx55.c | 2 -
drivers/pinctrl/qcom/pinctrl-sdx65.c | 3 -
drivers/pinctrl/qcom/pinctrl-sdx75.c | 2 -
drivers/pinctrl/qcom/pinctrl-sm4450.c | 3 -
drivers/pinctrl/qcom/pinctrl-sm6115.c | 3 -
drivers/pinctrl/qcom/pinctrl-sm6125.c | 3 -
drivers/pinctrl/qcom/pinctrl-sm6350.c | 3 -
drivers/pinctrl/qcom/pinctrl-sm6375.c | 3 -
drivers/pinctrl/qcom/pinctrl-sm7150.c | 3 -
drivers/pinctrl/qcom/pinctrl-sm8150.c | 3 -
drivers/pinctrl/qcom/pinctrl-sm8250.c | 3 -
drivers/pinctrl/qcom/pinctrl-sm8350.c | 3 -
drivers/pinctrl/qcom/pinctrl-sm8450.c | 3 -
drivers/pinctrl/qcom/pinctrl-sm8550.c | 3 -
drivers/pinctrl/qcom/pinctrl-sm8650.c | 3 -
drivers/pinctrl/qcom/pinctrl-sm8750.c | 3 -
drivers/pinctrl/qcom/pinctrl-x1e80100.c | 3 -
drivers/pinctrl/realtek/Kconfig | 14 +
drivers/pinctrl/realtek/Makefile | 1 +
drivers/pinctrl/realtek/pinctrl-rtd.c | 224 +-
drivers/pinctrl/realtek/pinctrl-rtd.h | 50 +
drivers/pinctrl/realtek/pinctrl-rtd1625.c | 3138 ++++++++++++++++++++
drivers/pinctrl/renesas/pinctrl-rza1.c | 2 +-
drivers/pinctrl/renesas/pinctrl-rzg2l.c | 8 +-
drivers/pinctrl/renesas/pinctrl-rzt2h.c | 273 +-
drivers/pinctrl/sophgo/pinctrl-sg2042.c | 2 +-
drivers/pinctrl/sophgo/pinctrl-sg2044.c | 2 +-
drivers/pinctrl/spacemit/pinctrl-k1.c | 21 +-
drivers/pinctrl/starfive/Kconfig | 2 -
drivers/pinctrl/sunplus/Kconfig | 1 -
drivers/pinctrl/tegra/pinctrl-tegra.c | 10 +-
drivers/pinctrl/tegra/pinctrl-tegra.h | 4 +-
include/linux/pinctrl/consumer.h | 9 +
include/linux/pinctrl/pinconf-generic.h | 5 +-
130 files changed, 10454 insertions(+), 759 deletions(-)
create mode 100644 Documentation/devicetree/bindings/gpio/pin-control-gpio.yaml
create mode 100644
Documentation/devicetree/bindings/pinctrl/fsl,imx27-iomuxc.yaml
delete mode 100644
Documentation/devicetree/bindings/pinctrl/fsl,imx27-pinctrl.txt
create mode 100644
Documentation/devicetree/bindings/pinctrl/maxim,max77620-pinctrl.yaml
delete mode 100644
Documentation/devicetree/bindings/pinctrl/pinctrl-max77620.txt
create mode 100644
Documentation/devicetree/bindings/pinctrl/qcom,eliza-tlmm.yaml
create mode 100644
Documentation/devicetree/bindings/pinctrl/qcom,hawi-tlmm.yaml
create mode 100644
Documentation/devicetree/bindings/pinctrl/qcom,ipq5210-tlmm.yaml
create mode 100644
Documentation/devicetree/bindings/pinctrl/qcom,milos-lpass-lpi-pinctrl.yaml
create mode 100644
Documentation/devicetree/bindings/pinctrl/qcom,sdm670-lpass-lpi-pinctrl.yaml
create mode 100644
Documentation/devicetree/bindings/pinctrl/realtek,rtd1625-pinctrl.yaml
create mode 100644 drivers/gpio/gpio-by-pinctrl.c
create mode 100644 drivers/pinctrl/qcom/pinctrl-eliza.c
create mode 100644 drivers/pinctrl/qcom/pinctrl-hawi.c
create mode 100644 drivers/pinctrl/qcom/pinctrl-ipq5210.c
create mode 100644 drivers/pinctrl/qcom/pinctrl-milos-lpass-lpi.c
create mode 100644 drivers/pinctrl/qcom/pinctrl-sdm670-lpass-lpi.c
create mode 100644 drivers/pinctrl/realtek/pinctrl-rtd1625.c
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2026-04-19 0:25 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-04-18 22:24 [GIT PULL] pin control changes for v7.1 Linus Walleij
2026-04-19 0:25 ` pr-tracker-bot
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox