[GIT PULL] pin control bulk changes for the v4.7 cycle

From: Linus Walleij
Date: Thu May 19 2016 - 07:20:55 EST


Hi Linus,

This kernel cycle was quite calm when it comes to pin
control and there is really just one major change, and that
is the introduction of devm_pinctrl_register() managed
resources.

Apart from that linear development, details in the signed tag.

Please pull it in!

Yours,
Linus Walleij

The following changes since commit f55532a0c0b8bb6148f4e07853b876ef73bc69ca:

Linux 4.6-rc1 (2016-03-26 16:03:24 -0700)

are available in the git repository at:

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

for you to fetch changes up to 0d5358330c20d50e52e3e65ff07a5db8007041fc:

Revert "pinctrl: tegra: avoid parked_reg and parked_bank"
(2016-05-13 02:45:04 +0200)

----------------------------------------------------------------
Pin control bulk changes for the v4.7 kernel cycle:

Core changes:

- Add the devm_pinctrl_register() API and switch all applicable drivers
to use it, saving lots of lines of code all over the place.

New drivers:

- New driver for the Broadcom NS2 SoC.

- New subdriver for the PXA25x SoCs.

- New subdriver for the AMLogic Meson GXBB SoC.

Driver improvements:

- The Intel Baytrail driver now properly supports pin control.

- The Nomadik, Rockchip, Broadcom BCM2835 supports the
.get_direction() callback in
the GPIO portions.

- Continued development and stabilization of several SH-PFC
SoC subdrivers: r8a7795, r8a7790, r8a7794 etc.

----------------------------------------------------------------
Alexander MÃller (1):
pinctrl: meson: Fix eth_tx_en bit index

Alexander Stein (2):
pinctrl: at91: Make at91_gpio_template const
pinctrl: at91: Merge clk_prepare and clk_enable into clk_prepare_enable

Andrew Jeffery (1):
pinctrl: exynos5440: Use off-stack memory for pinctrl_gpio_range

Arnd Bergmann (2):
pinctrl: ns2: rename pinctrl_utils_dt_free_map
pinctrl: nomadik: hide nmk_gpio_get_mode when unused

Caesar Wang (1):
pinctrl: rockchip: add support the get_direction

Carlo Caione (1):
pinctrl: amlogic: Add support for Amlogic Meson GXBB SoC

Colin Ian King (1):
pinctrl: sirf/atlas7: trivial fix of spelling mistake on flagged

Cristina Ciocan (6):
pinctrl: baytrail: Add pin control data structures
pinctrl: baytrail: Add pin control operations
pinctrl: baytrail: Update gpio chip operations
pinctrl: baytrail: Update irq chip operations
pinctrl: baytrail: Register pin control handling
pinctrl: baytrail: Add debounce configuration

Dan Carpenter (1):
pinctrl: baytrail: fix some error handling in debugfs

David Wu (1):
pinctrl: rockchip: fix pull setting error for rk3399

Geert Uytterhoeven (1):
pinctrl: sh-pfc: Kill unused variable in sh_pfc_remove()

Irina Tirdea (1):
pinctrl: Rename pinctrl_utils_dt_free_map to pinctrl_utils_free_map

Koji Matsuoka (1):
pinctrl: sh-pfc: r8a7794: Add DU pin groups

Kuninori Morimoto (1):
pinctrl: sh-pfc: IPSRx and MOD_SELx should be set before GPSRx

Laurent Pinchart (2):
pinctrl: sh-pfc: Add drive strength support
pinctrl: sh-pfc: r8a7795: Add drive strength support

Laxman Dewangan (52):
pinctrl: Add devm_ apis for pinctrl_{register, unregister}
pinctrl: Add resource management devm_pinctrl_{register, unregister}
pinctrl: bcm281xx: Use devm_pinctrl_register() for pinctrl registration
pinctrl: bcm2835: Use devm_pinctrl_register() for pinctrl registration
pinctrl: cygnus-mux: Use devm_pinctrl_register() for pinctrl registration
pinctrl: iproc-gpio: Use devm_pinctrl_register() for pinctrl registration
pinctrl: nsp-gpio: Use devm_pinctrl_register() for pinctrl registration
pinctrl: berlin: Use devm_pinctrl_register() for pinctrl registration
pinctrl: imx: Use devm_pinctrl_register() for pinctrl registration
pinctrl: imxl: Use devm_pinctrl_register() for pinctrl registration
pinctrl: cherryview: Use devm_pinctrl_register() for pinctrl registration
pinctrl: intel: Use devm_pinctrl_register() for pinctrl registration
pinctrl: mtk-common: Use devm_pinctrl_register() for pinctrl registration
pinctrl: meson: Use devm_pinctrl_register() for pinctrl registration
pinctrl: mvebu: Use devm_pinctrl_register() for pinctrl registration
pinctrl: nomadic: Use devm_pinctrl_register() for pinctrl registration
pinctrl: spmi-gpio: Use devm_pinctrl_register() for pinctrl registration
pinctrl: spmi: Use devm_pinctrl_register() for pinctrl registration
pinctrl: ssbi-gpi: Use devm_pinctrl_register() for pinctrl registration
pinctrl: ssbi-mpp: Use devm_pinctrl_register() for pinctrl registration
pinctrl: msm: Use devm_pinctrl_register() for pinctrl registration
pinctrl: pxa: Use devm_pinctrl_register() for pinctrl registration
pinctrl: exynos5440: Use devm_pinctrl_register() for pinctrl registration
pinctrl: samsung: Use devm_pinctrl_register() for pinctrl registration
pinctrl: ish-pfc: Use devm_pinctrl_register() for pinctrl registration
pinctrl: spear: Use devm_pinctrl_register() for pinctrl registration
pinctrl: stm32: Use devm_pinctrl_register() for pinctrl registration
pinctrl: ssbi-mpp: Use devm_pinctrl_register() for pinctrl registration
pinctrl: tegra: Use devm_pinctrl_register() for pinctrl registration
pinctrl: tegra-xusb: Use devm_pinctrl_register() for pinctrl registration
pinctrl: uniphier: Use devm_pinctrl_register() for pinctrl registration
pinctrl: vt8500: Use devm_pinctrl_register() for pinctrl registration
pinctrl: adi2: Use devm_pinctrl_register() for pinctrl registration
pinctrl: amd: Use devm_pinctrl_register() for pinctrl registration
pinctrl: as3722: Use devm_pinctrl_register() for pinctrl registration
pinctrl: at91-pio4: Use devm_pinctrl_register() for pinctrl registration
pinctrl: at91: Use devm_pinctrl_register() for pinctrl registration
pinctrl: digicolor: Use devm_pinctrl_register() for pinctrl registration
pinctrl: lantiq: Use devm_pinctrl_register() for pinctrl registration
pinctrl: lpc18xx: Use devm_pinctrl_register() for pinctrl registration
pinctrl: palmas: Use devm_pinctrl_register() for pinctrl registration
pinctrl: pic32: Use devm_pinctrl_register() for pinctrl registration
pinctrl: pistachio: Use devm_pinctrl_register() for pinctrl registration
pinctrl: rockchip: Use devm_pinctrl_register() for pinctrl registration
pinctrl: st: Use devm_pinctrl_register() for pinctrl registration
pinctrl: tb10x: Use devm_pinctrl_register() for pinctrl registration
pinctrl: tz1090-pdc: Use devm_pinctrl_register() for pinctrl registration
pinctrl: tz1090 Use devm_pinctrl_register() for pinctrl registration
pinctrl: u300: Use devm_pinctrl_register() for pinctrl registration
pinctrl: zynq: Use devm_pinctrl_register() for pinctrl registration
pinctrl: tegra: Correctly check the supported configuration
pinctrl: tegra: avoid parked_reg and parked_bank

Linus Walleij (5):
Merge branch 'sh-pfc-for-v4.7' of
git://git.kernel.org/.../geert/renesas-drivers into devel
pinctrl: nomadik: use BIT() with offsets consequently
pinctrl: nomadik: implement .get_direction()
Merge tag 'sh-pfc-for-v4.7-tag2' of
git://git.kernel.org/.../geert/renesas-drivers into devel
Revert "pinctrl: tegra: avoid parked_reg and parked_bank"

Patrice Chotard (1):
pinctrl: stm32: Implement .pin_config_dbg_show()

Rhyland Klein (1):
pinctrl: tegra: clear park bit for all pins

Robert Jarzmik (1):
pinctrl: pxa: add pxa25x architecture

Stefan Wahren (1):
pinctrl: bcm2835: Implement get_direction callback

Wang Hongcheng (1):
pinctrl: amd:Add device HID for future AMD GPIO controller

Wolfram Sang (1):
pinctrl: sh-pfc: r8a7790: Implement voltage switching for SDHI

Yendapally Reddy Dhananjaya Reddy (1):
pinctrl: ns2: add pinmux driver support for Broadcom NS2 SoC

.../bindings/pinctrl/renesas,pfc-pinctrl.txt | 4 +-
Documentation/driver-model/devres.txt | 2 +
drivers/pinctrl/bcm/Kconfig | 13 +
drivers/pinctrl/bcm/Makefile | 1 +
drivers/pinctrl/bcm/pinctrl-bcm281xx.c | 6 +-
drivers/pinctrl/bcm/pinctrl-bcm2835.c | 16 +-
drivers/pinctrl/bcm/pinctrl-cygnus-mux.c | 4 +-
drivers/pinctrl/bcm/pinctrl-iproc-gpio.c | 14 +-
drivers/pinctrl/bcm/pinctrl-ns2-mux.c | 1117 +++++++++++++
drivers/pinctrl/bcm/pinctrl-nsp-gpio.c | 4 +-
drivers/pinctrl/berlin/berlin.c | 5 +-
drivers/pinctrl/core.c | 63 +
drivers/pinctrl/freescale/pinctrl-imx.c | 11 +-
drivers/pinctrl/freescale/pinctrl-imx.h | 1 -
drivers/pinctrl/freescale/pinctrl-imx1-core.c | 11 +-
drivers/pinctrl/freescale/pinctrl-imx1.c | 1 -
drivers/pinctrl/freescale/pinctrl-imx1.h | 1 -
drivers/pinctrl/freescale/pinctrl-imx21.c | 1 -
drivers/pinctrl/freescale/pinctrl-imx25.c | 1 -
drivers/pinctrl/freescale/pinctrl-imx27.c | 1 -
drivers/pinctrl/freescale/pinctrl-imx35.c | 1 -
drivers/pinctrl/freescale/pinctrl-imx50.c | 1 -
drivers/pinctrl/freescale/pinctrl-imx51.c | 1 -
drivers/pinctrl/freescale/pinctrl-imx53.c | 1 -
drivers/pinctrl/freescale/pinctrl-imx6dl.c | 1 -
drivers/pinctrl/freescale/pinctrl-imx6q.c | 1 -
drivers/pinctrl/freescale/pinctrl-imx6sl.c | 1 -
drivers/pinctrl/freescale/pinctrl-imx6sx.c | 1 -
drivers/pinctrl/freescale/pinctrl-imx6ul.c | 1 -
drivers/pinctrl/freescale/pinctrl-imx7d.c | 1 -
drivers/pinctrl/freescale/pinctrl-vf610.c | 1 -
drivers/pinctrl/intel/Kconfig | 3 +
drivers/pinctrl/intel/pinctrl-baytrail.c | 1707 +++++++++++++++++---
drivers/pinctrl/intel/pinctrl-cherryview.c | 8 +-
drivers/pinctrl/intel/pinctrl-intel.c | 8 +-
drivers/pinctrl/mediatek/pinctrl-mtk-common.c | 21 +-
drivers/pinctrl/meson/Makefile | 2 +-
drivers/pinctrl/meson/pinctrl-meson-gxbb.c | 432 +++++
drivers/pinctrl/meson/pinctrl-meson.c | 12 +-
drivers/pinctrl/meson/pinctrl-meson.h | 2 +
drivers/pinctrl/meson/pinctrl-meson8b.c | 2 +-
drivers/pinctrl/mvebu/pinctrl-armada-370.c | 6 -
drivers/pinctrl/mvebu/pinctrl-armada-375.c | 6 -
drivers/pinctrl/mvebu/pinctrl-armada-38x.c | 6 -
drivers/pinctrl/mvebu/pinctrl-armada-39x.c | 6 -
drivers/pinctrl/mvebu/pinctrl-armada-xp.c | 6 -
drivers/pinctrl/mvebu/pinctrl-dove.c | 5 +-
drivers/pinctrl/mvebu/pinctrl-kirkwood.c | 6 -
drivers/pinctrl/mvebu/pinctrl-mvebu.c | 9 +-
drivers/pinctrl/mvebu/pinctrl-mvebu.h | 1 -
drivers/pinctrl/mvebu/pinctrl-orion.c | 6 -
drivers/pinctrl/nomadik/pinctrl-abx500.c | 7 +-
drivers/pinctrl/nomadik/pinctrl-nomadik.c | 168 +-
drivers/pinctrl/pinconf-generic.c | 2 +-
drivers/pinctrl/pinctrl-adi2.c | 13 +-
drivers/pinctrl/pinctrl-amd.c | 12 +-
drivers/pinctrl/pinctrl-as3722.c | 11 +-
drivers/pinctrl/pinctrl-at91-pio4.c | 30 +-
drivers/pinctrl/pinctrl-at91.c | 28 +-
drivers/pinctrl/pinctrl-digicolor.c | 15 +-
drivers/pinctrl/pinctrl-lantiq.c | 2 +-
drivers/pinctrl/pinctrl-lpc18xx.c | 5 +-
drivers/pinctrl/pinctrl-palmas.c | 14 +-
drivers/pinctrl/pinctrl-pic32.c | 5 +-
drivers/pinctrl/pinctrl-pistachio.c | 6 +-
drivers/pinctrl/pinctrl-rockchip.c | 192 ++-
drivers/pinctrl/pinctrl-st.c | 2 +-
drivers/pinctrl/pinctrl-tb10x.c | 5 +-
drivers/pinctrl/pinctrl-tz1090-pdc.c | 13 +-
drivers/pinctrl/pinctrl-tz1090.c | 13 +-
drivers/pinctrl/pinctrl-u300.c | 12 +-
drivers/pinctrl/pinctrl-utils.c | 4 +-
drivers/pinctrl/pinctrl-utils.h | 2 +-
drivers/pinctrl/pinctrl-zynq.c | 14 +-
drivers/pinctrl/pxa/Kconfig | 10 +-
drivers/pinctrl/pxa/Makefile | 1 +
drivers/pinctrl/pxa/pinctrl-pxa25x.c | 274 ++++
drivers/pinctrl/pxa/pinctrl-pxa2xx.c | 4 +-
drivers/pinctrl/qcom/pinctrl-msm.c | 10 +-
drivers/pinctrl/qcom/pinctrl-spmi-gpio.c | 9 +-
drivers/pinctrl/qcom/pinctrl-spmi-mpp.c | 9 +-
drivers/pinctrl/qcom/pinctrl-ssbi-gpio.c | 11 +-
drivers/pinctrl/qcom/pinctrl-ssbi-mpp.c | 11 +-
drivers/pinctrl/samsung/pinctrl-exynos5440.c | 17 +-
drivers/pinctrl/samsung/pinctrl-samsung.c | 3 +-
drivers/pinctrl/sh-pfc/core.c | 20 +-
drivers/pinctrl/sh-pfc/core.h | 5 +-
drivers/pinctrl/sh-pfc/pfc-r8a7790.c | 54 +-
drivers/pinctrl/sh-pfc/pfc-r8a7794.c | 217 +++
drivers/pinctrl/sh-pfc/pfc-r8a7795.c | 218 ++-
drivers/pinctrl/sh-pfc/pinctrl.c | 124 +-
drivers/pinctrl/sh-pfc/sh_pfc.h | 19 +-
drivers/pinctrl/sirf/pinctrl-atlas7.c | 2 +-
drivers/pinctrl/spear/pinctrl-spear.c | 11 +-
drivers/pinctrl/spear/pinctrl-spear.h | 1 -
drivers/pinctrl/spear/pinctrl-spear1310.c | 6 -
drivers/pinctrl/spear/pinctrl-spear1340.c | 6 -
drivers/pinctrl/spear/pinctrl-spear300.c | 6 -
drivers/pinctrl/spear/pinctrl-spear310.c | 6 -
drivers/pinctrl/spear/pinctrl-spear320.c | 6 -
drivers/pinctrl/stm32/pinctrl-stm32.c | 185 ++-
drivers/pinctrl/sunxi/pinctrl-sunxi.c | 13 +-
drivers/pinctrl/tegra/pinctrl-tegra-xusb.c | 15 +-
drivers/pinctrl/tegra/pinctrl-tegra.c | 36 +-
drivers/pinctrl/tegra/pinctrl-tegra.h | 8 +-
drivers/pinctrl/tegra/pinctrl-tegra114.c | 3 +-
drivers/pinctrl/tegra/pinctrl-tegra124.c | 3 +-
drivers/pinctrl/tegra/pinctrl-tegra20.c | 4 +-
drivers/pinctrl/tegra/pinctrl-tegra210.c | 5 +-
drivers/pinctrl/tegra/pinctrl-tegra30.c | 3 +-
drivers/pinctrl/uniphier/pinctrl-uniphier-core.c | 14 +-
drivers/pinctrl/uniphier/pinctrl-uniphier-ld4.c | 1 -
drivers/pinctrl/uniphier/pinctrl-uniphier-ld6b.c | 1 -
drivers/pinctrl/uniphier/pinctrl-uniphier-pro4.c | 1 -
drivers/pinctrl/uniphier/pinctrl-uniphier-pro5.c | 1 -
drivers/pinctrl/uniphier/pinctrl-uniphier-pxs2.c | 1 -
drivers/pinctrl/uniphier/pinctrl-uniphier-sld8.c | 1 -
drivers/pinctrl/uniphier/pinctrl-uniphier.h | 2 -
drivers/pinctrl/vt8500/pinctrl-wmt.c | 7 +-
include/dt-bindings/gpio/meson-gxbb-gpio.h | 154 ++
include/linux/pinctrl/pinctrl.h | 6 +
121 files changed, 4764 insertions(+), 877 deletions(-)
create mode 100644 drivers/pinctrl/bcm/pinctrl-ns2-mux.c
create mode 100644 drivers/pinctrl/meson/pinctrl-meson-gxbb.c
create mode 100644 drivers/pinctrl/pxa/pinctrl-pxa25x.c
create mode 100644 include/dt-bindings/gpio/meson-gxbb-gpio.h