[GIT PULL] pin control changes for the v5.9 kernel cycle

From: Linus Walleij
Date: Sun Aug 09 2020 - 09:06:42 EST


Hi Linus,

here is the big bulk of pin control changes for the v5.9
kernel cycle, nothing is particularly interesting.

I expect you to see two conflicts:

drivers/pinctrl/intel/pinctrl-baytrail.c - no idea what this
is about as both HEAD and mine look the same to human
eyes, I suppose whitespace. Take whichever version you
like.

drivers/pinctrl/pinctrl-single.c - use my version, the
documentation fix shall prevail.

There is a revert I made, it was because I by mistake
merged a GPIO patch to the pin control tree and then
later realized my mistake, but other development
was done on top. Sorry.

Please pull it in!

Yours,
Linus Walleij


The following changes since commit b3a9e3b9622ae10064826dccb4f7a52bd88c7407:

Linux 5.8-rc1 (2020-06-14 12:45:04 -0700)

are available in the Git repository at:

git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl.git
tags/pinctrl-v5.9-1

for you to fetch changes up to 7ee193e2dda3f48b692fad46ab9df90e99e7b811:

dt-bindings: pinctrl: add bindings for MediaTek MT6779 SoC
(2020-08-04 01:29:58 +0200)

----------------------------------------------------------------
This is the bulk of the pin control changes for the v5.9
kernel series:

Core changes:

- The GPIO patch "gpiolib: Introduce
for_each_requested_gpio_in_range() macro" was put in an
immutable branch and merged into the pinctrl tree as well.
We see these changes also here.

- Improved debug output for pins used as GPIO.

New drivers:

- Ocelot Sparx5 SoC driver.

- Intel Emmitsburg SoC subdriver.

- Intel Tiger Lake-H SoC subdriver.

- Qualcomm PM660 SoC subdriver.

- Renesas SH-PFC R8A774E1 subdriver.

Driver improvements:

- Linear improvement and cleanups of the Intel drivers for
Cherryview, Lynxpoint, Baytrail etc. Improved locking among
other things.

- Renesas SH-PFC has added support for RPC pins, groups, and
functions to r8a77970 and r8a77980.

- The newere Freescale (now NXP) i.MX8 pin controllers have
been modularized. This is driven by the Google Android
GKI initiative I think.

- Open drain support for pins on the Qualcomm IPQ4019.

- The Ingenic driver can handle both edges IRQ detection.

- A big slew of documentation fixes all over the place.

- A few irqchip template conversions by yours truly.

----------------------------------------------------------------
Alexander A. Klimov (2):
pinctrl: rockchip: Replace HTTP links with HTTPS ones
pinctl: ti: iodelay: Replace HTTP links with HTTPS ones

Alexandre Torgue (2):
pinctrl: stm32: return proper error code in pin_config_set
pinctrl: stm32: add possibility to configure pins individually

Andrew Jeffery (2):
pinctrl: aspeed: Improve debug output
pinctrl: aspeed: Describe the heartbeat function on ball Y23

Andy Shevchenko (26):
gpiolib: Introduce for_each_requested_gpio_in_range() macro
ARM/orion/gpio: Make use of for_each_requested_gpio()
gpio: mvebu: Make use of for_each_requested_gpio()
gpio: xra1403: Make use of for_each_requested_gpio()
pinctrl: at91: Make use of for_each_requested_gpio()
pinctrl: cherryview: Introduce chv_readl() helper
pinctrl: cherryview: Introduce helpers to IO with common registers
pinctrl: cherryview: Convert chv_writel() to use chv_padreg()
pinctrl: intel: Allow drivers to define total amount of IRQs per community
pinctrl: intel: Allow drivers to define ACPI address space ID
pinctrl: cherryview: Re-use data structures from pinctrl-intel.h (part 3)
pinctrl: intel: Disable input and output buffer when switching to GPIO
pinctrl: intel: Reduce scope of the lock
pinctrl: intel: Make use of IRQ_RETVAL()
pinctrl: intel: Get rid of redundant 'else' in intel_config_set_debounce()
pinctrl: intel: Drop the only label in the code for consistency
pinctrl: intel: Split intel_config_get() to three functions
pinctrl: intel: Protect IO in few call backs by lock
pinctrl: intel: Make use of for_each_requested_gpio_in_range()
pinctrl: lynxpoint: Make use of for_each_requested_gpio()
pinctrl: lynxpoint: Introduce helpers to enable or disable input
pinctrl: lynxpoint: Drop no-op ACPI_PTR() call
pinctrl: baytrail: Drop no-op ACPI_PTR() call
pinctrl: merrifield: Update pin names in accordance with official list
pinctrl: merrifield: Add I²S bus 2 pins to groups and functions
pinctrl: intel: Add Intel Emmitsburg pin controller support

Andy Teng (1):
dt-bindings: pinctrl: add bindings for MediaTek MT6779 SoC

Anson Huang (9):
pinctrl: imx: Support i.MX8 SoCs pinctrl driver built as module
pinctrl: imx: scu: Support i.MX8 SCU SoCs pinctrl driver built as module
pinctrl: imx8mm: Support building as module
pinctrl: imx8mn: Support building as module
pinctrl: imx8mq: Support building as module
pinctrl: imx8mp: Support building as module
pinctrl: imx8qxp: Support building as module
pinctrl: imx8qm: Support building as module
pinctrl: imx8dxl: Support building as module

Brian Norris (1):
dt-bindings: pinctrl: qcom: add drive-open-drain to ipq4019

Drew Fustini (6):
pinctrl-single: fix pcs_parse_pinconf() return value
pinctrl: single: parse #pinctrl-cells = 2
ARM: dts: am33xx-l4: change #pinctrl-cells from 1 to 2
pinctrl: single: fix function name in documentation
gpio: omap: handle pin config bias flags
pinctrl: core: print gpio in pins debugfs file

Etienne Carriere (2):
pinctrl: stm32: don't print an error on probe deferral during clock get
pinctrl: stm32: defer probe if reset resource is not yet ready

Fabien Dessenne (1):
pinctrl: stm32: use the hwspin_lock_timeout_in_atomic() API

Furquan Shaikh (1):
pinctrl: amd: Honor IRQ trigger type requested by the caller

Geert Uytterhoeven (1):
dt-bindings: pinctrl: renesas,rza2-pinctrl: Convert to json-schema

Gustavo A. R. Silva (4):
pinctrl: lpc18xx: Use fallthrough pseudo-keyword
pinctrl: baytrail: Use fallthrough pseudo-keyword
pinctrl: qcom: spmi-gpio: Use fallthrough pseudo-keyword
pinctrl: single: Use fallthrough pseudo-keyword

Hanks Chen (4):
pinctrl: mediatek: update pinmux definitions for mt6779
pinctrl: mediatek: avoid virtual gpio trying to set reg
pinctrl: mediatek: add pinctrl support for MT6779 SoC
pinctrl: mediatek: add mt6779 eint support

Hans de Goede (1):
pinctrl: baytrail: Fix pin being driven low for a while on
gpiod_get(..., GPIOD_OUT_HIGH)

Hyeonki Hong (1):
pinctrl: meson: fix drive strength register and bit calculation

Jaiganesh Narayanan (1):
pinctrl: qcom: ipq4019: add open drain support

Kathiravan T (1):
pinctrl: qcom: ipq8074: route gpio interrupts to APPS

Konrad Dybcio (2):
pinctrl: qcom: spmi-gpio: Add pm660(l) compatibility
Documentation: Document pm660(l) SPMI GPIOs compatible

Lad Prabhakar (1):
pinctrl: sh-pfc: pfc-r8a77951: Add R8A774E1 PFC support

Lars Povlsen (1):
pinctrl: ocelot: Add Sparx5 SoC support

Lee Jones (24):
pinctrl: rza1: Demote some kerneldoc headers and fix others
pinctrl: actions: pinctrl-owl: Supply missing 'struct
owl_pinctrl' attribute descriptions
pinctrl: sirf: pinctrl-atlas7: Fix a bunch of documentation misdemeanours
pinctrl: bcm: pinctrl-bcm281xx: Demote obvious misuse of
kerneldoc to standard comment blocks
pinctrl: bcm: pinctrl-iproc-gpio: Rename incorrectly documented
function param
pinctrl: qcom: pinctrl-msm: Complete 'struct msm_pinctrl' documentation
pinctrl: samsung: pinctrl-samsung: Demote obvious misuse of
kerneldoc to standard comment blocks
pinctrl: samsung: pinctrl-s3c24xx: Fix formatting issues
pinctrl: samsung: pinctrl-s3c64xx: Fix formatting issues
pinctrl: qcom: pinctrl-msm8976: Remove unused variable 'nav_tsync_groups'
pinctrl: mediatek: pinctrl-mtk-common-v2: Mark
'mtk_default_register_base_names' as __maybe_unused
pinctrl: core: Fix a bunch of kerneldoc issues
pinctrl: pinmux: Add some missing parameter descriptions
pinctrl: devicetree: Add one new attribute description and
rename another two
pinctrl: pinconf-generic: Add function parameter description 'pctldev'
pinctrl: pinctrl-at91-pio4: PM related attribute descriptions
pinctrl: pinctrl-at91: Demote non-kerneldoc header and complete another
pinctrl: pinctrl-bm1880: Rename ill documented struct attribute entries
pinctrl: pinctrl-rockchip: Fix a bunch of kerneldoc misdemeanours
pinctrl: pinctrl-single: Fix struct/function documentation blocks
pinctrl: tegra: pinctrl-tegra194: Do not initialise field twice
pinctrl: meson: pinctrl-meson-a1: Remove unused const variable
'i2c_slave_groups'
pinctrl: mvebu: pinctrl-armada-37xx: Update documentation block
for 'struct armada_37xx_pin_group'
pinctrl: pinctrl-amd: Do not define 'struct acpi_device_id' when
!CONFIG_ACPI

Linus Walleij (9):
Merge branch 'ib-for-each-requested' of /home/linus/linux-gpio into devel
Merge tag 'sh-pfc-for-v5.9-tag1' of
git://git.kernel.org/.../geert/renesas-drivers into devel
Merge tag 'sh-pfc-for-v5.9-tag2' of
git://git.kernel.org/.../geert/renesas-drivers into devel
Revert "gpio: omap: handle pin config bias flags"
Merge tag 'intel-pinctrl-v5.9-1' of
git://git.kernel.org/.../pinctrl/intel into devel
pinctrl: sx150x: Use irqchip template
pinctrl: mcp23s08: Use irqchip template
pinctrl: amd: Use irqchip template
pinctrl: stmfx: Use irqchip template

Marek Szyprowski (1):
pinctrl: samsung: Use bank name as irqchip name

Marian-Cristian Rotariu (1):
dt-bindings: pinctrl: sh-pfc: Document r8a774e1 PFC support

Mark Tomlinson (1):
pinctrl: nsp: Set irq handler based on trig type

Mika Westerberg (1):
pinctrl: tigerlake: Add support for Tiger Lake-H

Paul Cercueil (6):
pinctrl: ingenic: Add NAND FRE/FWE pins for JZ4740
pinctrl: ingenic: Add ingenic,jz4725b-gpio compatible string
dt-bindings: pinctrl: Convert ingenic,pinctrl.txt to YAML
pinctrl: ingenic: Enhance support for IRQ_TYPE_EDGE_BOTH
pinctrl: ingenic: Properly detect GPIO direction when configured for IRQ
dt-bindings: ingenic,pinctrl: Support pinmux/pinconf nodes

Randy Dunlap (1):
pinctrl: mediatek: fix build for tristate changes

Sergei Shtylyov (2):
pinctrl: sh-pfc: r8a77980: Add RPC pins, groups, and functions
pinctrl: sh-pfc: r8a77970: Add RPC pins, groups, and functions

.../bindings/pinctrl/ingenic,pinctrl.txt | 81 -
.../bindings/pinctrl/ingenic,pinctrl.yaml | 176 ++
.../bindings/pinctrl/mediatek,mt6779-pinctrl.yaml | 202 ++
.../bindings/pinctrl/qcom,ipq4019-pinctrl.txt | 3 +-
.../devicetree/bindings/pinctrl/qcom,pmic-gpio.txt | 2 +
.../bindings/pinctrl/renesas,pfc-pinctrl.txt | 1 +
.../bindings/pinctrl/renesas,rza2-pinctrl.txt | 87 -
.../bindings/pinctrl/renesas,rza2-pinctrl.yaml | 100 +
arch/arm/boot/dts/am33xx-l4.dtsi | 2 +-
arch/arm/plat-orion/gpio.c | 8 +-
drivers/gpio/gpio-mvebu.c | 8 +-
drivers/gpio/gpio-xra1403.c | 8 +-
drivers/pinctrl/actions/pinctrl-owl.c | 4 +
drivers/pinctrl/aspeed/pinctrl-aspeed-g6.c | 7 +-
drivers/pinctrl/aspeed/pinctrl-aspeed.c | 25 +-
drivers/pinctrl/bcm/pinctrl-bcm281xx.c | 6 +-
drivers/pinctrl/bcm/pinctrl-iproc-gpio.c | 2 +-
drivers/pinctrl/bcm/pinctrl-nsp-gpio.c | 18 +-
drivers/pinctrl/core.c | 33 +-
drivers/pinctrl/devicetree.c | 5 +-
drivers/pinctrl/freescale/Kconfig | 14 +-
drivers/pinctrl/freescale/pinctrl-imx.c | 2 +
drivers/pinctrl/freescale/pinctrl-imx8dxl.c | 5 +
drivers/pinctrl/freescale/pinctrl-imx8mm.c | 6 +
drivers/pinctrl/freescale/pinctrl-imx8mn.c | 6 +
drivers/pinctrl/freescale/pinctrl-imx8mp.c | 6 +
drivers/pinctrl/freescale/pinctrl-imx8mq.c | 6 +
drivers/pinctrl/freescale/pinctrl-imx8qm.c | 5 +
drivers/pinctrl/freescale/pinctrl-imx8qxp.c | 5 +
drivers/pinctrl/freescale/pinctrl-scu.c | 4 +
drivers/pinctrl/intel/Kconfig | 8 +
drivers/pinctrl/intel/Makefile | 1 +
drivers/pinctrl/intel/pinctrl-baytrail.c | 74 +-
drivers/pinctrl/intel/pinctrl-cherryview.c | 418 ++--
drivers/pinctrl/intel/pinctrl-emmitsburg.c | 387 ++++
drivers/pinctrl/intel/pinctrl-intel.c | 192 +-
drivers/pinctrl/intel/pinctrl-intel.h | 4 +
drivers/pinctrl/intel/pinctrl-lynxpoint.c | 28 +-
drivers/pinctrl/intel/pinctrl-merrifield.c | 50 +-
drivers/pinctrl/intel/pinctrl-tigerlake.c | 358 ++++
drivers/pinctrl/mediatek/Kconfig | 12 +
drivers/pinctrl/mediatek/Makefile | 1 +
drivers/pinctrl/mediatek/pinctrl-mt6779.c | 785 ++++++++
drivers/pinctrl/mediatek/pinctrl-mtk-common-v2.c | 26 +
drivers/pinctrl/mediatek/pinctrl-mtk-common-v2.h | 3 +-
drivers/pinctrl/mediatek/pinctrl-mtk-mt6779.h | 2085 ++++++++++++++++++++
drivers/pinctrl/mediatek/pinctrl-paris.c | 7 +
drivers/pinctrl/meson/pinctrl-meson-a1.c | 5 -
drivers/pinctrl/meson/pinctrl-meson.c | 11 +-
drivers/pinctrl/mvebu/pinctrl-armada-37xx.c | 7 +-
drivers/pinctrl/pinconf-generic.c | 3 +-
drivers/pinctrl/pinctrl-amd.c | 34 +-
drivers/pinctrl/pinctrl-at91-pio4.c | 2 +
drivers/pinctrl/pinctrl-at91.c | 13 +-
drivers/pinctrl/pinctrl-bm1880.c | 4 +-
drivers/pinctrl/pinctrl-ingenic.c | 15 +-
drivers/pinctrl/pinctrl-lpc18xx.c | 12 +-
drivers/pinctrl/pinctrl-mcp23s08.c | 44 +-
drivers/pinctrl/pinctrl-ocelot.c | 430 +++-
drivers/pinctrl/pinctrl-rockchip.c | 24 +-
drivers/pinctrl/pinctrl-rza1.c | 24 +-
drivers/pinctrl/pinctrl-single.c | 39 +-
drivers/pinctrl/pinctrl-stmfx.c | 32 +-
drivers/pinctrl/pinctrl-sx150x.c | 44 +-
drivers/pinctrl/pinmux.c | 5 +-
drivers/pinctrl/qcom/pinctrl-ipq4019.c | 1 +
drivers/pinctrl/qcom/pinctrl-ipq8074.c | 1 +
drivers/pinctrl/qcom/pinctrl-msm.c | 19 +-
drivers/pinctrl/qcom/pinctrl-msm.h | 2 +
drivers/pinctrl/qcom/pinctrl-msm8976.c | 3 -
drivers/pinctrl/qcom/pinctrl-spmi-gpio.c | 8 +-
drivers/pinctrl/qcom/pinctrl-ssbi-gpio.c | 2 +-
drivers/pinctrl/samsung/pinctrl-exynos.c | 58 +-
drivers/pinctrl/samsung/pinctrl-s3c24xx.c | 6 +-
drivers/pinctrl/samsung/pinctrl-s3c64xx.c | 6 +-
drivers/pinctrl/samsung/pinctrl-samsung.c | 4 +-
drivers/pinctrl/sh-pfc/Kconfig | 4 +
drivers/pinctrl/sh-pfc/Makefile | 1 +
drivers/pinctrl/sh-pfc/core.c | 6 +
drivers/pinctrl/sh-pfc/pfc-r8a77951.c | 877 ++++----
drivers/pinctrl/sh-pfc/pfc-r8a77970.c | 76 +
drivers/pinctrl/sh-pfc/pfc-r8a77980.c | 76 +
drivers/pinctrl/sh-pfc/sh_pfc.h | 1 +
drivers/pinctrl/sirf/pinctrl-atlas7.c | 21 +-
drivers/pinctrl/stm32/pinctrl-stm32.c | 138 +-
drivers/pinctrl/tegra/pinctrl-tegra194.c | 1 -
drivers/pinctrl/ti/pinctrl-ti-iodelay.c | 2 +-
include/dt-bindings/pinctrl/mt6779-pinfunc.h | 1242 ++++++++++++
include/dt-bindings/pinctrl/omap.h | 2 +-
include/linux/gpio/driver.h | 16 +
90 files changed, 7371 insertions(+), 1226 deletions(-)
delete mode 100644
Documentation/devicetree/bindings/pinctrl/ingenic,pinctrl.txt
create mode 100644
Documentation/devicetree/bindings/pinctrl/ingenic,pinctrl.yaml
create mode 100644
Documentation/devicetree/bindings/pinctrl/mediatek,mt6779-pinctrl.yaml
delete mode 100644
Documentation/devicetree/bindings/pinctrl/renesas,rza2-pinctrl.txt
create mode 100644
Documentation/devicetree/bindings/pinctrl/renesas,rza2-pinctrl.yaml
create mode 100644 drivers/pinctrl/intel/pinctrl-emmitsburg.c
create mode 100644 drivers/pinctrl/mediatek/pinctrl-mt6779.c
create mode 100644 drivers/pinctrl/mediatek/pinctrl-mtk-mt6779.h
create mode 100644 include/dt-bindings/pinctrl/mt6779-pinfunc.h