[GIT PULL] Pin control bulk changes for the v5.6 kernel cycle

From: Linus Walleij
Date: Wed Jan 29 2020 - 03:33:40 EST


Hi Linus,

here is the bulk of pin control changes for v5.6, nothing too
exciting about this.

Some changes hit arch/sh and arch/arm but are well isolated
and acknowledged by the respective arch maintainers.

The major details are in the signed tag as usual.

Please pull it in!

Yours,
Linus Walleij

The following changes since commit 46cf053efec6a3a5f343fead837777efe8252a46:

Linux 5.5-rc3 (2019-12-22 17:02:23 -0800)

are available in the Git repository at:

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

for you to fetch changes up to 122ce22cb37b087e7e28ebb16044a622b0a22233:

pinctrl: madera: Remove extra blank line (2020-01-24 00:31:41 +0100)

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

Core changes:

- Dropped the chained IRQ setup callback into GPIOLIB as we
got rid of the last users of that in this changeset.

New drivers:

- New driver for Ingenic X1830.

- New driver for Freescale i.MX8MP.

Driver enhancements:

- Fix all remaining Intel drivers to pass their IRQ chips
along with the GPIO chips.

- Intel Baytrail allocates its irqchip dynamically.

- Intel Lynxpoint is thoroughly rewritten and modernized.

- Aspeed AST2600 pin muxing and configuration is much
improved.

- Qualcomm SC7180 functions are updated and wakeup interrupt
map is provided.

- A whole slew of Renesas SH-PFC cleanups and improvements.

- Fix up the Intel DT bindings to use the generic YAML
DT bindings schema. (A first user of this.)

----------------------------------------------------------------
Andrew Jeffery (1):
dt-bindings: pinctrl: aspeed-g6: Add USB functions and groups

Andy Shevchenko (31):
pinctrl: baytrail: Allocate IRQ chip dynamic
pinctrl: baytrail: Group GPIO IRQ chip initialization
pinctrl: baytrail: Move IRQ valid mask initialization to a
dedicated callback
pinctrl: intel: Share struct intel_pinctrl for wider use
pinctrl: baytrail: Keep pointer to struct device instead of its container
pinctrl: baytrail: Use local variable to keep device pointer
pinctrl: baytrail: Reuse struct intel_pinctrl in the driver
pinctrl: lynxpoint: Move GPIO driver to pin controller folder
pinctrl: lynxpoint: Use raw_spinlock for locking
pinctrl: lynxpoint: Correct amount of pins
pinctrl: lynxpoint: Drop useless assignment
pinctrl: lynxpoint: Use %pR to print IO resource
pinctrl: lynxpoint: Use standard pattern for memory allocation
pinctrl: lynxpoint: Assume 2 bits for mode selector
pinctrl: lynxpoint: Relax GPIO request rules
pinctrl: lynxpoint: Keep pointer to struct device instead of its container
pinctrl: lynxpoint: Switch to memory mapped IO accessors
pinctrl: lynxpoint: Convert unsigned to unsigned int
pinctrl: lynxpoint: Extract lp_gpio_acpi_use() for future use
pinctrl: lynxpoint: Move ->remove closer to ->probe()
pinctrl: lynxpoint: Move lp_irq_type() closer to IRQ related routines
pinctrl: lynxpoint: Move ownership check to IRQ chip
pinctrl: lynxpoint: Implement ->irq_ack() callback
pinctrl: lynxpoint: Implement intel_gpio_get_direction callback
pinctrl: lynxpoint: Add pin control data structures
pinctrl: lynxpoint: Reuse struct intel_pinctrl in the driver
pinctrl: lynxpoint: Add pin control operations
pinctrl: lynxpoint: Implement ->pin_dbg_show()
pinctrl: lynxpoint: Add GPIO <-> pin mapping ranges via callback
pinctrl: lynxpoint: Switch to pin control API
pinctrl: lynxpoint: Update summary in the driver

Anson Huang (2):
dt-bindings: imx: Add pinctrl binding doc for i.MX8MP
pinctrl: freescale: Add i.MX8MP pinctrl driver support

Ben Dooks (Codethink) (4):
pinctrl: tegra: fix missing __iomem in suspend/resume
pinctrl: actions: remove duplicate dsi entry
pinctrl: qcom: make 'm_voc_groups' static
pinctrl: artpec6: fix __iomem on reg in set

Boyan Ding (1):
pinctrl: sunrisepoint: Add missing Interrupt Status register offset

Charles Keepax (1):
pinctrl: madera: Remove extra blank line

Chris Brandt (1):
pinctrl: rza1: Reduce printed messages

Geert Uytterhoeven (10):
pinctrl: sh-pfc: Make legacy function GPIO handling less fragile
pinctrl: sh-pfc: Remove use of ARCH_R8A7796
pinctrl: sh-pfc: r8a77965: Fix DU_DOTCLKIN3 drive/bias control
pinctrl: sh-pfc: r8a7778: Fix duplicate SDSELF_B and SD1_CLK_B
pinctrl: sh-pfc: sh7264: Fix Port K I/O Register 0 definition
pinctrl: sh-pfc: sh7264: Fix CAN function GPIOs
pinctrl: sh-pfc: sh7269: Fix CAN function GPIOs
sh: sh7264: Remove bogus SSU GPIO function definitions
sh: sh7269: Remove bogus SSU GPIO function definitions
pinctrl: sh-pfc: Split R-Car H3 support in two independent drivers

Hamish Martin (1):
pinctrl: iproc: Set irq handler based on trig type

Hans de Goede (3):
pinctrl: Allow modules to use pinctrl_[un]register_mappings
pinctrl: baytrail: Do not clear IRQ flags on direct-irq enabled pins
pinctrl: baytrail: Replace WARN with dev_info_once when setting
direct-irq pin to output

Johnny Huang (6):
pinctrl: aspeed-g6: Add AST2600 I3C1 and I3C2 pinmux config
pinctrl: aspeed-g6: Add support for the AST2600 USB pinmux
pinctrl: aspeed: Add ASPEED_SB_PINCONF() helper
pinctrl: aspeed: Move aspeed_pin_config_map to separate source file
pinctrl: aspeed: Use masks to describe pinconf bitfields
pinctrl: aspeed-g6: Add AST2600 pinconf support

Julia Lawall (3):
pinctrl: ssbi-mpp: constify copied structure
pinctrl: qcom: ssbi-gpio: constify copied structure
pinctrl: nuvoton: npcm7xx: constify copied structure

Krzysztof Kozlowski (3):
pinctrl: samsung: Enable compile test for build coverage
pinctrl: samsung: Clarify the option titles/names
pinctrl: samsung: Fix missing OF and GPIOLIB dependency on
S3C24xx and S3C64xx

Linus Walleij (10):
Merge branch 'ib-pinctrl-default-state' into devel
Merge tag 'v5.5-rc3' into devel
Merge branch 'ib-pinctrl-unreg-mappings' into devel
Merge tag 'sh-pfc-for-v5.6-tag1' of
git://git.kernel.org/.../geert/renesas-drivers into devel
pinctrl: intel: Add GPIO <-> pin mapping ranges via callback
pinctrl: intel: Pass irqchip when adding gpiochip
pinctrl: dt-bindings: Fix some errors in the lgm and pinmux schema
Merge tag 'samsung-pinctrl-5.6' of
https://git.kernel.org/.../pinctrl/samsung into devel
Merge tag 'intel-pinctrl-v5.6-1' of
git://git.kernel.org/.../pinctrl/intel into devel
gpio: Drop the chained IRQ handler assign function

Ma Feng (1):
pinctrl: armada-37xx: Remove unneeded semicolon

Martin Blumenstingl (1):
pinctrl: meson: meson8b: add the GPIOH pinmux settings for ETH_RXD{2,3}

Matti Vaittinen (3):
pinctrl: baytrail: Use GPIO direction definitions
pinctrl: cherryview: Use GPIO direction definitions
pinctrl: intel: Use GPIO direction definitions

Maulik Shah (1):
pinctrl: qcom: sc7180: Add GPIO wakeup interrupt map

Mika Westerberg (2):
pinctrl: sunrisepoint: Add Coffee Lake-S ACPI ID
pinctrl: tigerlake: Tiger Lake uses _HID enumeration

Nishad Kamdar (3):
pinctrl: mediatek: Use the correct style for SPDX License Identifier
pinctrl: meson-axg: Use the correct style for SPDX License Identifier
pinctrl: stm32: Use the correct style for SPDX License Identifier

Paul Cercueil (5):
pinctrl: ingenic: Remove platform ID table
pinctrl: ingenic: Put ingenic_chip_info pointer in match data
pinctrl: ingenic: Remove duplicated ingenic_chip_info structures
pinctrl: ingenic: Factorize irq_set_type function
pinctrl: ingenic: Use devm_platform_ioremap_resource()

Peng Fan (2):
pinctrl: sunxi: sun50i-h5 use platform_irq_count
pinctrl: mvebu: armada-37xx: use use platform api

Rahul Tanwar (1):
dt-bindings: pinctrl: intel: Update to use generic bindings

Rajendra Nayak (2):
dt-bindings: pinctrl: qcom: Add new qup functions for sc7180
pinctrl: qcom: sc7180: Add new qup functions

Rayagonda Kokatanur (1):
pinctrl: iproc: Use platform_get_irq_optional() to avoid error message

Stephen Boyd (1):
pinctrl: qcom: Don't lock around irq_set_irq_wake()

Ulf Hansson (1):
pinctrl: core: Add pinctrl_select_default_state() and export it

åçæ (Zhou Yanjie) (5):
pinctrl: Ingenic: Fix bugs in X1000 and X1500.
pinctrl: Ingenic: Add missing parts for X1000 and X1500.
pinctrl: Ingenic: Introduce reg_offset and use it instead hard code.
dt-bindings: pinctrl: Add bindings for Ingenic X1830.
pinctrl: Ingenic: Add pinctrl driver for X1830.

.../bindings/pinctrl/aspeed,ast2600-pinctrl.yaml | 9 +-
.../bindings/pinctrl/fsl,imx8mp-pinctrl.yaml | 69 ++
.../bindings/pinctrl/ingenic,pinctrl.txt | 8 +-
.../devicetree/bindings/pinctrl/intel,lgm-io.yaml | 75 ++
.../bindings/pinctrl/intel,lgm-pinctrl.yaml | 116 ---
.../devicetree/bindings/pinctrl/pinmux-node.yaml | 2 +-
.../bindings/pinctrl/qcom,sc7180-pinctrl.txt | 5 +-
Documentation/driver-api/gpio/driver.rst | 5 -
MAINTAINERS | 1 -
arch/arm/mach-u300/core.c | 2 +-
arch/sh/include/cpu-sh2a/cpu/sh7264.h | 6 -
arch/sh/include/cpu-sh2a/cpu/sh7269.h | 17 +-
drivers/gpio/Kconfig | 8 -
drivers/gpio/Makefile | 1 -
drivers/gpio/gpio-lynxpoint.c | 471 ----------
drivers/gpio/gpio-mt7621.c | 3 +-
drivers/gpio/gpio-xgs-iproc.c | 3 +-
drivers/gpio/gpiolib.c | 25 +-
drivers/pinctrl/actions/pinctrl-s700.c | 1 -
drivers/pinctrl/aspeed/pinctrl-aspeed-g4.c | 170 ++--
drivers/pinctrl/aspeed/pinctrl-aspeed-g5.c | 212 ++---
drivers/pinctrl/aspeed/pinctrl-aspeed-g6.c | 387 +++++++-
drivers/pinctrl/aspeed/pinctrl-aspeed.c | 50 +-
drivers/pinctrl/aspeed/pinctrl-aspeed.h | 38 +-
drivers/pinctrl/aspeed/pinmux-aspeed.h | 1 +
drivers/pinctrl/bcm/pinctrl-iproc-gpio.c | 10 +-
drivers/pinctrl/cirrus/pinctrl-madera-core.c | 1 -
drivers/pinctrl/core.c | 74 +-
drivers/pinctrl/core.h | 4 -
drivers/pinctrl/devicetree.c | 4 +-
drivers/pinctrl/freescale/Kconfig | 7 +
drivers/pinctrl/freescale/Makefile | 1 +
drivers/pinctrl/freescale/pinctrl-imx8mp.c | 345 ++++++++
drivers/pinctrl/intel/Kconfig | 13 +
drivers/pinctrl/intel/Makefile | 1 +
drivers/pinctrl/intel/pinctrl-baytrail.c | 311 ++++---
drivers/pinctrl/intel/pinctrl-cherryview.c | 5 +-
drivers/pinctrl/intel/pinctrl-intel.c | 101 +--
drivers/pinctrl/intel/pinctrl-intel.h | 44 +
drivers/pinctrl/intel/pinctrl-lynxpoint.c | 975 +++++++++++++++++++++
drivers/pinctrl/intel/pinctrl-sunrisepoint.c | 2 +
drivers/pinctrl/intel/pinctrl-tigerlake.c | 547 ++++++------
drivers/pinctrl/mediatek/pinctrl-mtk-mt2712.h | 2 +-
drivers/pinctrl/meson/pinctrl-meson-axg-pmx.h | 2 +-
drivers/pinctrl/meson/pinctrl-meson8b.c | 7 +-
drivers/pinctrl/mvebu/pinctrl-armada-37xx.c | 16 +-
drivers/pinctrl/nuvoton/pinctrl-npcm7xx.c | 2 +-
drivers/pinctrl/pinctrl-artpec6.c | 2 +-
drivers/pinctrl/pinctrl-ingenic.c | 637 +++++++++-----
drivers/pinctrl/pinctrl-rza1.c | 4 +-
drivers/pinctrl/qcom/pinctrl-msm.c | 5 -
drivers/pinctrl/qcom/pinctrl-msm8976.c | 2 +-
drivers/pinctrl/qcom/pinctrl-sc7180.c | 78 +-
drivers/pinctrl/qcom/pinctrl-ssbi-gpio.c | 2 +-
drivers/pinctrl/qcom/pinctrl-ssbi-mpp.c | 2 +-
drivers/pinctrl/samsung/Kconfig | 16 +-
drivers/pinctrl/sh-pfc/Kconfig | 12 +-
drivers/pinctrl/sh-pfc/Makefile | 4 +-
drivers/pinctrl/sh-pfc/core.c | 57 +-
drivers/pinctrl/sh-pfc/gpio.c | 11 +-
drivers/pinctrl/sh-pfc/pfc-r8a7778.c | 4 +-
.../sh-pfc/{pfc-r8a7795-es1.c => pfc-r8a77950.c} | 26 +-
.../sh-pfc/{pfc-r8a7795.c => pfc-r8a77951.c} | 39 +-
drivers/pinctrl/sh-pfc/pfc-r8a77965.c | 6 +-
drivers/pinctrl/sh-pfc/pfc-sh7264.c | 33 +-
drivers/pinctrl/sh-pfc/pfc-sh7269.c | 39 +-
drivers/pinctrl/sh-pfc/sh_pfc.h | 4 +-
drivers/pinctrl/stm32/pinctrl-stm32.h | 2 +-
drivers/pinctrl/sunxi/pinctrl-sun50i-h5.c | 13 +-
drivers/pinctrl/tegra/pinctrl-tegra.c | 4 +-
include/linux/gpio/driver.h | 5 -
include/linux/pinctrl/consumer.h | 6 +
include/linux/pinctrl/machine.h | 5 +
73 files changed, 3379 insertions(+), 1798 deletions(-)
create mode 100644
Documentation/devicetree/bindings/pinctrl/fsl,imx8mp-pinctrl.yaml
create mode 100644 Documentation/devicetree/bindings/pinctrl/intel,lgm-io.yaml
delete mode 100644
Documentation/devicetree/bindings/pinctrl/intel,lgm-pinctrl.yaml
delete mode 100644 drivers/gpio/gpio-lynxpoint.c
create mode 100644 drivers/pinctrl/freescale/pinctrl-imx8mp.c
create mode 100644 drivers/pinctrl/intel/pinctrl-lynxpoint.c
rename drivers/pinctrl/sh-pfc/{pfc-r8a7795-es1.c => pfc-r8a77950.c} (99%)
rename drivers/pinctrl/sh-pfc/{pfc-r8a7795.c => pfc-r8a77951.c} (99%)