Hi Linus, here is the bulk of pin control changes for the v5.3 kernel cycle. This is pretty linear development in pin control, nothing really stand out. We had a bit of SPDX fuzz with tglx fixing up tags with scripts at the same time as maintainers were fixing up the same tags, but I regard that as a one-off and not a good time for an exercise in "what can be done differently". Let's resolve the conflicts and move on (I don't know if there will be any, don't think so.) Please pull it in! Technical details in the signed tag. Yours, Linus Walleij The following changes since commit a188339ca5a396acc588e5851ed7e19f66b0ebd9: Linux 5.2-rc1 (2019-05-19 15:47:09 -0700) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl.git tags/pinctrl-v5.3-1 for you to fetch changes up to 4c105769bf6de29856bf80a4045e6725301c58ce: pinctrl: aspeed: Strip moved macros and structs from private header (2019-07-10 11:19:20 +0200) ---------------------------------------------------------------- This is the bulk of pin control changes for the v5.3 kernel cycle: Core changes: - Device links can optionally be added between a pin control producer and its consumers. This will affect how the system power management is handled: a pin controller will not suspend before all of its consumers have been suspended. This was necessary for the ST Microelectronics STMFX expander and need to be tested on other systems as well: it makes sense to make this default in the long run. Right now it is opt-in per driver. - Drive strength can be specified in microamps. With decreases in silicon technology, milliamps isn't granular enough, let's make it possible to select drive strengths in microamps. Right now the Meson (AMlogic) driver needs this. New drivers: - New subdriver for the Tegra 194 SoC. - New subdriver for the Qualcomm SDM845. - New subdriver for the Qualcomm SM8150. - New subdriver for the Freescale i.MX8MN (Freescale is now a product line of NXP). - New subdriver for Marvell MV98DX1135. Driver improvements: - The Bitmain BM1880 driver now supports pin config in addition to muxing. - The Qualcomm drivers can now reserve some GPIOs as taken aside and not usable for users. This is used in ACPI systems to take out some GPIO lines used by the BIOS so that noone else (neither kernel nor userspace) will play with them by mistake and crash the machine. - A slew of refurbishing around the Aspeed drivers (board management controllers for servers) in preparation for the new Aspeed AST2600 SoC. - A slew of improvements over the SH PFC drivers as usual. - Misc cleanups and fixes. ---------------------------------------------------------------- Alexandre Torgue (4): pinctrl: stm32: add suspend/resume management pinctrl: stm32: Enable suspend/resume for stm32mp157c SoC pinctrl: stm32: add lock mechanism for irqmux selection dt-bindings: pinctrl: Convert stm32 pinctrl bindings to json-schema Andrew Jeffery (9): dt-bindings: pinctrl: aspeed: Split bindings document in two dt-bindings: pinctrl: aspeed: Convert AST2400 bindings to json-schema dt-bindings: pinctrl: aspeed: Convert AST2500 bindings to json-schema MAINTAINERS: Add entry for ASPEED pinctrl drivers pinctrl: aspeed: Correct comment that is no longer true pinctrl: aspeed: Clarify comment about strapping W1C pinctrl: aspeed: Split out pinmux from general pinctrl pinctrl: aspeed: Add implementation-related documentation pinctrl: aspeed: Strip moved macros and structs from private header Andy Shevchenko (3): pinctrl: baytrail: Use defined macro instead of magic in byt_get_gpio_mux() pinctrl: baytrail: Re-use data structures from pinctrl-intel.h pinctrl: baytrail: Use GENMASK() consistently Anson Huang (3): dt-bindings: imx: Correct pinfunc head file path for i.MX8MM dt-bindings: imx: Add pinctrl binding doc for i.MX8MN pinctrl: freescale: Add i.MX8MN pinctrl driver support Benjamin Gaignard (2): pinctrl: Enable device link creation for pin control pinctrl: stmfx: enable links creations Bjorn Andersson (1): pinctrl: qcom: sdm845: Expose ufs_reset as gpio Charles Keepax (1): pinctrl: madera: Fixup SPDX headers Chris Packham (2): dt-bindings: pinctrl: mvebu: Document bindings for 98DX1135 pinctrl: mvebu: Add support for MV98DX1135 Colin Ian King (1): dt-bindings: pinctrl: fix spelling mistakes in pinctl documentation Doug Berger (1): pinctrl: bcm: Allow PINCTRL_BCM2835 for ARCH_BRCMSTB Enrico Weigelt (1): gpio: Fix build warnings on undefined struct pinctrl_dev Florian Fainelli (1): dt-bindings: pinctrl: bcm2835-gpio: Document BCM7211 compatible Geert Uytterhoeven (26): pinctrl: sh-pfc: Correct printk level of group reference warning pinctrl: sh-pfc: Mark run-time debug code __init pinctrl: sh-pfc: Add check for empty pinmux groups/functions pinctrl: sh-pfc: Validate pin tables at runtime pinctrl: sh-pfc: Rename 2-parameter CPU_ALL_PORT() variant pinctrl: sh-pfc: Add SH_PFC_PIN_CFG_PULL_UP_DOWN shorthand pinctrl: sh-pfc: Move PIN_NONE to shared header file pinctrl: sh-pfc: r8a77970: Remove MMC_{CD,WP} pinctrl: sh-pfc: r8a7795-es1: Add TPU pins, groups and functions pinctrl: sh-pfc: r8a7795: Add TPU pins, groups and functions pinctrl: sh-pfc: r8a7796: Add TPU pins, groups and functions pinctrl: sh-pfc: r8a77965: Add TPU pins, groups and functions pinctrl: sh-pfc: Add PORT_GP_27 helper macro pinctrl: sh-pfc: r8a7778: Use common PORT_GP_CFG_27() macro pinctrl: sh-pfc: Add new non-GPIO helper macros pinctrl: sh-pfc: emev2: Use new macros for non-GPIO pins pinctrl: sh-pfc: r8a7778: Use new macros for non-GPIO pins pinctrl: sh-pfc: r8a7790: Use new macros for non-GPIO pins pinctrl: sh-pfc: r8a7795-es1: Use new macros for non-GPIO pins pinctrl: sh-pfc: r8a7795: Use new macros for non-GPIO pins pinctrl: sh-pfc: r8a7796: Use new macros for non-GPIO pins pinctrl: sh-pfc: r8a77965: Use new macros for non-GPIO pins pinctrl: sh-pfc: r8a77990: Use new macros for non-GPIO pins pinctrl: sh-pfc: sh73a0: Use new macros for non-GPIO pins pinctrl: sh-pfc: Remove obsolete SH_PFC_PIN_NAMED*() macros dt-bindings: pinctrl: pic32: Spelling s/configuraion/configuration/ Guillaume La Roque (6): dt-bindings: pinctrl: add a 'drive-strength-microamp' property pinctrl: generic: add new 'drive-strength-microamp' property support dt-bindings: pinctrl: meson: Add drive-strength-microamp property pinctrl: meson: Rework enable/disable bias part pinctrl: meson: add support of drive-strength-microamp pinctrl: meson: g12a: add DS bank value Gustavo A. R. Silva (1): pinctrl: tb10x: Use flexible-array member and struct_size() helper Hongwei Zhang (1): pinctrl: aspeed: Add SGPM pinmux Icenowy Zheng (2): dt-bindings: pinctrl: add missing compatible string for V3s dt-bindings: pinctrl: add compatible string for Allwinner V3 pinctrl Jerome Brunet (2): dt-bindings: pinctrl: meson: add output support in pinconf pinctrl: meson: add output support in pinconf Krishna Yarlagadda (3): pinctrl: Add Tegra194 pinctrl DT bindings pinctrl: tegra: Support 32 bit register access pinctrl: tegra: Add Tegra194 pinmux driver Lee Jones (2): pinctrl: msm: Add ability for drivers to supply a reserved GPIO list pinctrl: qcom: sdm845: Provide ACPI support Linus Walleij (8): pinctrl: core: Do not add device links for hogs pinctrl: stm32: Add links to consumers pinctrl: u300: Fix SPDX tags pinctrl: nomadik: Fix SPDX tags Merge tag 'sh-pfc-for-v5.3-tag1' of git://git.kernel.org/.../geert/renesas-drivers into devel Merge branch 'ib-qcom-acpi' into devel pinctrl: Minimize SPDX hamming distance pinctrl: aspeed: Fix missed include Manivannan Sadhasivam (6): dt-bindings: pinctrl: Modify pinctrl memory map pinctrl: Rework the pinmux handling for BM1880 SoC dt-bindings: pinctrl: Document pinconf bindings for BM1880 SoC pinctrl: Add pinconf support for BM1880 SoC dt-bindings: pinctrl: Document drive strength settings for BM1880 SoC pinctrl: Add drive strength support for BM1880 SoC Masahiro Yamada (5): pinctrl: add include guard to pinctrl-state.h pinctrl: remove unneeded initializer for list_for_each_entry() iterator pinctrl: remove unused pin_is_valid() pinctrl: make pinconf.h self-contained pinctrl: remove unneeded #ifdef around declarations Nathan Chancellor (1): pinctrl: qcom: sdm845: Fix CONFIG preprocessor guard Neil Armstrong (5): pinctrl: meson: update with SPDX Licence identifier dt-bindings: gpio: meson-gxbb-gpio: update with SPDX Licence identifier dt-bindings: gpio: meson-gxl-gpio: update with SPDX Licence identifier dt-bindings: gpio: meson8-gpio: update with SPDX Licence identifier dt-bindings: gpio: meson8b-gpio: update with SPDX Licence identifier Nicolas Boichat (2): pinctrl: mediatek: Add pm_ops to pinctrl-paris pinctrl: mediatek: mt8183: Add pm_ops Prasad Sodagudi (2): dt-bindings: pinctrl: qcom: Add SM8150 pinctrl binding pinctrl: qcom: Add SM8150 pinctrl driver Srinivas Ramana (1): pinctrl: qcom: Add irq_enable callback for msm gpio Thierry Reding (2): pinctrl: tegra: Set specific GPIO compatible string pinctrl: tegra: Add bitmask support for parked bits Vinod Koul (1): dt-bindings: pinctrl: qcom: Document missing gpio nodes Wen Yang (1): pinctrl: rockchip: fix leaked of_node references Young Xiao (1): pinctrl: ns2: Fix potential NULL dereference YueHaibing (1): pinctrl: bcm2835: Fix build error without CONFIG_OF .../bindings/pinctrl/allwinner,sunxi-pinctrl.txt | 2 + .../bindings/pinctrl/aspeed,ast2400-pinctrl.yaml | 81 + .../bindings/pinctrl/aspeed,ast2500-pinctrl.yaml | 134 ++ .../bindings/pinctrl/bitmain,bm1880-pinctrl.txt | 34 +- .../bindings/pinctrl/brcm,bcm2835-gpio.txt | 3 + .../bindings/pinctrl/fsl,imx8mm-pinctrl.txt | 2 +- .../bindings/pinctrl/fsl,imx8mn-pinctrl.txt | 39 + .../bindings/pinctrl/marvell,kirkwood-pinctrl.txt | 44 +- .../devicetree/bindings/pinctrl/meson,pinctrl.txt | 16 +- .../bindings/pinctrl/microchip,pic32-pinctrl.txt | 2 +- .../bindings/pinctrl/nvidia,tegra194-pinmux.txt | 107 ++ .../devicetree/bindings/pinctrl/pinctrl-aspeed.txt | 172 --- .../bindings/pinctrl/pinctrl-bindings.txt | 3 + .../bindings/pinctrl/qcom,apq8084-pinctrl.txt | 6 +- .../bindings/pinctrl/qcom,ipq8074-pinctrl.txt | 6 +- .../bindings/pinctrl/qcom,mdm9615-pinctrl.txt | 6 +- .../bindings/pinctrl/qcom,msm8916-pinctrl.txt | 6 +- .../bindings/pinctrl/qcom,msm8960-pinctrl.txt | 6 +- .../bindings/pinctrl/qcom,msm8994-pinctrl.txt | 6 +- .../bindings/pinctrl/qcom,msm8996-pinctrl.txt | 6 +- .../bindings/pinctrl/qcom,msm8998-pinctrl.txt | 16 +- .../bindings/pinctrl/qcom,qcs404-pinctrl.txt | 6 +- .../bindings/pinctrl/qcom,sdm660-pinctrl.txt | 6 +- .../bindings/pinctrl/qcom,sdm845-pinctrl.txt | 8 +- .../bindings/pinctrl/qcom,sm8150-pinctrl.txt | 190 +++ .../bindings/pinctrl/st,stm32-pinctrl.txt | 208 --- .../bindings/pinctrl/st,stm32-pinctrl.yaml | 264 ++++ MAINTAINERS | 9 + arch/arm64/boot/dts/freescale/imx8mn-pinfunc.h | 646 ++++++++ drivers/pinctrl/aspeed/Makefile | 2 +- drivers/pinctrl/aspeed/pinctrl-aspeed-g4.c | 94 +- drivers/pinctrl/aspeed/pinctrl-aspeed-g5.c | 127 +- drivers/pinctrl/aspeed/pinctrl-aspeed.c | 246 +--- drivers/pinctrl/aspeed/pinctrl-aspeed.h | 542 +------ drivers/pinctrl/aspeed/pinmux-aspeed.c | 96 ++ drivers/pinctrl/aspeed/pinmux-aspeed.h | 735 ++++++++++ drivers/pinctrl/bcm/Kconfig | 6 +- drivers/pinctrl/bcm/pinctrl-ns2-mux.c | 2 + drivers/pinctrl/cirrus/pinctrl-cs47l35.c | 6 +- drivers/pinctrl/cirrus/pinctrl-cs47l85.c | 6 +- drivers/pinctrl/cirrus/pinctrl-cs47l90.c | 6 +- drivers/pinctrl/cirrus/pinctrl-madera-core.c | 6 +- drivers/pinctrl/cirrus/pinctrl-madera.h | 6 +- drivers/pinctrl/core.c | 44 +- drivers/pinctrl/freescale/Kconfig | 7 + drivers/pinctrl/freescale/Makefile | 1 + drivers/pinctrl/freescale/pinctrl-imx8mn.c | 348 +++++ drivers/pinctrl/intel/pinctrl-baytrail.c | 322 +--- drivers/pinctrl/mediatek/pinctrl-mt8183.c | 1 + drivers/pinctrl/mediatek/pinctrl-paris.c | 19 + drivers/pinctrl/mediatek/pinctrl-paris.h | 2 + drivers/pinctrl/meson/pinctrl-meson-g12a.c | 36 +- drivers/pinctrl/meson/pinctrl-meson-gxbb.c | 8 +- drivers/pinctrl/meson/pinctrl-meson-gxl.c | 8 +- drivers/pinctrl/meson/pinctrl-meson.c | 358 +++-- drivers/pinctrl/meson/pinctrl-meson.h | 26 +- drivers/pinctrl/meson/pinctrl-meson8-pmx.c | 8 +- drivers/pinctrl/meson/pinctrl-meson8-pmx.h | 8 +- drivers/pinctrl/meson/pinctrl-meson8.c | 8 +- drivers/pinctrl/meson/pinctrl-meson8b.c | 8 +- drivers/pinctrl/mvebu/pinctrl-kirkwood.c | 576 ++++---- drivers/pinctrl/nomadik/Kconfig | 1 + drivers/pinctrl/nomadik/pinctrl-ab8500.c | 5 +- drivers/pinctrl/nomadik/pinctrl-ab8505.c | 5 +- drivers/pinctrl/nomadik/pinctrl-abx500.c | 6 +- drivers/pinctrl/nomadik/pinctrl-nomadik.c | 5 +- drivers/pinctrl/pinconf-generic.c | 2 + drivers/pinctrl/pinctrl-bm1880.c | 733 ++++++--- drivers/pinctrl/pinctrl-coh901.c | 2 +- drivers/pinctrl/pinctrl-rockchip.c | 1 + drivers/pinctrl/pinctrl-stmfx.c | 1 + drivers/pinctrl/pinctrl-tb10x.c | 12 +- drivers/pinctrl/pinctrl-u300.c | 1 + drivers/pinctrl/qcom/Kconfig | 11 +- drivers/pinctrl/qcom/Makefile | 1 + drivers/pinctrl/qcom/pinctrl-msm.c | 43 +- drivers/pinctrl/qcom/pinctrl-msm.h | 1 + drivers/pinctrl/qcom/pinctrl-sdm845.c | 46 +- drivers/pinctrl/qcom/pinctrl-sm8150.c | 1548 ++++++++++++++++++++ drivers/pinctrl/sh-pfc/core.c | 60 +- drivers/pinctrl/sh-pfc/pfc-emev2.c | 70 +- drivers/pinctrl/sh-pfc/pfc-r8a73a4.c | 2 +- drivers/pinctrl/sh-pfc/pfc-r8a7740.c | 2 +- drivers/pinctrl/sh-pfc/pfc-r8a77470.c | 2 +- drivers/pinctrl/sh-pfc/pfc-r8a7778.c | 125 +- drivers/pinctrl/sh-pfc/pfc-r8a7779.c | 2 +- drivers/pinctrl/sh-pfc/pfc-r8a7790.c | 36 +- drivers/pinctrl/sh-pfc/pfc-r8a7791.c | 2 +- drivers/pinctrl/sh-pfc/pfc-r8a7792.c | 2 +- drivers/pinctrl/sh-pfc/pfc-r8a7794.c | 2 +- drivers/pinctrl/sh-pfc/pfc-r8a7795-es1.c | 434 +++--- drivers/pinctrl/sh-pfc/pfc-r8a7795.c | 414 +++--- drivers/pinctrl/sh-pfc/pfc-r8a7796.c | 414 +++--- drivers/pinctrl/sh-pfc/pfc-r8a77965.c | 410 +++--- drivers/pinctrl/sh-pfc/pfc-r8a77970.c | 26 +- drivers/pinctrl/sh-pfc/pfc-r8a77980.c | 2 +- drivers/pinctrl/sh-pfc/pfc-r8a77990.c | 181 ++- drivers/pinctrl/sh-pfc/pfc-r8a77995.c | 2 +- drivers/pinctrl/sh-pfc/pfc-sh73a0.c | 21 +- drivers/pinctrl/sh-pfc/pfc-sh7734.c | 2 +- drivers/pinctrl/sh-pfc/pinctrl.c | 3 +- drivers/pinctrl/sh-pfc/sh_pfc.h | 90 +- drivers/pinctrl/stm32/pinctrl-stm32.c | 184 ++- drivers/pinctrl/stm32/pinctrl-stm32.h | 2 + drivers/pinctrl/stm32/pinctrl-stm32mp157.c | 5 + drivers/pinctrl/tegra/Kconfig | 4 + drivers/pinctrl/tegra/Makefile | 1 + drivers/pinctrl/tegra/pinctrl-tegra.c | 26 +- drivers/pinctrl/tegra/pinctrl-tegra.h | 12 +- drivers/pinctrl/tegra/pinctrl-tegra114.c | 6 +- drivers/pinctrl/tegra/pinctrl-tegra124.c | 6 +- drivers/pinctrl/tegra/pinctrl-tegra194.c | 170 +++ drivers/pinctrl/tegra/pinctrl-tegra20.c | 6 +- drivers/pinctrl/tegra/pinctrl-tegra210.c | 62 +- drivers/pinctrl/tegra/pinctrl-tegra30.c | 4 +- include/dt-bindings/gpio/meson-gxbb-gpio.h | 8 +- include/dt-bindings/gpio/meson-gxl-gpio.h | 8 +- include/dt-bindings/gpio/meson8-gpio.h | 8 +- include/dt-bindings/gpio/meson8b-gpio.h | 8 +- include/linux/gpio.h | 1 + include/linux/gpio/driver.h | 2 + include/linux/pinctrl/pinconf-generic.h | 23 +- include/linux/pinctrl/pinconf.h | 4 +- include/linux/pinctrl/pinctrl-state.h | 5 + include/linux/pinctrl/pinctrl.h | 19 +- include/linux/pinctrl/pinmux.h | 4 - 126 files changed, 7708 insertions(+), 3300 deletions(-) create mode 100644 Documentation/devicetree/bindings/pinctrl/aspeed,ast2400-pinctrl.yaml create mode 100644 Documentation/devicetree/bindings/pinctrl/aspeed,ast2500-pinctrl.yaml create mode 100644 Documentation/devicetree/bindings/pinctrl/fsl,imx8mn-pinctrl.txt create mode 100644 Documentation/devicetree/bindings/pinctrl/nvidia,tegra194-pinmux.txt delete mode 100644 Documentation/devicetree/bindings/pinctrl/pinctrl-aspeed.txt create mode 100644 Documentation/devicetree/bindings/pinctrl/qcom,sm8150-pinctrl.txt delete mode 100644 Documentation/devicetree/bindings/pinctrl/st,stm32-pinctrl.txt create mode 100644 Documentation/devicetree/bindings/pinctrl/st,stm32-pinctrl.yaml create mode 100644 arch/arm64/boot/dts/freescale/imx8mn-pinfunc.h create mode 100644 drivers/pinctrl/aspeed/pinmux-aspeed.c create mode 100644 drivers/pinctrl/aspeed/pinmux-aspeed.h create mode 100644 drivers/pinctrl/freescale/pinctrl-imx8mn.c create mode 100644 drivers/pinctrl/qcom/pinctrl-sm8150.c create mode 100644 drivers/pinctrl/tegra/pinctrl-tegra194.c