[GIT PULL] pin control bulk changes for v5.4

From: Linus Walleij
Date: Thu Sep 19 2019 - 17:08:07 EST


Hi Linus,

these are the pin control bulk changes for v5.4, all boiled nicely
in linux-next for a while.

There is one caveat: m68k Atari autobuilder with allmodconfig complains
about a namespace collision like this:

arch/m68k/include/asm/atarihw.h:172:17: error: expected ')' before '(' token
arch/m68k/include/asm/atarihw.h:190:22: error: expected identifier or
'(' before 'volatile'
drivers/pinctrl/bcm/pinctrl-bcm2835.c:994:10: error: incompatible
types when assigning to type 'volatile struct SHIFTER' from type
'unsigned int'
drivers/pinctrl/bcm/pinctrl-bcm2835.c:997:27: error: invalid operands
to binary << (have 'int' and 'volatile struct SHIFTER')
drivers/pinctrl/bcm/pinctrl-bcm2835.c:998:16: error: invalid operands
to binary << (have 'unsigned int' and 'volatile struct SHIFTER')

This is fixed in the m68k tree (commit 053b514295694f3336e97f56d5f41c0d4972c109
"m68k: atari: Rename shifter to shifter_st to avoid conflict"), so if
you merge this before
and the build server complains at the tree, it will fix itself.

Alernatively you can wait for the m68k tree to come in first. Or we nudge Geert
to send the changes ASAP. The usage of a wildly different pin
controller on Atari hardware is only a compile testing artifact so
we didn't drill deeper into this.

In hindsight, maybe I should have had that patch applied to the pin control
tree so we build cleanly also under esoteric configurations. Mea culpa.

Please pull it in!
Yours,
Linus Walleij

The following changes since commit d1abaeb3be7b5fa6d7a1fbbd2e14e3310005c4c1:

Linux 5.3-rc5 (2019-08-18 14:31:08 -0700)

are available in the Git repository at:

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

for you to fetch changes up to cb0438e4436085d89706b5ccfce4d5da531253de:

pinctrl: meson-gxbb: Fix wrong pinning definition for uart_c
(2019-09-13 14:40:41 +0200)

----------------------------------------------------------------
This is the bulk of pin control changes for the v5.4 kernel
cycle:

Core changes:

- Fix errors in example code in the documentation.

New drivers:

- Add support for JZ4760, JZ4760B, X1000, X1000E and X1500 to
the Ingenic driver.

- Support Cirrus Logic Madera CS47L92 and CS47L15.

- Support Allwinner Sunxi V3S.

- Support Aspeed 2600 BMC.

- Support Qualcomm SC7180.

- Support Marvell MVEBU CS115.

Driver improvements:

- Clean up a few drivers to use the devm_platform_ioremap_resource()
helper.

- Pass the irqchip when registering the gpio_chip in some pin
controllers that are also GPIO controllers.

- Support suspend/resume in the Tegra driver.

- Support pull-up on the Broadcom BCM2711.

- The Intel driver can now request locked pads.

- Fix the UFS reset pin in the Qualcomm SDM845 driver.

----------------------------------------------------------------
Alexandre Torgue (1):
pinctrl: stmfx: update pinconf settings

Anders Roxell (2):
pinctrl: rockchip: Mark expected switch fall-through
pinctrl: qcom: spmi-gpio: Mark expected switch fall-through

Andrew Jeffery (9):
dt-bindings: pinctrl: aspeed: Strip unnecessary quotes
dt-bindings: pinctrl: aspeed: Document AST2600 pinmux
pinctrl: aspeed: Rename pin declaration macros
pinctrl: aspeed: Add PIN_DECL_3() helper
pinctrl: aspeed: Add multiple pin group support for functions
pinctrl: aspeed: Add SIG_DESC_CLEAR() helper
pinctrl: aspeed: Add AST2600 pinmux support
pinctrl: aspeed: Document existence of deprecated compatibles
dt-bindings: aspeed: Remove mention of deprecated compatibles

Andy Shevchenko (20):
pinctrl: baytrail: Use devm_platform_ioremap_resource()
pinctrl: cherryview: Use devm_platform_ioremap_resource()
pinctrl: intel: Use devm_platform_ioremap_resource()
pinctrl: merrifield: Use devm_platform_ioremap_resource()
pinctrl: intel: Drop double check for data in intel_pinctrl_probe_by_uid()
pinctrl: msm: Switch to use device_property_count_uXX()
pinctrl: qdf2xxx: Switch to use device_property_count_uXX()
pinctrl: intel: Simplify offset validation in intel_get_padcfg()
pinctrl: broxton: Provide Interrupt Status register offset
pinctrl: cannonlake: Provide Interrupt Status register offset
pinctrl: geminilake: Provide Interrupt Status register offset
pinctrl: icelake: Provide Interrupt Status register offset
pinctrl: sunrisepoint: Provide Interrupt Status register offset
pinctrl: denverton: Provide Interrupt Status register offset
pinctrl: lewisburg: Provide Interrupt Status register offset
pinctrl: intel: Remove default Interrupt Status offset
pinctrl: baytrail: Re-use data structures from pinctrl-intel.h (part 2)
pinctrl: intel: Use NSEC_PER_USEC for debounce calculus
pinctrl: denverton: Update pin names according to v1.08
pinctrl: intel: Allow to request locked pads

Arnd Bergmann (1):
pinctrl: intel: mark intel_pin_to_gpio __maybe_unused

Baolin Wang (2):
pinctrl: sprd: Change to use devm_platform_ioremap_resource()
pinctrl: sprd: Combine the condition of MISC_PIN and COMMON_PIN

Charles Keepax (2):
pinctrl: madera: Use local copy of pdata
pinctrl: madera: Add configuration for Cirrus Logic CS47L92

Chris Chiu (1):
pinctrl: intel: remap the pin number to gpio offset for irq enabled pin

Colin Ian King (1):
pinctrl: bcm: remove redundant assignment to pointer log

Dan Carpenter (1):
pinctrl: sh-pfc: Unlock on error in sh_pfc_func_set_mux()

Daniel Drake (1):
pinctrl: amd: disable spurious-firing GPIO IRQs

Geert Uytterhoeven (5):
pinctrl: devicetree: Use strlen() instead of hardcoded number
pinctrl: lantiq: Use kasprintf() instead of fixed buffer formatting
pinctrl: xway: Use devm_kasprintf() instead of fixed buffer formatting
pinctrl: sh-pfc: Use dev_notice_once() instead of open-coding
pinctrl: rza1: Use devm_platform_ioremap_resource() helper

Grzegorz Jaszczyk (2):
dt-bindings: cp110: document the new CP115 pinctrl compatible
pinctrl: mvebu: add additional variant for standalone CP115

Icenowy Zheng (1):
pinctrl: sunxi: v3s: introduce support for V3

Jitendra Sharma (2):
dt-bindings: pinctrl: qcom: Add SC7180 pinctrl binding
pinctrl: qcom: Add SC7180 pinctrl driver

Konstantin Porotchkin (1):
pinctrl: mvebu: Add CP110 missing pin functionality

Kunihiko Hayashi (5):
pinctrl: uniphier: Separate modem group from UART ctsrts group
pinctrl: uniphier: Add another audio I/O pin-mux settings for LD20
pinctrl: uniphier: Add 5th LD20 MPEG2-TS input pin-mux setting
pinctrl: uniphier: Add Pro5 PCIe pin-mux settings
pinctrl: uniphier: Fix Pro5 SD pin-mux setting

Li Jin (1):
pinctrl: iproc-gpio: Fix incorrect pinconf configurations

Linus Walleij (12):
pinctrl: qcom: Pass irqchip when adding gpiochip
Merge tag 'sh-pfc-for-v5.4-tag1' of
git://git.kernel.org/.../geert/renesas-drivers into devel
pinctrl: bcm-iproc: Pass irqchip when adding gpiochip
pinctrl: st: Include the right header
Merge tag 'v5.3-rc5' into devel
pinctrl: sh-pfc: Include the right header
pinctrl: rza2: Drop driver use of consumer flags
pinctrl: rza2: Include the appropriate headers
Merge tag 'sh-pfc-for-v5.4-tag2' of
https://git.kernel.org/.../geert/renesas-drivers into devel
pinctrl: bcm2835: Pass irqchip when adding gpiochip
Merge tag 'intel-pinctrl-v5.4' of
git://git.kernel.org/.../pinctrl/intel into devel
Merge tag 'intel-pinctrl-v5.4-2' of
git://git.kernel.org/.../pinctrl/intel into devel

Luca Ceresoli (1):
docs/pinctrl: fix compile errors in example code

Marc Gonzalez (1):
pinctrl: msm8998: Squash TSIF pins together

Masahiro Yamada (1):
pinctrl: pinctrl-single: add header include guard

Nathan Chancellor (1):
pinctrl: aspeed: g6: Remove const specifier from
aspeed_g6_sig_expr_set's ctx parameter

Neil Armstrong (1):
pinctrl: meson-g12a: add pwm_a on GPIOE_2 pinmux

Nishka Dasgupta (13):
pinctrl: rzn1: Add of_node_put() before return
pinctrl: falcon: Add of_node_put() before return
pinctrl: nomadik: nomadik: Add of_node_put() before return
pinctrl: nomadik: abx500: Add of_node_put() before return
pinctrl: freescale: mxs: Add of_node_put() before return
pinctrl: spear: spear: Add of_node_put() before return
pinctrl: stm32: stm32: Add of_node_put() before return
pinctrl: sprd: Add of_node_put() before return to prevent memory leak
pinctrl: freescale: imx: Add of_node_put() before return
pinctrl: rk805: Make structures constant
pinctrl: st: Add of_node_put() before return
pinctrl: rza1: Add of_node_put() before return
pinctrl: meson: meson: Add of_node_put() before return

Otto Meier (1):
pinctrl: meson-gxbb: Fix wrong pinning definition for uart_c

Rayagonda Kokatanur (2):
pinctrl: iproc-gpio: Handle interrupts for multiple instances
pinctrl: iproc: Add 'get_direction' support

Richard Fitzgerald (1):
pinctrl: madera: Add configuration for Cirrus Logic CS47L15

Sowjanya Komatineni (4):
pinctrl: tegra: Add suspend and resume support
pinctrl: tegra210: Add Tegra210 pinctrl pm ops
pinctrl: tegra: Fix write barrier placement in pmx_writel
pinctrl: tegra: Flush pinctrl writes during resume

Stefan Wahren (3):
pinctrl: bcm2835: Add brcm,bcm2711 compatible
pinctrl: bcm2835: Add support for BCM2711 pull-up functionality
pinctrl/gpio: Take MUX usage into account

Stephen Boyd (4):
pinctrl: Remove dev_err() usage after platform_get_irq()
pinctrl: intel: Remove dev_err() usage after platform_get_irq()
pinctrl: cherryview: Remove dev_err() usage after platform_get_irq()
pinctrl: qcom: sdm845: Fix UFS_RESET pin

Vinod Koul (3):
dt-bindings: pinctrl: qcom-pmic-gpio: Add pm8150 support
dt-bindings: pinctrl: qcom-pmic-gpio: Add pm8150b support
dt-bindings: pinctrl: qcom-pmic-gpio: Add pm8150l support

Yoshihiro Shimoda (3):
pinctrl: sh-pfc: Add new flags into struct sh_pfc_pin_config
pinctrl: sh-pfc: Remove incomplete flag "cfg->type"
pinctrl: sh-pfc: Rollback to mux if required when the gpio is freed

YueHaibing (2):
pinctrl: sprd: Fix platform_no_drv_owner.cocci warnings
pinctrl: oxnas: remove set but not used variable 'arg'

Zhou Yanjie (6):
dt-bindings: pinctrl: Add JZ4760 and JZ4760B bindings.
pinctrl: Ingenic: Add pinctrl driver for JZ4760 and JZ4760B.
dt-bindings: pinctrl: Add X1000 and X1000E bindings.
pinctrl: Ingenic: Add pinctrl driver for X1000 and X1000E.
dt-bindings: pinctrl: Add X1500 bindings.
pinctrl: Ingenic: Add pinctrl driver for X1500.

.../arm/marvell/cp110-system-controller.txt | 4 +-
.../devicetree/bindings/mfd/aspeed-scu.txt | 2 -
.../devicetree/bindings/misc/aspeed-p2a-ctrl.txt | 2 -
.../bindings/pinctrl/aspeed,ast2400-pinctrl.yaml | 45 +-
.../bindings/pinctrl/aspeed,ast2500-pinctrl.yaml | 49 +-
.../bindings/pinctrl/aspeed,ast2600-pinctrl.yaml | 115 +
.../bindings/pinctrl/brcm,bcm2835-gpio.txt | 1 +
.../bindings/pinctrl/ingenic,pinctrl.txt | 17 +-
.../bindings/pinctrl/qcom,msm8998-pinctrl.txt | 5 +-
.../devicetree/bindings/pinctrl/qcom,pmic-gpio.txt | 6 +
.../bindings/pinctrl/qcom,sc7180-pinctrl.txt | 186 ++
Documentation/driver-api/pinctl.rst | 6 +-
drivers/gpio/gpiolib.c | 3 +-
drivers/pinctrl/aspeed/Kconfig | 8 +
drivers/pinctrl/aspeed/Makefile | 1 +
drivers/pinctrl/aspeed/pinctrl-aspeed-g4.c | 1825 ++++++++-------
drivers/pinctrl/aspeed/pinctrl-aspeed-g5.c | 1869 ++++++++-------
drivers/pinctrl/aspeed/pinctrl-aspeed-g6.c | 2395 ++++++++++++++++++++
drivers/pinctrl/aspeed/pinmux-aspeed.h | 227 +-
drivers/pinctrl/bcm/pinctrl-bcm2835.c | 156 +-
drivers/pinctrl/bcm/pinctrl-cygnus-mux.c | 1 -
drivers/pinctrl/bcm/pinctrl-iproc-gpio.c | 158 +-
drivers/pinctrl/cirrus/Kconfig | 6 +
drivers/pinctrl/cirrus/Makefile | 6 +
drivers/pinctrl/cirrus/pinctrl-cs47l15.c | 40 +
drivers/pinctrl/cirrus/pinctrl-cs47l92.c | 40 +
drivers/pinctrl/cirrus/pinctrl-madera-core.c | 24 +-
drivers/pinctrl/cirrus/pinctrl-madera.h | 2 +
drivers/pinctrl/core.c | 28 +
drivers/pinctrl/devicetree.c | 6 +-
drivers/pinctrl/freescale/pinctrl-imx.c | 13 +-
drivers/pinctrl/freescale/pinctrl-mxs.c | 12 +-
drivers/pinctrl/intel/pinctrl-baytrail.c | 67 +-
drivers/pinctrl/intel/pinctrl-broxton.c | 4 +-
drivers/pinctrl/intel/pinctrl-cannonlake.c | 2 +
drivers/pinctrl/intel/pinctrl-cherryview.c | 8 +-
drivers/pinctrl/intel/pinctrl-denverton.c | 53 +-
drivers/pinctrl/intel/pinctrl-geminilake.c | 2 +
drivers/pinctrl/intel/pinctrl-icelake.c | 2 +
drivers/pinctrl/intel/pinctrl-intel.c | 120 +-
drivers/pinctrl/intel/pinctrl-intel.h | 9 +-
drivers/pinctrl/intel/pinctrl-lewisburg.c | 2 +
drivers/pinctrl/intel/pinctrl-merrifield.c | 4 +-
drivers/pinctrl/intel/pinctrl-sunrisepoint.c | 2 +
drivers/pinctrl/meson/pinctrl-meson-g12a.c | 9 +
drivers/pinctrl/meson/pinctrl-meson-gxbb.c | 12 +-
drivers/pinctrl/meson/pinctrl-meson.c | 1 +
drivers/pinctrl/mvebu/pinctrl-armada-cp110.c | 20 +-
drivers/pinctrl/nomadik/pinctrl-abx500.c | 1 +
drivers/pinctrl/nomadik/pinctrl-nomadik.c | 1 +
drivers/pinctrl/pinctrl-amd.c | 16 +-
drivers/pinctrl/pinctrl-falcon.c | 11 +-
drivers/pinctrl/pinctrl-ingenic.c | 755 +++++-
drivers/pinctrl/pinctrl-oxnas.c | 8 +-
drivers/pinctrl/pinctrl-pic32.c | 4 +-
drivers/pinctrl/pinctrl-rk805.c | 4 +-
drivers/pinctrl/pinctrl-rockchip.c | 1 +
drivers/pinctrl/pinctrl-rza1.c | 16 +-
drivers/pinctrl/pinctrl-rza2.c | 17 +-
drivers/pinctrl/pinctrl-rzn1.c | 12 +-
drivers/pinctrl/pinctrl-st.c | 12 +-
drivers/pinctrl/pinctrl-stmfx.c | 28 +-
drivers/pinctrl/pinctrl-xway.c | 4 +-
drivers/pinctrl/pinmux.c | 24 +
drivers/pinctrl/pinmux.h | 8 +
drivers/pinctrl/qcom/Kconfig | 9 +
drivers/pinctrl/qcom/Makefile | 1 +
drivers/pinctrl/qcom/pinctrl-msm.c | 36 +-
drivers/pinctrl/qcom/pinctrl-msm8998.c | 76 +-
drivers/pinctrl/qcom/pinctrl-qdf2xxx.c | 2 +-
drivers/pinctrl/qcom/pinctrl-sc7180.c | 1146 ++++++++++
drivers/pinctrl/qcom/pinctrl-sdm845.c | 8 +-
drivers/pinctrl/qcom/pinctrl-spmi-gpio.c | 8 +
drivers/pinctrl/qcom/pinctrl-ssbi-mpp.c | 5 +-
drivers/pinctrl/sh-pfc/gpio.c | 11 +-
drivers/pinctrl/sh-pfc/pinctrl.c | 43 +-
drivers/pinctrl/spear/pinctrl-spear.c | 8 +-
drivers/pinctrl/sprd/pinctrl-sprd-sc9860.c | 1 -
drivers/pinctrl/sprd/pinctrl-sprd.c | 32 +-
drivers/pinctrl/stm32/pinctrl-stm32.c | 5 +-
drivers/pinctrl/sunxi/pinctrl-sun8i-v3s.c | 265 ++-
drivers/pinctrl/sunxi/pinctrl-sunxi.h | 2 +
drivers/pinctrl/tegra/pinctrl-tegra.c | 67 +-
drivers/pinctrl/tegra/pinctrl-tegra.h | 3 +
drivers/pinctrl/tegra/pinctrl-tegra210.c | 1 +
drivers/pinctrl/uniphier/pinctrl-uniphier-ld11.c | 10 +-
drivers/pinctrl/uniphier/pinctrl-uniphier-ld20.c | 20 +-
drivers/pinctrl/uniphier/pinctrl-uniphier-ld4.c | 10 +-
drivers/pinctrl/uniphier/pinctrl-uniphier-ld6b.c | 10 +-
drivers/pinctrl/uniphier/pinctrl-uniphier-pro4.c | 10 +-
drivers/pinctrl/uniphier/pinctrl-uniphier-pro5.c | 17 +-
drivers/pinctrl/uniphier/pinctrl-uniphier-pxs2.c | 10 +-
drivers/pinctrl/uniphier/pinctrl-uniphier-pxs3.c | 10 +-
drivers/pinctrl/uniphier/pinctrl-uniphier-sld8.c | 10 +-
include/linux/pinctrl/consumer.h | 6 +
include/linux/platform_data/pinctrl-single.h | 6 +
96 files changed, 7978 insertions(+), 2367 deletions(-)
create mode 100644
Documentation/devicetree/bindings/pinctrl/aspeed,ast2600-pinctrl.yaml
create mode 100644
Documentation/devicetree/bindings/pinctrl/qcom,sc7180-pinctrl.txt
create mode 100644 drivers/pinctrl/aspeed/pinctrl-aspeed-g6.c
create mode 100644 drivers/pinctrl/cirrus/pinctrl-cs47l15.c
create mode 100644 drivers/pinctrl/cirrus/pinctrl-cs47l92.c
create mode 100644 drivers/pinctrl/qcom/pinctrl-sc7180.c