[GIT PULL] pin control bulk changes for v4.16

From: Linus Walleij
Date: Fri Feb 02 2018 - 08:28:15 EST


Hi Linus,

here is the big slew of changes in pin control for the v4.16 cycle.
Like with GPIO it is actually a bit calm this time. The patches moving
AXP209 from GPIO to pin control appear again (with the same
hashes) and everything should be just smooth.

Details are in the signed tag as usual.

Please pull it in!

Yours,
Linus Walleij


The following changes since commit 4fbd8d194f06c8a3fd2af1ce560ddb31f7ec8323:

Linux 4.15-rc1 (2017-11-26 16:01:47 -0800)

are available in the Git repository at:

git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl.git
tags/pinctrl-v4.16-1

for you to fetch changes up to 02e389e63e3523828fc3832f27e0341885f60f6f:

pinctrl: mcp23s08: fix irq setup order (2018-01-30 15:17:14 +0100)

----------------------------------------------------------------
This is the bulk of pin control changes for the v4.16 kernel cycle:

Core changes:

- After lengthy discussions and partly due to my ignorance, we have
merged a patch making pinctrl_force_default() and pinctrl_force_sleep()
reprogram the states into the hardware of any hogged pins, even
if they are already in the desired state. This only apply to hogged
pins since groups of pins owned by drivers need to be managed by
each driver, lest they could not do things like runtime PM and
put pins to sleeping state even if the system as a whole is not
in sleep.

New drivers:

- New driver for the Microsemi Ocelot SoC. This is used in ethernet
switches.

- The X-Powers AXP209 GPIO driver was extended to also deal with pin
control and moved over from the GPIO subsystem. This circuit is
a mixed-mode integrated circuit which is part of AllWinner designs.

- New subdriver for the Qualcomm MSM8998 SoC, core of a high end
mobile devices (phones) chipset.

- New subdriver for the ST Microelectronics STM32MP157 MPU and
STM32F769 MCU from the STM32 family.

- New subdriver for the MediaTek MT7622 SoC. This is used for routers,
repeater, gateways and such network infrastructure.

- New subdriver for the NXP (former Freescale) i.MX 6ULL. This SoC has
multimedia features and target "smart devices", I guess in-car
entertainment, in-flight entertainment, industrial control panels etc.

General improvements:

- Incremental improvements on the SH-PFC subdrivers for things like
the CAN bus.

- Enable the glitch filter on Baytrail GPIOs used for interrupts.

- Proper handling of pins to GPIO ranges on the Semtec SX150X

- An IRQ setup ordering fix on MCP23S08.

- A good set of janitorial coding style fixes.

----------------------------------------------------------------
Alexandre Belloni (2):
dt-bindings: pinctrl: Add bindings for Microsemi Ocelot
pinctrl: Add Microsemi Ocelot SoC driver

Alexandre Torgue (2):
dt-bindings: pinctrl: stm32: fix copyright and adopt SPDX identifier
pinctrl: stm32: add STM32F769 MCU support

Andy Shevchenko (1):
pinctrl: intel: merrifield: Introduce ACPI device table

Bai Ping (1):
pinctrl: imx6ul: add IOMUXC SNVS pinctrl driver for i.MX 6ULL

Benjamin Gaignard (1):
pinctrl: stm32: Fix copyright

Biju Das (1):
pinctrl: sh-pfc: r8a7794: Add i2c5 pin groups and function

Brian Norris (1):
pinctrl: rockchip: enable clock when reading pin direction register

Colin Ian King (1):
pinctrl: intel: ensure error return ret is initialized

Dmitry Mastykin (1):
pinctrl: mcp23s08: fix irq setup order

Fabrizio Castro (6):
pinctrl: sh-pfc: r8a7745: Add CAN[01] support
pinctrl: sh-pfc: r8a7794: Add can_clk function
pinctrl: sh-pfc: r8a7791: Add can_clk function
pinctrl: sh-pfc: r8a7794: Add PWM[0123456] support
pinctrl: sh-pfc: r8a7794: Add tpu groups and function
pinctrl: sh-pfc: r8a7791: Add tpu groups and function

Florian Fainelli (1):
pinctrl: Really force states during suspend/resume

Geert Uytterhoeven (1):
pinctrl: sunxi: Use of_clk_get_parent_count() instead of open coding

Hans de Goede (1):
pinctrl: baytrail: Enable glitch filter for GPIOs used as interrupts

Icenowy Zheng (1):
pinctrl: sunxi: fix a typo when merging A20 support to A10 driver

Jesse Chan (1):
pinctrl: pxa: pxa2xx: add missing MODULE_DESCRIPTION/AUTHOR/LICENSE

Julia Lawall (3):
pinctrl: at91-pio4: account for const type of of_device_id.data
pinctrl: axp209: account for const type of of_device_id.data
pinctrl: armada-37xx: account for const type of of_device_id.data

Khan, Imran (1):
pinctrl: qcom: Add msm8998 pinctrl driver

Krzysztof Kozlowski (1):
pinctrl: samsung: Add SPDX license identifiers

Ladislav Michl (1):
pinctrl: Forward declare struct device

Linus Walleij (5):
pinctrl: gemini: Add two missing GPIO groups
pinctrl: gemini: Support drive strength setting
Merge branch 'ib-move-axp209' of /home/linus/linux-gpio into devel
Merge tag 'sh-pfc-for-v4.16-tag1' of
git://git.kernel.org/.../geert/renesas-drivers into devel
Merge tag 'sh-pfc-for-v4.16-tag2' of
git://git.kernel.org/.../geert/renesas-drivers into devel

Ludovic Barre (2):
devicetree: bindings: Document supported STM32 SoC family
pinctrl: stm32: Add STM32MP157 MPU support

Markus Elfring (26):
pinctrl: mcp23s08: Improve unlocking of a mutex in mcp23s08_irq()
pinctrl: mvebu: Delete an error message for a failed memory
allocation in mvebu_pinctrl_probe()
pinctrl/nomadik/abx500: Delete an error message for a failed
memory allocation in abx500_gpio_probe()
pinctrl/nomadik/abx500: Improve a size determination in
abx500_gpio_probe()
pinctrl: adi2: Delete an error message for a failed memory
allocation in two functions
pinctrl: adi2: Improve a size determination in two functions
pinctrl: msm: Delete an error message for a failed memory
allocation in msm_pinctrl_probe()
pinctrl: at91: Delete an error message for a failed memory
allocation in at91_pinctrl_mux_mask()
pinctrl: palmas: Delete an error message for a failed memory
allocation in palmas_pinctrl_probe()
pinctrl: rockchip: Delete error messages for a failed memory
allocation in two functions
pinctrl: rockchip: Improve a size determination in
rockchip_pinctrl_probe()
pinctrl: rockchip: Fix a typo in four comment lines
pinctrl: single: Delete an error message for a failed memory
allocation in pcs_probe()
pinctrl: single: Delete an unnecessary return statement in
pcs_irq_chain_handler()
pinctrl: tz1090: Delete an error message for a failed memory
allocation in two functions
pinctrl: tz1090-pdc: Delete an error message for a failed memory
allocation in two functions
pinctrl: utils: Delete an error message for a failed memory
allocation in pinctrl_utils_add_map_configs()
pinctrl: xway: Delete two error messages for a failed memory
allocation in pinmux_xway_probe()
pinctrl/spear/plgpio: Delete two error messages for a failed
memory allocation in plgpio_probe()
pinctrl: spear: Delete an error message for a failed memory
allocation in spear_pinctrl_probe()
pinctrl: tegra: Delete two error messages for a failed memory
allocation in tegra_pinctrl_probe()
pinctrl: vt8500: Delete an error message for a failed memory
allocation in five functions
pinctrl: mcp23s08: Combine two function calls into one in
mcp23s08_dbg_show()
pinctrl: abx500: Use seq_putc() in abx500_gpio_dbg_show()
pinctrl: pinmux: Use seq_putc() in pinmux_pins_show()
pinctrl: sprd: Use seq_putc() in sprd_pinconf_group_dbg_show()

Masahiro Yamada (4):
gpio: uniphier: fix mismatch between license text and MODULE_LICENSE
dt-bindings: pinctrl: uniphier: add UniPhier pinctrl binding
pinctrl: remove redundant mux_setting clear in pinmux_disable_setting()
pinctrl: uniphier: refactor drive strength get/set functions

Mika Westerberg (4):
gpio / ACPI: Drop unnecessary ACPI GPIO to Linux GPIO translation
pinctrl: intel: Allow custom GPIO base for pad groups
pinctrl: cannonlake: Align GPIO number space with Windows
pinctrl: intel: Initialize GPIO properly when used through irqchip

Peter Rosin (3):
pinctrl: sx150x: Unregister the pinctrl on release
pinctrl: sx150x: Register pinctrl before adding the gpiochip
pinctrl: sx150x: Add a static gpio/pinctrl pin range mapping

Quentin Schulz (10):
gpio: axp209: switch unsigned variables to unsigned int
pinctrl: move gpio-axp209 to pinctrl
pinctrl: axp209: add pinctrl features
dt-bindings: gpio: gpio-axp209: add pinctrl features
pinctrl: axp209: rename everything from gpio to pctl
pinctrl: axp209: add programmable gpio_status_offset
pinctrl: axp209: add programmable ADC muxing value
pinctrl: axp209: add support for AXP813 GPIOs
pinctrl: axp209: dereference pointer after it's been set
pinctrl: axp209: add missing Kconfig dependencies

Ramesh Shanmugasundaram (2):
pinctrl: sh-pfc: r8a7795: Add CAN support
pinctrl: sh-pfc: r8a7795: Add CAN FD support

Sean Wang (6):
dt-bindings: pinctrl: add bindings for MediaTek MT7622 SoC
pinctrl: mediatek: cleanup for placing all drivers under the menu
pinctrl: mediatek: add pinctrl driver for MT7622 SoC
pinctrl: mediatek: update MAINTAINERS entry with MediaTek pinctrl driver
pinctrl: mediatek: mt7622: fix potential uninitialized value
being returned
pinctrl: mediatek: mt7622: align error handling of mtk_hw_get_value call

Sergei Shtylyov (2):
pinctrl: sh-pfc: Add PORT_GP_CFG_{6|22}() helper macros
pinctrl: sh-pfc: Add R8A77970 PFC support

Stefan Agner (4):
pinctrl: imx: use struct imx_pinctrl_soc_info as a const
pinctrl: imx7d: simplify imx7d_pinctrl_probe
pinctrl: imx: constify struct imx_pinctrl_soc_info
pinctrl: imx7ulp: constify struct imx_cfg_params_decode

Takeshi Kihara (6):
pinctrl: sh-pfc: r8a7795: Add GP-1-28 port pin support
pinctrl: sh-pfc: r8a7795-es1: Fix MOD_SEL1 bit[25:24] to 0x3
when using STP_ISEN_1_D
pinctrl: sh-pfc: r8a7795: Fix to delete A20..A25 pins function definitions
pinctrl: sh-pfc: r8a7796: Fix to delete A20..A25 pins function definitions
pinctrl: sh-pfc: r8a7795: Rename RTS{0,1,3,4}# pin function definitions
pinctrl: sh-pfc: r8a7796: Rename RTS{0,1,3,4}# pin function definitions

Tony Lindgren (1):
pinctrl: single: Remove invalid message

Ulrich Hecht (3):
pinctrl: sh-pfc: r8a77995: Add missing pins SCL0 and SDA0 to pinmux data
pinctrl: sh-pfc: r8a77995: Add CAN support
pinctrl: sh-pfc: r8a77995: Add CAN FD support

Wei Yongjun (1):
pinctrl: ingenic: Remove redundant dev_err call in ingenic_pinctrl_probe()

Wolfram Sang (1):
pinctrl: sh-pfc: r8a7795: Add SATA pins, groups, and functions

Xingyu Chen (3):
documentation: Add compatibles for Amlogic Meson AXG pin controllers
pinctrl: meson-axg: Introduce a pinctrl pinmux ops for Meson-AXG SoC
pinctrl: meson-axg: Add new pinctrl driver for Meson AXG SoC

Yixun Lan (1):
pinctrl: meson-axg: adjust spicc pin naming

hao_zhang (1):
pinctrl: sunxi-pinctrl: fix pin funtion can not be match correctly.

Documentation/devicetree/bindings/arm/stm32.txt | 9 +
.../devicetree/bindings/gpio/gpio-axp209.txt | 49 +-
.../bindings/pinctrl/cortina,gemini-pinctrl.txt | 3 +
.../bindings/pinctrl/fsl,imx6ul-pinctrl.txt | 3 +-
.../devicetree/bindings/pinctrl/meson,pinctrl.txt | 2 +
.../bindings/pinctrl/mscc,ocelot-pinctrl.txt | 39 +
.../devicetree/bindings/pinctrl/pinctrl-mt7622.txt | 351 +++
.../bindings/pinctrl/qcom,msm8998-pinctrl.txt | 193 ++
.../bindings/pinctrl/renesas,pfc-pinctrl.txt | 1 +
.../pinctrl/socionext,uniphier-pinctrl.txt | 27 +
.../bindings/pinctrl/st,stm32-pinctrl.txt | 2 +
MAINTAINERS | 11 +
drivers/gpio/Kconfig | 6 -
drivers/gpio/Makefile | 1 -
drivers/gpio/gpio-axp209.c | 188 --
drivers/gpio/gpio-uniphier.c | 2 +-
drivers/gpio/gpiolib-acpi.c | 75 +-
drivers/pinctrl/Kconfig | 25 +
drivers/pinctrl/Makefile | 4 +-
drivers/pinctrl/core.c | 24 +-
drivers/pinctrl/freescale/pinctrl-imx.c | 81 +-
drivers/pinctrl/freescale/pinctrl-imx.h | 13 +-
drivers/pinctrl/freescale/pinctrl-imx25.c | 2 +-
drivers/pinctrl/freescale/pinctrl-imx35.c | 2 +-
drivers/pinctrl/freescale/pinctrl-imx50.c | 2 +-
drivers/pinctrl/freescale/pinctrl-imx51.c | 2 +-
drivers/pinctrl/freescale/pinctrl-imx53.c | 2 +-
drivers/pinctrl/freescale/pinctrl-imx6dl.c | 2 +-
drivers/pinctrl/freescale/pinctrl-imx6q.c | 2 +-
drivers/pinctrl/freescale/pinctrl-imx6sl.c | 2 +-
drivers/pinctrl/freescale/pinctrl-imx6sx.c | 2 +-
drivers/pinctrl/freescale/pinctrl-imx6ul.c | 52 +-
drivers/pinctrl/freescale/pinctrl-imx7d.c | 10 +-
drivers/pinctrl/freescale/pinctrl-imx7ulp.c | 7 +-
drivers/pinctrl/freescale/pinctrl-vf610.c | 5 +-
drivers/pinctrl/intel/pinctrl-baytrail.c | 6 +
drivers/pinctrl/intel/pinctrl-cannonlake.c | 65 +-
drivers/pinctrl/intel/pinctrl-cherryview.c | 59 +-
drivers/pinctrl/intel/pinctrl-intel.c | 179 +-
drivers/pinctrl/intel/pinctrl-intel.h | 3 +
drivers/pinctrl/intel/pinctrl-merrifield.c | 7 +
drivers/pinctrl/mediatek/Kconfig | 15 +-
drivers/pinctrl/mediatek/Makefile | 3 +-
drivers/pinctrl/mediatek/pinctrl-mt7622.c | 1597 ++++++++++++++
drivers/pinctrl/meson/Kconfig | 9 +
drivers/pinctrl/meson/Makefile | 2 +
drivers/pinctrl/meson/pinctrl-meson-axg-pmx.c | 118 +
drivers/pinctrl/meson/pinctrl-meson-axg-pmx.h | 62 +
drivers/pinctrl/meson/pinctrl-meson-axg.c | 975 ++++++++
drivers/pinctrl/meson/pinctrl-meson.h | 1 +
drivers/pinctrl/mvebu/pinctrl-armada-37xx.c | 4 +-
drivers/pinctrl/mvebu/pinctrl-mvebu.c | 5 +-
drivers/pinctrl/nomadik/pinctrl-abx500.c | 10 +-
drivers/pinctrl/pinctrl-adi2.c | 13 +-
drivers/pinctrl/pinctrl-at91-pio4.c | 4 +-
drivers/pinctrl/pinctrl-at91.c | 4 +-
drivers/pinctrl/pinctrl-axp209.c | 478 ++++
drivers/pinctrl/pinctrl-gemini.c | 84 +-
drivers/pinctrl/pinctrl-ingenic.c | 4 +-
drivers/pinctrl/pinctrl-mcp23s08.c | 54 +-
drivers/pinctrl/pinctrl-ocelot.c | 511 +++++
drivers/pinctrl/pinctrl-palmas.c | 4 +-
drivers/pinctrl/pinctrl-rockchip.c | 31 +-
drivers/pinctrl/pinctrl-single.c | 10 +-
drivers/pinctrl/pinctrl-sx150x.c | 40 +-
drivers/pinctrl/pinctrl-tz1090-pdc.c | 9 +-
drivers/pinctrl/pinctrl-tz1090.c | 9 +-
drivers/pinctrl/pinctrl-utils.c | 4 +-
drivers/pinctrl/pinctrl-xway.c | 10 +-
drivers/pinctrl/pinmux.c | 4 +-
drivers/pinctrl/pxa/pinctrl-pxa2xx.c | 4 +
drivers/pinctrl/qcom/Kconfig | 8 +
drivers/pinctrl/qcom/Makefile | 1 +
drivers/pinctrl/qcom/pinctrl-msm.c | 5 +-
drivers/pinctrl/qcom/pinctrl-msm8998.c | 1590 +++++++++++++
drivers/pinctrl/samsung/Kconfig | 1 +
drivers/pinctrl/samsung/pinctrl-exynos-arm.c | 33 +-
drivers/pinctrl/samsung/pinctrl-exynos-arm64.c | 33 +-
drivers/pinctrl/samsung/pinctrl-exynos.c | 33 +-
drivers/pinctrl/samsung/pinctrl-exynos.h | 6 +-
drivers/pinctrl/samsung/pinctrl-exynos5440.c | 21 +-
drivers/pinctrl/samsung/pinctrl-s3c24xx.c | 23 +-
drivers/pinctrl/samsung/pinctrl-s3c64xx.c | 27 +-
drivers/pinctrl/samsung/pinctrl-samsung.c | 37 +-
drivers/pinctrl/samsung/pinctrl-samsung.h | 6 +-
drivers/pinctrl/sh-pfc/Kconfig | 5 +
drivers/pinctrl/sh-pfc/Makefile | 1 +
drivers/pinctrl/sh-pfc/core.c | 6 +
drivers/pinctrl/sh-pfc/pfc-r8a7791.c | 62 +-
drivers/pinctrl/sh-pfc/pfc-r8a7794.c | 473 ++++
drivers/pinctrl/sh-pfc/pfc-r8a7795-es1.c | 2 +-
drivers/pinctrl/sh-pfc/pfc-r8a7795.c | 193 +-
drivers/pinctrl/sh-pfc/pfc-r8a7796.c | 66 +-
drivers/pinctrl/sh-pfc/pfc-r8a77970.c | 2329 ++++++++++++++++++++
drivers/pinctrl/sh-pfc/pfc-r8a77995.c | 88 +
drivers/pinctrl/sh-pfc/sh_pfc.h | 17 +-
drivers/pinctrl/spear/pinctrl-plgpio.c | 8 +-
drivers/pinctrl/spear/pinctrl-spear.c | 4 +-
drivers/pinctrl/sprd/pinctrl-sprd.c | 2 +-
drivers/pinctrl/stm32/Kconfig | 12 +
drivers/pinctrl/stm32/Makefile | 2 +
drivers/pinctrl/stm32/pinctrl-stm32.c | 3 +-
drivers/pinctrl/stm32/pinctrl-stm32.h | 3 +-
drivers/pinctrl/stm32/pinctrl-stm32f429.c | 3 +-
drivers/pinctrl/stm32/pinctrl-stm32f469.c | 6 +-
drivers/pinctrl/stm32/pinctrl-stm32f746.c | 3 +-
drivers/pinctrl/stm32/pinctrl-stm32f769.c | 1827 +++++++++++++++
drivers/pinctrl/stm32/pinctrl-stm32h743.c | 6 +-
drivers/pinctrl/stm32/pinctrl-stm32mp157.c | 2188 ++++++++++++++++++
drivers/pinctrl/sunxi/pinctrl-sun4i-a10.c | 2 +-
drivers/pinctrl/sunxi/pinctrl-sunxi.c | 7 +-
drivers/pinctrl/tegra/pinctrl-tegra.c | 9 +-
drivers/pinctrl/uniphier/pinctrl-uniphier-core.c | 176 +-
drivers/pinctrl/vt8500/pinctrl-vt8500.c | 4 +-
drivers/pinctrl/vt8500/pinctrl-wm8505.c | 4 +-
drivers/pinctrl/vt8500/pinctrl-wm8650.c | 4 +-
drivers/pinctrl/vt8500/pinctrl-wm8750.c | 4 +-
drivers/pinctrl/vt8500/pinctrl-wm8850.c | 4 +-
include/dt-bindings/gpio/meson-axg-gpio.h | 116 +
include/dt-bindings/pinctrl/stm32-pinfunc.h | 6 +
include/linux/pinctrl/devinfo.h | 2 +
121 files changed, 14122 insertions(+), 947 deletions(-)
create mode 100644 Documentation/devicetree/bindings/arm/stm32.txt
create mode 100644
Documentation/devicetree/bindings/pinctrl/mscc,ocelot-pinctrl.txt
create mode 100644 Documentation/devicetree/bindings/pinctrl/pinctrl-mt7622.txt
create mode 100644
Documentation/devicetree/bindings/pinctrl/qcom,msm8998-pinctrl.txt
create mode 100644
Documentation/devicetree/bindings/pinctrl/socionext,uniphier-pinctrl.txt
delete mode 100644 drivers/gpio/gpio-axp209.c
create mode 100644 drivers/pinctrl/mediatek/pinctrl-mt7622.c
create mode 100644 drivers/pinctrl/meson/pinctrl-meson-axg-pmx.c
create mode 100644 drivers/pinctrl/meson/pinctrl-meson-axg-pmx.h
create mode 100644 drivers/pinctrl/meson/pinctrl-meson-axg.c
create mode 100644 drivers/pinctrl/pinctrl-axp209.c
create mode 100644 drivers/pinctrl/pinctrl-ocelot.c
create mode 100644 drivers/pinctrl/qcom/pinctrl-msm8998.c
create mode 100644 drivers/pinctrl/sh-pfc/pfc-r8a77970.c
create mode 100644 drivers/pinctrl/stm32/pinctrl-stm32f769.c
create mode 100644 drivers/pinctrl/stm32/pinctrl-stm32mp157.c
create mode 100644 include/dt-bindings/gpio/meson-axg-gpio.h