]> Git Repo - J-linux.git/commitdiff
Merge tag 'pinctrl-v5.17-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw...
authorLinus Torvalds <[email protected]>
Wed, 12 Jan 2022 18:56:08 +0000 (10:56 -0800)
committerLinus Torvalds <[email protected]>
Wed, 12 Jan 2022 18:56:08 +0000 (10:56 -0800)
Pull pin control bulk updates from Linus Walleij:
 "Core changes:

   - New standard enumerator and corresponding device tree bindings for
     output impedance pin configuration. (Implemented and used in the
     Renesas rzg2l driver.)

   - Cleanup of Kconfig and Makefile to be somewhat orderly and
     alphabetic.

  New drivers:

   - Samsung Exynos 7885 pin controller.

   - Ocelot LAN966x pin controller.

   - Qualcomm SDX65 pin controller.

   - Qualcomm SM8450 pin controller.

   - Qualcomm PM8019, PM8226 and PM2250 pin controllers.

   - NXP/Freescale i.MXRT1050 pin controller.

   - Intel Thunder Bay pin controller.

  Enhancements:

   - Introduction of the string library helper function
     "kasprintf_strarray()" and subsequent use in Rockchip, ST and
     Armada pin control drivers, as well as the GPIO mockup driver.

   - The Ocelot pin controller has been extensively rewritten to use
     regmap and other modern kernel infrastructure.

   - The Microchip SGPIO driver has been converted to use regmap.

   - The SPEAr driver had been converted to use regmap.

   - Substantial cleanups and janitorial on the Apple pin control driver
     that was merged for v5.16.

   - Janitorial to remove of_node assignments in the GPIO portions that
     anyway get this handled in the GPIO core.

   - Minor cleanups and improvements in several pin controllers"

* tag 'pinctrl-v5.17-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl: (98 commits)
  pinctrl: imx: fix assigning groups names
  dt-bindings: pinctrl: mt8195: add wrapping node of pin configurations
  pinctrl: bcm: ns: use generic groups & functions helpers
  pinctrl: imx: fix allocation result check
  pinctrl: samsung: Use platform_get_irq_optional() to get the interrupt
  pinctrl: Propagate firmware node from a parent device
  dt-bindings: pinctrl: qcom: Add SDX65 pinctrl bindings
  pinctrl: add one more "const" for generic function groups
  pinctrl: keembay: rework loops looking for groups names
  pinctrl: keembay: comment process of building functions a bit
  pinctrl: imx: prepare for making "group_names" in "function_desc" const
  ARM: dts: gpio-ranges property is now required
  pinctrl: aspeed: fix unmet dependencies on MFD_SYSCON for PINCTRL_ASPEED
  pinctrl: Get rid of duplicate of_node assignment in the drivers
  pinctrl-sunxi: don't call pinctrl_gpio_direction()
  pinctrl-bcm2835: don't call pinctrl_gpio_direction()
  pinctrl: bcm2835: Silence uninit warning
  pinctrl: Sort Kconfig and Makefile entries alphabetically
  pinctrl: Add Intel Thunder Bay pinctrl driver
  dt-bindings: pinctrl: Add bindings for Intel Thunderbay pinctrl driver
  ...

1  2 
Documentation/devicetree/bindings/pinctrl/apple,pinctrl.yaml
MAINTAINERS
drivers/pinctrl/Kconfig
drivers/pinctrl/Makefile
drivers/pinctrl/bcm/pinctrl-bcm2835.c
drivers/pinctrl/mediatek/pinctrl-mtk-common-v2.c

index 572923d7023e596179da3ae21c798f0a9d8e74da,61fc05840eb3efa4ea715c5fba42b1f219ccf7fb..d3b11351ca451fef34e34f78ab7f2b4ad0653103
@@@ -17,9 -17,7 +17,9 @@@ description: 
  properties:
    compatible:
      items:
 -      - const: apple,t8103-pinctrl
 +      - enum:
 +          - apple,t8103-pinctrl
 +          - apple,t6000-pinctrl
        - const: apple,pinctrl
  
    reg:
@@@ -52,9 -50,6 +52,9 @@@
    '#interrupt-cells':
      const: 2
  
 +  power-domains:
 +    maxItems: 1
 +
  patternProperties:
    '-pins$':
      type: object
@@@ -72,6 -67,9 +72,9 @@@
  
      additionalProperties: false
  
+ allOf:
+   - $ref: "pinctrl.yaml#"
  required:
    - compatible
    - reg
diff --combined MAINTAINERS
index 009885cf0d21aed615f0810b04e290446f6df54a,7741bcc235026b11428dd9d71ae0f1603304891e..246deaad617777e303b04660c94c30c201a877ed
@@@ -966,7 -966,6 +966,7 @@@ F: drivers/gpu/drm/amd/include/kgd_kfd_
  F:    drivers/gpu/drm/amd/include/v9_structs.h
  F:    drivers/gpu/drm/amd/include/vi_structs.h
  F:    include/uapi/linux/kfd_ioctl.h
 +F:    include/uapi/linux/kfd_sysfs.h
  
  AMD SPI DRIVER
  M:    Sanjay R Mehta <[email protected]>
@@@ -994,13 -993,6 +994,13 @@@ S:       Supporte
  T:    git https://gitlab.freedesktop.org/agd5f/linux.git
  F:    drivers/gpu/drm/amd/pm/
  
 +AMD PSTATE DRIVER
 +M:    Huang Rui <[email protected]>
 +L:    [email protected]
 +S:    Supported
 +F:    Documentation/admin-guide/pm/amd-pstate.rst
 +F:    drivers/cpufreq/amd-pstate*
 +
  AMD PTDMA DRIVER
  M:    Sanjay R Mehta <[email protected]>
  L:    [email protected]
@@@ -1147,7 -1139,6 +1147,7 @@@ ANALOG DEVICES INC ADV748X DRIVE
  M:    Kieran Bingham <[email protected]>
  L:    [email protected]
  S:    Maintained
 +F:    Documentation/devicetree/bindings/media/i2c/adv748x.yaml
  F:    drivers/media/i2c/adv748x/*
  
  ANALOG DEVICES INC ADV7511 DRIVER
@@@ -1754,21 -1745,17 +1754,21 @@@ B:   https://github.com/AsahiLinux/linux/
  C:    irc://irc.oftc.net/asahi-dev
  T:    git https://github.com/AsahiLinux/linux.git
  F:    Documentation/devicetree/bindings/arm/apple.yaml
 +F:    Documentation/devicetree/bindings/arm/apple/*
  F:    Documentation/devicetree/bindings/i2c/apple,i2c.yaml
  F:    Documentation/devicetree/bindings/interrupt-controller/apple,aic.yaml
  F:    Documentation/devicetree/bindings/mailbox/apple,mailbox.yaml
  F:    Documentation/devicetree/bindings/pci/apple,pcie.yaml
  F:    Documentation/devicetree/bindings/pinctrl/apple,pinctrl.yaml
 +F:    Documentation/devicetree/bindings/power/apple*
 +F:    Documentation/devicetree/bindings/watchdog/apple,wdt.yaml
  F:    arch/arm64/boot/dts/apple/
  F:    drivers/i2c/busses/i2c-pasemi-core.c
  F:    drivers/i2c/busses/i2c-pasemi-platform.c
  F:    drivers/irqchip/irq-apple-aic.c
  F:    drivers/mailbox/apple-mailbox.c
  F:    drivers/pinctrl/pinctrl-apple-gpio.c
 +F:    drivers/soc/apple/*
  F:    include/dt-bindings/interrupt-controller/apple-aic.h
  F:    include/dt-bindings/pinctrl/apple.h
  F:    include/linux/apple-mailbox.h
  S:    Maintained
  F:    drivers/counter/microchip-tcb-capture.c
  
 +ARM/MILBEAUT ARCHITECTURE
 +M:    Taichi Sugaya <[email protected]>
 +M:    Takao Orito <[email protected]>
 +L:    [email protected] (moderated for non-subscribers)
 +S:    Maintained
 +F:    arch/arm/boot/dts/milbeaut*
 +F:    arch/arm/mach-milbeaut/
 +N:    milbeaut
 +
  ARM/MIOA701 MACHINE SUPPORT
  M:    Robert Jarzmik <[email protected]>
  L:    [email protected] (moderated for non-subscribers)
@@@ -2564,7 -2542,6 +2564,7 @@@ Q:      https://patchwork.kernel.org/project
  F:    Documentation/arm/samsung/
  F:    Documentation/devicetree/bindings/arm/samsung/
  F:    Documentation/devicetree/bindings/power/pd-samsung.yaml
 +F:    Documentation/devicetree/bindings/soc/samsung/
  F:    arch/arm/boot/dts/exynos*
  F:    arch/arm/boot/dts/s3c*
  F:    arch/arm/boot/dts/s5p*
@@@ -2591,7 -2568,7 +2591,7 @@@ N:      s3c64x
  N:    s5pv210
  
  ARM/SAMSUNG S5P SERIES 2D GRAPHICS ACCELERATION (G2D) SUPPORT
 -M:    Andrzej Hajda <a.hajda@samsung.com>
 +M:    Łukasz Stelmach <l.stelmach@samsung.com>
  L:    [email protected] (moderated for non-subscribers)
  L:    [email protected]
  S:    Maintained
@@@ -2615,8 -2592,7 +2615,8 @@@ S:      Maintaine
  F:    drivers/media/platform/s5p-jpeg/
  
  ARM/SAMSUNG S5P SERIES Multi Format Codec (MFC) SUPPORT
 -M:    Andrzej Hajda <[email protected]>
 +M:    Marek Szyprowski <[email protected]>
 +M:    Andrzej Hajda <[email protected]>
  L:    [email protected] (moderated for non-subscribers)
  L:    [email protected]
  S:    Maintained
@@@ -2753,11 -2729,10 +2753,11 @@@ S:   Maintaine
  F:    drivers/memory/*emif*
  
  ARM/TEXAS INSTRUMENT KEYSTONE ARCHITECTURE
 +M:    Nishanth Menon <[email protected]>
  M:    Santosh Shilimkar <[email protected]>
  L:    [email protected] (moderated for non-subscribers)
  S:    Maintained
 -T:    git git://git.kernel.org/pub/scm/linux/kernel/git/ssantosh/linux-keystone.git
 +T:    git git://git.kernel.org/pub/scm/linux/kernel/git/ti/linux.git
  F:    arch/arm/boot/dts/keystone-*
  F:    arch/arm/mach-keystone/
  
@@@ -3013,27 -2988,6 +3013,27 @@@ W:    http://acpi4asus.sf.ne
  F:    drivers/platform/x86/asus*.c
  F:    drivers/platform/x86/eeepc*.c
  
 +ASUS TF103C DOCK DRIVER
 +M:    Hans de Goede <[email protected]>
 +L:    [email protected]
 +S:    Maintained
 +T:    git git://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86.git
 +F:    drivers/platform/x86/asus-tf103c-dock.c
 +
 +ASUS WMI HARDWARE MONITOR DRIVER
 +M:    Ed Brindley <[email protected]>
 +M:    Denis Pauk <[email protected]>
 +L:    [email protected]
 +S:    Maintained
 +F:    drivers/hwmon/asus_wmi_sensors.c
 +
 +ASUS WMI EC HARDWARE MONITOR DRIVER
 +M:    Eugene Shalygin <[email protected]>
 +M:    Denis Pauk <[email protected]>
 +L:    [email protected]
 +S:    Maintained
 +F:    drivers/hwmon/asus_wmi_ec_sensors.c
 +
  ASUS WIRELESS RADIO CONTROL DRIVER
  M:    João Paulo Rechi Vita <[email protected]>
  L:    [email protected]
@@@ -3102,7 -3056,7 +3102,7 @@@ F:      Documentation/devicetree/bindings/ph
  F:    drivers/phy/qualcomm/phy-ath79-usb.c
  
  ATHEROS ATH GENERIC UTILITIES
 -M:    Kalle Valo <kvalo@codeaurora.org>
 +M:    Kalle Valo <kvalo@kernel.org>
  L:    [email protected]
  S:    Supported
  F:    drivers/net/wireless/ath/*
@@@ -3117,7 -3071,7 +3117,7 @@@ W:      https://wireless.wiki.kernel.org/en/
  F:    drivers/net/wireless/ath/ath5k/
  
  ATHEROS ATH6KL WIRELESS DRIVER
 -M:    Kalle Valo <kvalo@codeaurora.org>
 +M:    Kalle Valo <kvalo@kernel.org>
  L:    [email protected]
  S:    Supported
  W:    https://wireless.wiki.kernel.org/en/users/Drivers/ath6kl
@@@ -3416,8 -3370,6 +3416,8 @@@ M:      Jens Axboe <[email protected]
  L:    [email protected]
  S:    Maintained
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux-block.git
 +F:    Documentation/ABI/stable/sysfs-block
 +F:    Documentation/block/
  F:    block/
  F:    drivers/block/
  F:    include/linux/blk*
@@@ -3607,7 -3559,7 +3607,7 @@@ R:      Florent Revest <[email protected]
  R:    Brendan Jackman <[email protected]>
  L:    [email protected]
  S:    Maintained
 -F:    Documentation/bpf/bpf_lsm.rst
 +F:    Documentation/bpf/prog_lsm.rst
  F:    include/linux/bpf_lsm.h
  F:    kernel/bpf/bpf_lsm.c
  F:    security/bpf/
  S:    Supported
  F:    drivers/net/ethernet/broadcom/b44.*
  
 -BROADCOM B53 ETHERNET SWITCH DRIVER
 +BROADCOM B53/SF2 ETHERNET SWITCH DRIVER
  M:    Florian Fainelli <[email protected]>
  L:    [email protected]
  L:    [email protected] (subscribers-only)
  S:    Supported
  F:    Documentation/devicetree/bindings/net/dsa/brcm,b53.yaml
  F:    drivers/net/dsa/b53/*
 +F:    drivers/net/dsa/bcm_sf2*
  F:    include/linux/dsa/brcm.h
  F:    include/linux/platform_data/b53.h
  
@@@ -3674,7 -3625,6 +3674,7 @@@ F:      drivers/net/ethernet/broadcom/bcm490
  F:    drivers/net/ethernet/broadcom/unimac.h
  
  BROADCOM BCM5301X ARM ARCHITECTURE
 +M:    Florian Fainelli <[email protected]>
  M:    Hauke Mehrtens <[email protected]>
  M:    Rafał Miłecki <[email protected]>
  M:    [email protected]
@@@ -3686,7 -3636,6 +3686,7 @@@ F:      arch/arm/boot/dts/bcm953012
  F:    arch/arm/mach-bcm/bcm_5301x.c
  
  BROADCOM BCM53573 ARM ARCHITECTURE
 +M:    Florian Fainelli <[email protected]>
  M:    Rafał Miłecki <[email protected]>
  L:    [email protected]
  L:    [email protected] (moderated for non-subscribers)
@@@ -3809,8 -3758,7 +3809,8 @@@ S:      Supporte
  F:    drivers/net/wireless/broadcom/brcm80211/
  
  BROADCOM BRCMSTB GPIO DRIVER
 -M:    Gregory Fong <[email protected]>
 +M:    Doug Berger <[email protected]>
 +M:    Florian Fainelli <[email protected]>
  L:    [email protected]
  S:    Supported
  F:    Documentation/devicetree/bindings/gpio/brcm,brcmstb-gpio.txt
@@@ -5463,12 -5411,6 +5463,12 @@@ W:    https://linuxtv.or
  T:    git git://linuxtv.org/media_tree.git
  F:    drivers/media/platform/sti/delta
  
 +DELTA AHE-50DC FAN CONTROL MODULE DRIVER
 +M:    Zev Weiss <[email protected]>
 +L:    [email protected]
 +S:    Maintained
 +F:    drivers/hwmon/pmbus/delta-ahe50dc-fan.c
 +
  DELTA DPS920AB PSU DRIVER
  M:    Robert Marko <[email protected]>
  L:    [email protected]
@@@ -6096,7 -6038,6 +6096,7 @@@ F:      drivers/gpu/drm/tiny/mi0283qt.
  DRM DRIVER FOR MSM ADRENO GPU
  M:    Rob Clark <[email protected]>
  M:    Sean Paul <[email protected]>
 +R:    Abhinav Kumar <[email protected]>
  L:    [email protected]
  L:    [email protected]
  L:    [email protected]
@@@ -6122,17 -6063,10 +6122,17 @@@ F:   drivers/gpu/drm/panel/panel-novatek-
  
  DRM DRIVER FOR NVIDIA GEFORCE/QUADRO GPUS
  M:    Ben Skeggs <[email protected]>
 +M:    Karol Herbst <[email protected]>
 +M:    Lyude Paul <[email protected]>
  L:    [email protected]
  L:    [email protected]
  S:    Supported
 -T:    git git://github.com/skeggsb/linux
 +W:    https://nouveau.freedesktop.org/
 +Q:    https://patchwork.freedesktop.org/project/nouveau/
 +Q:    https://gitlab.freedesktop.org/drm/nouveau/-/merge_requests
 +B:    https://gitlab.freedesktop.org/drm/nouveau/-/issues
 +C:    irc://irc.oftc.net/nouveau
 +T:    git https://gitlab.freedesktop.org/drm/nouveau.git
  F:    drivers/gpu/drm/nouveau/
  F:    include/uapi/drm/nouveau_drm.h
  
@@@ -6365,7 -6299,7 +6365,7 @@@ F:      Documentation/devicetree/bindings/di
  F:    drivers/gpu/drm/atmel-hlcdc/
  
  DRM DRIVERS FOR BRIDGE CHIPS
 -M:    Andrzej Hajda <a.hajda@samsung.com>
 +M:    Andrzej Hajda <andrzej.hajda@intel.com>
  M:    Neil Armstrong <[email protected]>
  M:    Robert Foss <[email protected]>
  R:    Laurent Pinchart <[email protected]>
@@@ -6472,7 -6406,6 +6472,7 @@@ L:      [email protected]
  L:    [email protected]
  S:    Supported
  T:    git git://linuxtv.org/pinchartl/media drm/du/next
 +F:    Documentation/devicetree/bindings/display/bridge/renesas,dsi-csi2-tx.yaml
  F:    Documentation/devicetree/bindings/display/bridge/renesas,dw-hdmi.yaml
  F:    Documentation/devicetree/bindings/display/bridge/renesas,lvds.yaml
  F:    Documentation/devicetree/bindings/display/renesas,du.yaml
@@@ -6591,14 -6524,6 +6591,14 @@@ F:    drivers/gpu/drm/drm_panel.
  F:    drivers/gpu/drm/panel/
  F:    include/drm/drm_panel.h
  
 +DRM PRIVACY-SCREEN CLASS
 +M:    Hans de Goede <[email protected]>
 +L:    [email protected]
 +S:    Maintained
 +T:    git git://anongit.freedesktop.org/drm/drm-misc
 +F:    drivers/gpu/drm/drm_privacy_screen*
 +F:    include/drm/drm_privacy_screen*
 +
  DRM TTM SUBSYSTEM
  M:    Christian Koenig <[email protected]>
  M:    Huang Rui <[email protected]>
@@@ -7489,6 -7414,12 +7489,6 @@@ F:     Documentation/firmware_class
  F:    drivers/base/firmware_loader/
  F:    include/linux/firmware.h
  
 -FLASH ADAPTER DRIVER (IBM Flash Adapter 900GB Full Height PCI Flash Card)
 -M:    Joshua Morris <[email protected]>
 -M:    Philip Kelleher <[email protected]>
 -S:    Maintained
 -F:    drivers/block/rsxx/
 -
  FLEXTIMER FTM-QUADDEC DRIVER
  M:    Patrick Havelange <[email protected]>
  L:    [email protected]
@@@ -7580,7 -7511,6 +7580,7 @@@ F:      include/video
  FREESCALE CAAM (Cryptographic Acceleration and Assurance Module) DRIVER
  M:    Horia Geantă <[email protected]>
  M:    Pankaj Gupta <[email protected]>
 +M:    Gaurav Jain <[email protected]>
  L:    [email protected]
  S:    Maintained
  F:    Documentation/devicetree/bindings/crypto/fsl-sec4.txt
@@@ -8545,12 -8475,6 +8545,12 @@@ F:    drivers/hid
  F:    include/linux/hid*
  F:    include/uapi/linux/hid*
  
 +HID LOGITECH DRIVERS
 +R:    Filipe Laíns <[email protected]>
 +L:    [email protected]
 +S:    Maintained
 +F:    drivers/hid/hid-logitech-*
 +
  HID PLAYSTATION DRIVER
  M:    Roderick Colenbrander <[email protected]>
  L:    [email protected]
@@@ -8672,10 -8596,8 +8672,10 @@@ F:    drivers/misc/hisi_hikey_usb.
  
  HISILICON PMU DRIVER
  M:    Shaokun Zhang <[email protected]>
 +M:    Qi Liu <[email protected]>
  S:    Supported
  W:    http://www.hisilicon.com
 +F:    Documentation/admin-guide/perf/hisi-pcie-pmu.rst
  F:    Documentation/admin-guide/perf/hisi-pmu.rst
  F:    drivers/perf/hisilicon
  
@@@ -8706,7 -8628,6 +8706,7 @@@ F:      drivers/scsi/hisi_sas
  
  HISILICON SECURITY ENGINE V2 DRIVER (SEC2)
  M:    Zaibo Xu <[email protected]>
 +M:    Kai Ye <[email protected]>
  L:    [email protected]
  S:    Maintained
  F:    Documentation/ABI/testing/debugfs-hisi-sec
@@@ -9397,6 -9318,7 +9397,6 @@@ S:      Maintaine
  F:    drivers/iio/pressure/dps310.c
  
  INFINIBAND SUBSYSTEM
 -M:    Doug Ledford <[email protected]>
  M:    Jason Gunthorpe <[email protected]>
  L:    [email protected]
  S:    Supported
@@@ -9557,7 -9479,6 +9557,7 @@@ INTEL DRM DRIVERS (excluding Poulsbo, M
  M:    Jani Nikula <[email protected]>
  M:    Joonas Lahtinen <[email protected]>
  M:    Rodrigo Vivi <[email protected]>
 +M:    Tvrtko Ursulin <[email protected]>
  L:    [email protected]
  S:    Supported
  W:    https://01.org/linuxgraphics/
@@@ -9752,6 -9673,7 +9752,6 @@@ F:      Documentation/devicetree/bindings/cr
  F:    drivers/crypto/keembay/Kconfig
  F:    drivers/crypto/keembay/Makefile
  F:    drivers/crypto/keembay/keembay-ocs-ecc.c
 -F:    drivers/crypto/keembay/ocs-ecc-curve-defs.h
  
  INTEL KEEM BAY OCS HCU CRYPTO DRIVER
  M:    Daniele Alessandrelli <[email protected]>
@@@ -10347,9 -10269,9 +10347,9 @@@ F:   lib/Kconfig.kcsa
  F:    scripts/Makefile.kcsan
  
  KDUMP
 -M:    Dave Young <[email protected]>
  M:    Baoquan He <[email protected]>
  R:    Vivek Goyal <[email protected]>
 +R:    Dave Young <[email protected]>
  L:    [email protected]
  S:    Maintained
  W:    http://lse.sourceforge.net/kdump/
@@@ -10813,13 -10735,6 +10813,13 @@@ S: Maintaine
  W:    http://legousb.sourceforge.net/
  F:    drivers/usb/misc/legousbtower.c
  
 +LETSKETCH HID TABLET DRIVER
 +M:    Hans de Goede <[email protected]>
 +L:    [email protected]
 +S:    Maintained
 +T:    git git://git.kernel.org/pub/scm/linux/kernel/git/hid/hid.git
 +F:    drivers/hid/hid-letsketch.c
 +
  LG LAPTOP EXTRAS
  M:    Matan Ziv-Av <[email protected]>
  L:    [email protected]
@@@ -11608,12 -11523,6 +11608,12 @@@ S: Maintaine
  F:    Documentation/devicetree/bindings/media/i2c/maxim,max9286.yaml
  F:    drivers/media/i2c/max9286.c
  
 +MAX96712 QUAD GMSL2 DESERIALIZER DRIVER
 +M:    Niklas Söderlund <[email protected]>
 +L:    [email protected]
 +S:    Maintained
 +F:    drivers/staging/media/max96712/max96712.c
 +
  MAX9860 MONO AUDIO VOICE CODEC DRIVER
  M:    Peter Rosin <[email protected]>
  L:    [email protected] (moderated for non-subscribers)
@@@ -11649,13 -11558,6 +11649,13 @@@ S: Maintaine
  F:    Documentation/devicetree/bindings/power/supply/maxim,max17042.yaml
  F:    drivers/power/supply/max17042_battery.c
  
 +MAXIM MAX20086 CAMERA POWER PROTECTOR DRIVER
 +M:    Laurent Pinchart <[email protected]>
 +L:    [email protected]
 +S:    Maintained
 +F:    Documentation/devicetree/bindings/regulator/maxim,max20086.yaml
 +F:    drivers/regulator/max20086-regulator.c
 +
  MAXIM MAX77650 PMIC MFD DRIVER
  M:    Bartosz Golaszewski <[email protected]>
  L:    [email protected]
@@@ -11678,12 -11580,6 +11678,12 @@@ F: Documentation/devicetree/bindings/*/
  F:    drivers/regulator/max77802-regulator.c
  F:    include/dt-bindings/*/*max77802.h
  
 +MAXIM MAX77976 BATTERY CHARGER
 +M:    Luca Ceresoli <[email protected]>
 +S:    Supported
 +F:    Documentation/devicetree/bindings/power/supply/maxim,max77976.yaml
 +F:    drivers/power/supply/max77976_charger.c
 +
  MAXIM MUIC CHARGER DRIVERS FOR EXYNOS BASED BOARDS
  M:    Krzysztof Kozlowski <[email protected]>
  M:    Bartlomiej Zolnierkiewicz <[email protected]>
@@@ -11698,7 -11594,7 +11698,7 @@@ M:   Krzysztof Kozlowski <krzysztof.kozlo
  M:    Bartlomiej Zolnierkiewicz <[email protected]>
  L:    [email protected]
  S:    Supported
 -F:    Documentation/devicetree/bindings/*/max77686.txt
 +F:    Documentation/devicetree/bindings/*/maxim,max77686.yaml
  F:    Documentation/devicetree/bindings/clock/maxim,max77686.txt
  F:    Documentation/devicetree/bindings/mfd/max14577.txt
  F:    Documentation/devicetree/bindings/mfd/max77693.txt
@@@ -12273,8 -12169,8 +12273,8 @@@ F:   drivers/net/ethernet/mellanox/mlx5/c
  F:    include/linux/mlx5/mlx5_ifc_fpga.h
  
  MELLANOX ETHERNET SWITCH DRIVERS
 -M:    Jiri Pirko <[email protected]>
  M:    Ido Schimmel <[email protected]>
 +M:    Petr Machata <[email protected]>
  L:    [email protected]
  S:    Supported
  W:    http://www.mellanox.com
  S:    Maintained
  F:    drivers/net/ethernet/microchip/lan743x_*
  
 +MICROCHIP LAN966X ETHERNET DRIVER
 +M:    Horatiu Vultur <[email protected]>
 +M:    [email protected]
 +L:    [email protected]
 +S:    Maintained
 +F:    drivers/net/ethernet/microchip/lan966x/*
 +
  MICROCHIP LCDFB DRIVER
  M:    Nicolas Ferre <[email protected]>
  L:    [email protected]
@@@ -13349,7 -13238,7 +13349,7 @@@ F:   include/uapi/linux/if_
  F:    include/uapi/linux/netdevice.h
  
  NETWORKING DRIVERS (WIRELESS)
 -M:    Kalle Valo <kvalo@codeaurora.org>
 +M:    Kalle Valo <kvalo@kernel.org>
  L:    [email protected]
  S:    Maintained
  Q:    http://patchwork.kernel.org/project/linux-wireless/list/
@@@ -13886,13 -13775,6 +13886,13 @@@ S: Maintaine
  F:    Documentation/hwmon/nzxt-kraken2.rst
  F:    drivers/hwmon/nzxt-kraken2.c
  
 +NZXT-SMART2 HARDWARE MONITORING DRIVER
 +M:    Aleksandr Mezin <[email protected]>
 +L:    [email protected]
 +S:    Maintained
 +F:    Documentation/hwmon/nzxt-smart2.rst
 +F:    drivers/hwmon/nzxt-smart2.c
 +
  OBJAGG
  M:    Jiri Pirko <[email protected]>
  L:    [email protected]
@@@ -14205,6 -14087,7 +14205,6 @@@ F:   drivers/media/i2c/ov5647.
  
  OMNIVISION OV5670 SENSOR DRIVER
  M:    Chiranjeevi Rapolu <[email protected]>
 -M:    Hyungwoo Yang <[email protected]>
  L:    [email protected]
  S:    Maintained
  T:    git git://linuxtv.org/media_tree.git
@@@ -14217,13 -14100,6 +14217,13 @@@ S: Maintaine
  T:    git git://linuxtv.org/media_tree.git
  F:    drivers/media/i2c/ov5675.c
  
 +OMNIVISION OV5693 SENSOR DRIVER
 +M:    Daniel Scally <[email protected]>
 +L:    [email protected]
 +S:    Maintained
 +T:    git git://linuxtv.org/media_tree.git
 +F:    drivers/media/i2c/ov5693.c
 +
  OMNIVISION OV5695 SENSOR DRIVER
  M:    Shunqian Zheng <[email protected]>
  L:    [email protected]
@@@ -14959,7 -14835,7 +14959,7 @@@ PCIE DRIVER FOR MEDIATE
  M:    Ryder Lee <[email protected]>
  M:    Jianjun Wang <[email protected]>
  L:    [email protected]
 -L:    [email protected]
 +L:    [email protected] (moderated for non-subscribers)
  S:    Supported
  F:    Documentation/devicetree/bindings/pci/mediatek*
  F:    drivers/pci/controller/*mediatek*
@@@ -15010,7 -14886,7 +15010,7 @@@ F:   drivers/pci/controller/dwc/*spear
  PCMCIA SUBSYSTEM
  M:    Dominik Brodowski <[email protected]>
  S:    Odd Fixes
 -T:    git git://git.kernel.org/pub/scm/linux/kernel/git/brodo/pcmcia.git
 +T:    git git://git.kernel.org/pub/scm/linux/kernel/git/brodo/linux.git
  F:    Documentation/pcmcia/
  F:    drivers/pcmcia/
  F:    include/pcmcia/
  S:    Maintained
  F:    drivers/pinctrl/pinctrl-single.c
  
+ PIN CONTROLLER - THUNDERBAY
+ M:    Lakshmi Sowjanya D <[email protected]>
+ S:    Supported
+ F:    drivers/pinctrl/pinctrl-thunderbay.c
  PKTCDVD DRIVER
  M:    [email protected]
  S:    Orphan
@@@ -15453,7 -15334,6 +15458,7 @@@ M:   Sergey Senozhatsky <senozhatsky@chro
  R:    Steven Rostedt <[email protected]>
  R:    John Ogness <[email protected]>
  S:    Maintained
 +T:    git git://git.kernel.org/pub/scm/linux/kernel/git/printk/linux.git
  F:    include/linux/printk.h
  F:    kernel/printk/
  
@@@ -15819,7 -15699,7 +15824,7 @@@ T:   git git://linuxtv.org/anttip/media_t
  F:    drivers/media/tuners/qt1010*
  
  QUALCOMM ATHEROS ATH10K WIRELESS DRIVER
 -M:    Kalle Valo <kvalo@codeaurora.org>
 +M:    Kalle Valo <kvalo@kernel.org>
  L:    [email protected]
  S:    Supported
  W:    https://wireless.wiki.kernel.org/en/users/Drivers/ath10k
@@@ -15827,7 -15707,7 +15832,7 @@@ T:   git git://git.kernel.org/pub/scm/lin
  F:    drivers/net/wireless/ath/ath10k/
  
  QUALCOMM ATHEROS ATH11K WIRELESS DRIVER
 -M:    Kalle Valo <kvalo@codeaurora.org>
 +M:    Kalle Valo <kvalo@kernel.org>
  L:    [email protected]
  S:    Supported
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git
@@@ -15841,14 -15721,6 +15846,14 @@@ W: https://wireless.wiki.kernel.org/en/
  F:    Documentation/devicetree/bindings/net/wireless/qca,ath9k.yaml
  F:    drivers/net/wireless/ath/ath9k/
  
 +QUALCOMM BAM-DMUX WWAN NETWORK DRIVER
 +M:    Stephan Gerhold <[email protected]>
 +L:    [email protected]
 +L:    [email protected]
 +S:    Maintained
 +F:    Documentation/devicetree/bindings/net/qcom,bam-dmux.yaml
 +F:    drivers/net/wwan/qcom_bam_dmux.c
 +
  QUALCOMM CAMERA SUBSYSTEM DRIVER
  M:    Robert Foss <[email protected]>
  M:    Todor Tomov <[email protected]>
@@@ -15893,15 -15765,6 +15898,15 @@@ S: Maintaine
  F:    Documentation/devicetree/bindings/net/qcom,ethqos.txt
  F:    drivers/net/ethernet/stmicro/stmmac/dwmac-qcom-ethqos.c
  
 +QUALCOMM FASTRPC DRIVER
 +M:    Srinivas Kandagatla <[email protected]>
 +M:    Amol Maheshwari <[email protected]>
 +L:    [email protected]
 +S:    Maintained
 +F:    Documentation/devicetree/bindings/misc/qcom,fastrpc.txt
 +F:    drivers/misc/fastrpc.c
 +F:    include/uapi/misc/fastrpc.h
 +
  QUALCOMM GENERIC INTERFACE I2C DRIVER
  M:    Akash Asthana <[email protected]>
  M:    Mukesh Savaliya <[email protected]>
@@@ -16008,7 -15871,7 +16013,7 @@@ F:   Documentation/devicetree/bindings/me
  F:    drivers/media/platform/qcom/venus/
  
  QUALCOMM WCN36XX WIRELESS DRIVER
 -M:    Kalle Valo <kvalo@codeaurora.org>
 +M:    Kalle Valo <kvalo@kernel.org>
  L:    [email protected]
  S:    Supported
  W:    https://wireless.wiki.kernel.org/en/users/Drivers/wcn36xx
@@@ -16110,8 -15973,6 +16115,8 @@@ F:   arch/mips/generic/board-ranchu.
  
  RANDOM NUMBER DRIVER
  M:    "Theodore Ts'o" <[email protected]>
 +M:    Jason A. Donenfeld <[email protected]>
 +T:    git https://git.kernel.org/pub/scm/linux/kernel/git/crng/random.git
  S:    Maintained
  F:    drivers/char/random.c
  
@@@ -16419,14 -16280,6 +16424,14 @@@ S: Supporte
  F:    Documentation/devicetree/bindings/iio/adc/renesas,rzg2l-adc.yaml
  F:    drivers/iio/adc/rzg2l_adc.c
  
 +RENESAS R-CAR GEN3 & RZ/N1 NAND CONTROLLER DRIVER
 +M:    Miquel Raynal <[email protected]>
 +L:    [email protected]
 +L:    [email protected]
 +S:    Maintained
 +F:    Documentation/devicetree/bindings/mtd/renesas-nandc.yaml
 +F:    drivers/mtd/nand/raw/renesas-nand-controller.c
 +
  RESET CONTROLLER FRAMEWORK
  M:    Philipp Zabel <[email protected]>
  S:    Maintained
@@@ -16597,19 -16450,27 +16602,19 @@@ ROHM POWER MANAGEMENT IC DEVICE DRIVER
  R:    Matti Vaittinen <[email protected]>
  L:    [email protected]
  S:    Supported
 -F:    Documentation/devicetree/bindings/mfd/rohm,bd70528-pmic.txt
 -F:    Documentation/devicetree/bindings/regulator/rohm,bd70528-regulator.txt
  F:    drivers/clk/clk-bd718x7.c
 -F:    drivers/gpio/gpio-bd70528.c
  F:    drivers/gpio/gpio-bd71815.c
  F:    drivers/gpio/gpio-bd71828.c
 -F:    drivers/mfd/rohm-bd70528.c
  F:    drivers/mfd/rohm-bd71828.c
  F:    drivers/mfd/rohm-bd718x7.c
  F:    drivers/mfd/rohm-bd9576.c
 -F:    drivers/power/supply/bd70528-charger.c
 -F:    drivers/regulator/bd70528-regulator.c
  F:    drivers/regulator/bd71815-regulator.c
  F:    drivers/regulator/bd71828-regulator.c
  F:    drivers/regulator/bd718x7-regulator.c
  F:    drivers/regulator/bd9576-regulator.c
  F:    drivers/regulator/rohm-regulator.c
  F:    drivers/rtc/rtc-bd70528.c
 -F:    drivers/watchdog/bd70528_wdt.c
  F:    drivers/watchdog/bd9576_wdt.c
 -F:    include/linux/mfd/rohm-bd70528.h
  F:    include/linux/mfd/rohm-bd71815.h
  F:    include/linux/mfd/rohm-bd71828.h
  F:    include/linux/mfd/rohm-bd718x7.h
@@@ -16634,12 -16495,6 +16639,12 @@@ T: git git://linuxtv.org/media_tree.gi
  F:    Documentation/devicetree/bindings/media/allwinner,sun8i-a83t-de2-rotate.yaml
  F:    drivers/media/platform/sunxi/sun8i-rotate/
  
 +RPMSG TTY DRIVER
 +M:    Arnaud Pouliquen <[email protected]>
 +L:    [email protected]
 +S:    Maintained
 +F:    drivers/tty/rpmsg_tty.c
 +
  RTL2830 MEDIA DRIVER
  M:    Antti Palosaari <[email protected]>
  L:    [email protected]
@@@ -16761,8 -16616,8 +16766,8 @@@ W:   http://www.ibm.com/developerworks/li
  F:    drivers/iommu/s390-iommu.c
  
  S390 IUCV NETWORK LAYER
 -M:    Julian Wiedmann <jwi@linux.ibm.com>
 -M:    Karsten Graul <kgraul@linux.ibm.com>
 +M:    Alexandra Winter <wintera@linux.ibm.com>
 +M:    Wenjia Zhang <wenjia@linux.ibm.com>
  L:    [email protected]
  L:    [email protected]
  S:    Supported
@@@ -16772,8 -16627,8 +16777,8 @@@ F:   include/net/iucv
  F:    net/iucv/
  
  S390 NETWORK DRIVERS
 -M:    Julian Wiedmann <jwi@linux.ibm.com>
 -M:    Karsten Graul <kgraul@linux.ibm.com>
 +M:    Alexandra Winter <wintera@linux.ibm.com>
 +M:    Wenjia Zhang <wenjia@linux.ibm.com>
  L:    [email protected]
  L:    [email protected]
  S:    Supported
@@@ -16960,15 -16815,13 +16965,15 @@@ F:        Documentation/devicetree/bindings/ne
  F:    drivers/nfc/s3fwrn5
  
  SAMSUNG S5C73M3 CAMERA DRIVER
 -M:    Andrzej Hajda <[email protected]>
 +M:    Sylwester Nawrocki <[email protected]>
 +M:    Andrzej Hajda <[email protected]>
  L:    [email protected]
  S:    Supported
  F:    drivers/media/i2c/s5c73m3/*
  
  SAMSUNG S5K5BAF CAMERA DRIVER
 -M:    Andrzej Hajda <[email protected]>
 +M:    Sylwester Nawrocki <[email protected]>
 +M:    Andrzej Hajda <[email protected]>
  L:    [email protected]
  S:    Supported
  F:    drivers/media/i2c/s5k5baf.c
  S:    Maintained
  F:    drivers/mmc/host/sdhci-omap.c
  
 +SECURE DIGITAL HOST CONTROLLER INTERFACE (SDHCI) NXP i.MX DRIVER
 +M:    Haibo Chen <[email protected]>
 +L:    [email protected]
 +L:    [email protected]
 +S:    Maintained
 +F:    drivers/mmc/host/sdhci-esdhc-imx.c
 +
  SECURE ENCRYPTING DEVICE (SED) OPAL DRIVER
  M:    Jonathan Derrick <[email protected]>
  M:    Revanth Rajashekar <[email protected]>
@@@ -17556,7 -17402,7 +17561,7 @@@ F:   drivers/video/fbdev/sm712
  SILVACO I3C DUAL-ROLE MASTER
  M:    Miquel Raynal <[email protected]>
  M:    Conor Culhane <[email protected]>
 -L:    [email protected]
 +L:    [email protected] (moderated for non-subscribers)
  S:    Maintained
  F:    Documentation/devicetree/bindings/i3c/silvaco,i3c-master.yaml
  F:    drivers/i3c/master/svc-i3c-master.c
@@@ -17799,17 -17645,12 +17804,17 @@@ F:        drivers/firmware/arm_sdei.
  F:    include/linux/arm_sdei.h
  F:    include/uapi/linux/arm_sdei.h
  
 -SOFTWARE NODES
 +SOFTWARE NODES AND DEVICE PROPERTIES
  R:    Andy Shevchenko <[email protected]>
 +R:    Daniel Scally <[email protected]>
  R:    Heikki Krogerus <[email protected]>
 +R:    Sakari Ailus <[email protected]>
  L:    [email protected]
  S:    Maintained
 +F:    drivers/base/property.c
  F:    drivers/base/swnode.c
 +F:    include/linux/fwnode.h
 +F:    include/linux/property.h
  
  SOFTWARE RAID (Multiple Disks) SUPPORT
  M:    Song Liu <[email protected]>
@@@ -18094,8 -17935,8 +18099,8 @@@ F:   drivers/pinctrl/spear
  
  SPI NOR SUBSYSTEM
  M:    Tudor Ambarus <[email protected]>
 +M:    Pratyush Yadav <[email protected]>
  R:    Michael Walle <[email protected]>
 -R:    Pratyush Yadav <[email protected]>
  L:    [email protected]
  S:    Maintained
  W:    http://www.linux-mtd.infradead.org/
@@@ -18294,28 -18135,6 +18299,28 @@@ M: Ion Badulescu <[email protected]
  S:    Odd Fixes
  F:    drivers/net/ethernet/adaptec/starfire*
  
 +STARFIVE JH7100 CLOCK DRIVER
 +M:    Emil Renner Berthing <[email protected]>
 +S:    Maintained
 +F:    Documentation/devicetree/bindings/clock/starfive,jh7100-clkgen.yaml
 +F:    drivers/clk/starfive/clk-starfive-jh7100.c
 +F:    include/dt-bindings/clock/starfive-jh7100.h
 +
 +STARFIVE JH7100 PINCTRL DRIVER
 +M:    Emil Renner Berthing <[email protected]>
 +L:    [email protected]
 +S:    Maintained
 +F:    Documentation/devicetree/bindings/pinctrl/starfive,jh7100-pinctrl.yaml
 +F:    drivers/pinctrl/pinctrl-starfive.c
 +F:    include/dt-bindings/pinctrl/pinctrl-starfive.h
 +
 +STARFIVE JH7100 RESET CONTROLLER DRIVER
 +M:    Emil Renner Berthing <[email protected]>
 +S:    Maintained
 +F:    Documentation/devicetree/bindings/reset/starfive,jh7100-reset.yaml
 +F:    drivers/reset/reset-starfive-jh7100.c
 +F:    include/dt-bindings/reset/starfive-jh7100.h
 +
  STATIC BRANCH/CALL
  M:    Peter Zijlstra <[email protected]>
  M:    Josh Poimboeuf <[email protected]>
@@@ -18477,7 -18296,6 +18482,7 @@@ M:   Vineet Gupta <[email protected]
  L:    [email protected]
  S:    Supported
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc.git
 +F:    Documentation/arc/
  F:    Documentation/devicetree/bindings/arc/*
  F:    Documentation/devicetree/bindings/interrupt-controller/snps,arc*
  F:    arch/arc/
@@@ -18670,7 -18488,6 +18675,7 @@@ F:   include/uapi/linux/pkt_sched.
  F:    include/uapi/linux/tc_act/
  F:    include/uapi/linux/tc_ematch/
  F:    net/sched/
 +F:    tools/testing/selftests/tc-testing
  
  TC90522 MEDIA DRIVER
  M:    Akihiro Tsukada <[email protected]>
@@@ -19219,12 -19036,11 +19224,12 @@@ F:        drivers/mmc/host/tifm_sd.
  F:    include/linux/tifm.h
  
  TI KEYSTONE MULTICORE NAVIGATOR DRIVERS
 +M:    Nishanth Menon <[email protected]>
  M:    Santosh Shilimkar <[email protected]>
  L:    [email protected]
  L:    [email protected] (moderated for non-subscribers)
  S:    Maintained
 -T:    git git://git.kernel.org/pub/scm/linux/kernel/git/ssantosh/linux-keystone.git
 +T:    git git://git.kernel.org/pub/scm/linux/kernel/git/ti/linux.git
  F:    drivers/soc/ti/*
  
  TI LM49xxx FAMILY ASoC CODEC DRIVERS
@@@ -19495,6 -19311,12 +19500,6 @@@ W:  https://github.com/srcres258/linux-d
  T:    git git://github.com/srcres258/linux-doc.git doc-zh-tw
  F:    Documentation/translations/zh_TW/
  
 -TRIVIAL PATCHES
 -M:    Jiri Kosina <[email protected]>
 -S:    Maintained
 -T:    git git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial.git
 -K:    ^Subject:.*(?i)trivial
 -
  TTY LAYER
  M:    Greg Kroah-Hartman <[email protected]>
  M:    Jiri Slaby <[email protected]>
@@@ -19599,7 -19421,6 +19604,7 @@@ S:   Supporte
  W:    http://www.linux-mtd.infradead.org/doc/ubifs.html
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/rw/ubifs.git next
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/rw/ubifs.git fixes
 +F:    Documentation/ABI/testing/sysfs-fs-ubifs
  F:    Documentation/filesystems/ubifs-authentication.rst
  F:    Documentation/filesystems/ubifs.rst
  F:    fs/ubifs/
@@@ -20351,8 -20172,6 +20356,8 @@@ F:   include/uapi/linux/virtio_gpio.
  VIRTIO GPU DRIVER
  M:    David Airlie <[email protected]>
  M:    Gerd Hoffmann <[email protected]>
 +R:    Gurchetan Singh <[email protected]>
 +R:    Chia-I Wu <[email protected]>
  L:    [email protected]
  L:    [email protected]
  S:    Maintained
@@@ -20586,7 -20405,7 +20591,7 @@@ M:   Sergey Senozhatsky <senozhatsky@chro
  R:    Andy Shevchenko <[email protected]>
  R:    Rasmus Villemoes <[email protected]>
  S:    Maintained
 -T:    git git://git.kernel.org/pub/scm/linux/kernel/git/pmladek/printk.git
 +T:    git git://git.kernel.org/pub/scm/linux/kernel/git/printk/linux.git
  F:    Documentation/core-api/printk-formats.rst
  F:    lib/test_printf.c
  F:    lib/test_scanf.c
@@@ -20854,13 -20673,6 +20859,13 @@@ S: Maintaine
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git x86/mm
  F:    arch/x86/mm/
  
 +X86 PLATFORM ANDROID TABLETS DSDT FIXUP DRIVER
 +M:    Hans de Goede <[email protected]>
 +L:    [email protected]
 +S:    Maintained
 +T:    git git://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86.git
 +F:    drivers/platform/x86/x86-android-tablets.c
 +
  X86 PLATFORM DRIVERS
  M:    Hans de Goede <[email protected]>
  M:    Mark Gross <[email protected]>
@@@ -21224,7 -21036,7 +21229,7 @@@ S:   Maintaine
  F:    arch/x86/kernel/cpu/zhaoxin.c
  
  ZONEFS FILESYSTEM
 -M:    Damien Le Moal <[email protected]>
 +M:    Damien Le Moal <damien.lemoal@opensource.wdc.com>
  M:    Naohiro Aota <[email protected]>
  R:    Johannes Thumshirn <[email protected]>
  L:    [email protected]
diff --combined drivers/pinctrl/Kconfig
index 0d5b61e4c21e5bafe96296be0147ef0d3cb0c3e1,c27c9ee89f0e083e071c79abf151904b17fbfe4f..6fc56d6598e2e5030b36f1b7cd0ad0eb97a4032b
@@@ -31,6 -31,24 +31,24 @@@ config DEBUG_PINCTR
        help
          Say Y here to add some extra checks and diagnostics to PINCTRL calls.
  
+ config PINCTRL_AMD
+       tristate "AMD GPIO pin control"
+       depends on HAS_IOMEM
+       depends on ACPI || COMPILE_TEST
+       select GPIOLIB
+       select GPIOLIB_IRQCHIP
+       select PINMUX
+       select PINCONF
+       select GENERIC_PINCONF
+       help
+         The driver for memory mapped GPIO functionality on AMD platforms
+         (x86 or arm). Most of the pins are usually muxed to some other
+         functionality by firmware, so only a small amount is available
+         for GPIO use.
+         Requires ACPI/FDT device enumeration code to set up a platform
+         device.
  config PINCTRL_APPLE_GPIO
        tristate "Apple SoC GPIO pin controller driver"
        depends on ARCH_APPLE
@@@ -69,20 -87,6 +87,6 @@@ config PINCTRL_AS372
          open drain configuration for the GPIO pins of AS3722 devices. It also
          supports the GPIO functionality through gpiolib.
  
- config PINCTRL_AXP209
-       tristate "X-Powers AXP209 PMIC pinctrl and GPIO Support"
-       depends on MFD_AXP20X
-       depends on OF
-       select PINMUX
-       select GENERIC_PINCONF
-       select GPIOLIB
-       help
-         AXP PMICs provides multiple GPIOs that can be muxed for different
-         functions. This driver bundles a pinctrl driver to select the function
-         muxing and a GPIO driver to handle the GPIO when the GPIO function is
-         selected.
-         Say yes to enable pinctrl and GPIO support for the AXP209 PMIC
  config PINCTRL_AT91
        bool "AT91 pinctrl driver"
        depends on OF
@@@ -109,23 -113,19 +113,19 @@@ config PINCTRL_AT91PIO
          Say Y here to enable the at91 pinctrl/gpio driver for Atmel PIO4
          controller available on sama5d2 SoC.
  
- config PINCTRL_AMD
-       tristate "AMD GPIO pin control"
-       depends on HAS_IOMEM
-       depends on ACPI || COMPILE_TEST
-       select GPIOLIB
-       select GPIOLIB_IRQCHIP
+ config PINCTRL_AXP209
+       tristate "X-Powers AXP209 PMIC pinctrl and GPIO Support"
+       depends on MFD_AXP20X
+       depends on OF
        select PINMUX
-       select PINCONF
        select GENERIC_PINCONF
+       select GPIOLIB
        help
-         driver for memory mapped GPIO functionality on AMD platforms
-         (x86 or arm).Most pins are usually muxed to some other
-         functionality by firmware,so only a small amount is available
-         for gpio use.
-         Requires ACPI/FDT device enumeration code to set up a platform
-         device.
+         AXP PMICs provides multiple GPIOs that can be muxed for different
+         functions. This driver bundles a pinctrl driver to select the function
+         muxing and a GPIO driver to handle the GPIO when the GPIO function is
+         selected.
+         Say Y to enable pinctrl and GPIO support for the AXP209 PMIC.
  
  config PINCTRL_BM1880
        bool "Bitmain BM1880 Pinctrl driver"
          Pinctrl driver for Bitmain BM1880 SoC.
  
  config PINCTRL_DA850_PUPD
-       tristate "TI DA850/OMAP-L138/AM18XX pullup/pulldown groups"
+       tristate "TI DA850/OMAP-L138/AM18XX pull-up and pull-down groups"
        depends on OF && (ARCH_DAVINCI_DA850 || COMPILE_TEST)
        select PINCONF
        select GENERIC_PINCONF
        help
          Driver for TI DA850/OMAP-L138/AM18XX pinconf. Used to control
-         pullup/pulldown pin groups.
+         pull-up and pull-down pin groups.
  
  config PINCTRL_DA9062
        tristate "Dialog Semiconductor DA9062 PMIC pinctrl and GPIO Support"
          function muxing and a GPIO driver to handle the GPIO when the GPIO
          function is selected.
  
-         Say yes to enable pinctrl and GPIO support for the DA9062 PMIC.
+         Say Y to enable pinctrl and GPIO support for the DA9062 PMIC.
  
  config PINCTRL_DIGICOLOR
        bool
        select PINMUX
        select GENERIC_PINCONF
  
+ config PINCTRL_EQUILIBRIUM
+       tristate "Generic pinctrl and GPIO driver for Intel Lightning Mountain SoC"
+       depends on OF && HAS_IOMEM
+       depends on X86 || COMPILE_TEST
+       select PINMUX
+       select PINCONF
+       select GPIOLIB
+       select GPIO_GENERIC
+       select GPIOLIB_IRQCHIP
+       select GENERIC_PINCONF
+       select GENERIC_PINCTRL_GROUPS
+       select GENERIC_PINMUX_FUNCTIONS
+       help
+         Equilibrium driver is a pinctrl and GPIO driver for Intel Lightning
+         Mountain network processor SoC that supports both the GPIO and pin
+         control frameworks. It provides interfaces to setup pin muxing, assign
+         desired pin functions, configure GPIO attributes for LGM SoC pins.
+         Pin muxing and pin config settings are retrieved from device tree.
+ config PINCTRL_GEMINI
+       bool
+       depends on ARCH_GEMINI
+       default ARCH_GEMINI
+       select PINMUX
+       select GENERIC_PINCONF
+       select MFD_SYSCON
+ config PINCTRL_INGENIC
+       bool "Pinctrl driver for the Ingenic JZ47xx SoCs"
+       default MACH_INGENIC
+       depends on OF
+       depends on MIPS || COMPILE_TEST
+       select GENERIC_PINCONF
+       select GENERIC_PINCTRL_GROUPS
+       select GENERIC_PINMUX_FUNCTIONS
+       select GPIOLIB
+       select GPIOLIB_IRQCHIP
+       select REGMAP_MMIO
+ config PINCTRL_K210
+       bool "Pinctrl driver for the Canaan Kendryte K210 SoC"
+       depends on RISCV && SOC_CANAAN && OF
+       select GENERIC_PINMUX_FUNCTIONS
+       select GENERIC_PINCONF
+       select GPIOLIB
+       select OF_GPIO
+       select REGMAP_MMIO
+       default SOC_CANAAN
+       help
+         Add support for the Canaan Kendryte K210 RISC-V SOC Field
+         Programmable IO Array (FPIOA) controller.
+ config PINCTRL_KEEMBAY
+       tristate "Pinctrl driver for Intel Keem Bay SoC"
+       depends on ARCH_KEEMBAY || (ARM64 && COMPILE_TEST)
+       depends on HAS_IOMEM
+       select PINMUX
+       select PINCONF
+       select GENERIC_PINCONF
+       select GENERIC_PINCTRL_GROUPS
+       select GENERIC_PINMUX_FUNCTIONS
+       select GPIOLIB
+       select GPIOLIB_IRQCHIP
+       select GPIO_GENERIC
+       help
+         This selects pin control driver for the Intel Keem Bay SoC.
+         It provides pin config functions such as pull-up, pull-down,
+         interrupt, drive strength, sec lock, Schmitt trigger, slew
+         rate control and direction control. This module will be
+         called as pinctrl-keembay.
  config PINCTRL_LANTIQ
        bool
        depends on LANTIQ
        select PINMUX
        select PINCONF
  
+ config PINCTRL_FALCON
+       bool
+       depends on SOC_FALCON
+       depends on PINCTRL_LANTIQ
+ config PINCTRL_XWAY
+       bool
+       depends on SOC_TYPE_XWAY
+       depends on PINCTRL_LANTIQ
  config PINCTRL_LPC18XX
        bool "NXP LPC18XX/43XX SCU pinctrl driver"
        depends on OF && (ARCH_LPC18XX || COMPILE_TEST)
        help
          Pinctrl driver for NXP LPC18xx/43xx System Control Unit (SCU).
  
- config PINCTRL_FALCON
-       bool
-       depends on SOC_FALCON
-       depends on PINCTRL_LANTIQ
- config PINCTRL_GEMINI
-       bool
-       depends on ARCH_GEMINI
-       default ARCH_GEMINI
+ config PINCTRL_MAX77620
+       tristate "MAX77620/MAX20024 Pincontrol support"
+       depends on MFD_MAX77620 && OF
        select PINMUX
        select GENERIC_PINCONF
-       select MFD_SYSCON
+       help
+         Say Y here to enable Pin control support for Maxim MAX77620 PMIC.
+         This PMIC has 8 GPIO pins that work as GPIO as well as special
+         function in alternate mode. This driver also configure push-pull,
+         open drain, FPS slots etc.
  
  config PINCTRL_MCP23S08_I2C
        tristate
@@@ -212,6 -291,37 +291,37 @@@ config PINCTRL_MCP23S0
          This provides a GPIO interface supporting inputs and outputs and a
          corresponding interrupt-controller.
  
+ config PINCTRL_MICROCHIP_SGPIO
+       bool "Pinctrl driver for Microsemi/Microchip Serial GPIO"
+       depends on OF
+       depends on HAS_IOMEM
+       select GPIOLIB
+       select GPIOLIB_IRQCHIP
+       select GENERIC_PINCONF
+       select GENERIC_PINCTRL_GROUPS
+       select GENERIC_PINMUX_FUNCTIONS
+       select OF_GPIO
+       help
+         Support for the serial GPIO interface used on Microsemi and
+         Microchip SoCs. By using a serial interface, the SIO
+         controller significantly extends the number of available
+         GPIOs with a minimum number of additional pins on the
+         device. The primary purpose of the SIO controller is to
+         connect control signals from SFP modules and to act as an
+         LED controller.
+ config PINCTRL_OCELOT
+       bool "Pinctrl driver for the Microsemi Ocelot and Jaguar2 SoCs"
+       depends on OF
+       depends on HAS_IOMEM
+       select GPIOLIB
+       select GPIOLIB_IRQCHIP
+       select GENERIC_PINCONF
+       select GENERIC_PINCTRL_GROUPS
+       select GENERIC_PINMUX_FUNCTIONS
+       select OF_GPIO
+       select REGMAP_MMIO
  config PINCTRL_OXNAS
        bool
        depends on OF
        select GPIOLIB_IRQCHIP
        select MFD_SYSCON
  
+ config PINCTRL_PALMAS
+       tristate "Pinctrl driver for the PALMAS Series MFD devices"
+       depends on OF && MFD_PALMAS
+       select PINMUX
+       select GENERIC_PINCONF
+       help
+         Palmas device supports the configuration of pins for different
+         functionality. This driver supports the pinmux, push-pull and
+         open drain configuration for the Palmas series devices like
+         TPS65913, TPS80036 etc.
+ config PINCTRL_PIC32
+       bool "Microchip PIC32 pin controller driver"
+       depends on OF
+       depends on MACH_PIC32
+       select PINMUX
+       select GENERIC_PINCONF
+       select GPIOLIB_IRQCHIP
+       select OF_GPIO
+       help
+         This is the pin controller and gpio driver for Microchip PIC32
+         microcontrollers. This option is selected automatically when specific
+         machine and arch are selected to build.
+ config PINCTRL_PIC32MZDA
+       def_bool y if PIC32MZDA
+       select PINCTRL_PIC32
+ config PINCTRL_PISTACHIO
+       bool "IMG Pistachio SoC pinctrl driver"
+       depends on OF && (MIPS || COMPILE_TEST)
+       depends on GPIOLIB
+       select PINMUX
+       select GENERIC_PINCONF
+       select GPIOLIB_IRQCHIP
+       select OF_GPIO
+       help
+         This support pinctrl and GPIO driver for IMG Pistachio SoC.
+ config PINCTRL_RK805
+       tristate "Pinctrl and GPIO driver for RK805 PMIC"
+       depends on MFD_RK808
+       select GPIOLIB
+       select PINMUX
+       select GENERIC_PINCONF
+       help
+         This selects the pinctrl driver for RK805.
  config PINCTRL_ROCKCHIP
        tristate "Rockchip gpio and pinctrl driver"
        depends on ARCH_ROCKCHIP || COMPILE_TEST
        select OF_GPIO
        default ARCH_ROCKCHIP
        help
-           This support pinctrl and gpio driver for Rockchip SoCs.
+           This support pinctrl and GPIO driver for Rockchip SoCs.
  
  config PINCTRL_SINGLE
        tristate "One-register-per-pin type device tree based pinctrl driver"
        help
          This selects the device tree based generic pinctrl driver.
  
- config PINCTRL_SX150X
-       bool "Semtech SX150x I2C GPIO expander pinctrl driver"
-       depends on I2C=y
-       select PINMUX
-       select PINCONF
-       select GENERIC_PINCONF
-       select GPIOLIB
-       select GPIOLIB_IRQCHIP
-       select REGMAP
-       help
-         Say yes here to provide support for Semtech SX150x-series I2C
-         GPIO expanders as pinctrl module.
-         Compatible models include:
-         - 8 bits:  sx1508q, sx1502q
-         - 16 bits: sx1509q, sx1506q
- config PINCTRL_PISTACHIO
-       bool "IMG Pistachio SoC pinctrl driver"
-       depends on OF && (MIPS || COMPILE_TEST)
-       depends on GPIOLIB
-       select PINMUX
-       select GENERIC_PINCONF
-       select GPIOLIB_IRQCHIP
-       select OF_GPIO
-     help
-         This support pinctrl and gpio driver for IMG Pistachio SoC.
  config PINCTRL_ST
        bool
        depends on OF
        select PINCONF
        select GPIOLIB_IRQCHIP
  
 +config PINCTRL_STARFIVE
 +      tristate "Pinctrl and GPIO driver for the StarFive JH7100 SoC"
 +      depends on SOC_STARFIVE || COMPILE_TEST
 +      depends on OF
 +      default SOC_STARFIVE
 +      select GENERIC_PINCTRL_GROUPS
 +      select GENERIC_PINMUX_FUNCTIONS
 +      select GENERIC_PINCONF
 +      select GPIOLIB
 +      select GPIOLIB_IRQCHIP
 +      select OF_GPIO
 +      help
 +        Say yes here to support pin control on the StarFive JH7100 SoC.
 +        This also provides an interface to the GPIO pins not used by other
 +        peripherals supporting inputs, outputs, configuring pull-up/pull-down
 +        and interrupts on input changes.
 +
  config PINCTRL_STMFX
        tristate "STMicroelectronics STMFX GPIO expander pinctrl driver"
        depends on I2C
          and configuring push-pull, open-drain, and can also be used as
          interrupt-controller.
  
- config PINCTRL_MAX77620
-       tristate "MAX77620/MAX20024 Pincontrol support"
-       depends on MFD_MAX77620 && OF
+ config PINCTRL_SX150X
+       bool "Semtech SX150x I2C GPIO expander pinctrl driver"
+       depends on I2C=y
        select PINMUX
+       select PINCONF
        select GENERIC_PINCONF
+       select GPIOLIB
+       select GPIOLIB_IRQCHIP
+       select REGMAP
        help
-         Say Yes here to enable Pin control support for Maxim PMIC MAX77620.
-         This PMIC has 8 GPIO pins that work as GPIO as well as special
-         function in alternate mode. This driver also configure push-pull,
-         open drain, FPS slots etc.
+         Say Y here to provide support for Semtech SX150x-series I2C
+         GPIO expanders as pinctrl module.
+         Compatible models include:
+         - 8 bits:  sx1508q, sx1502q
+         - 16 bits: sx1509q, sx1506q
  
- config PINCTRL_PALMAS
-       tristate "Pinctrl driver for the PALMAS Series MFD devices"
-       depends on OF && MFD_PALMAS
-       select PINMUX
-       select GENERIC_PINCONF
-       help
-         Palmas device supports the configuration of pins for different
-         functionality. This driver supports the pinmux, push-pull and
-         open drain configuration for the Palmas series devices like
-         TPS65913, TPS80036 etc.
+ config PINCTRL_TB10X
+       bool
+       depends on OF && ARC_PLAT_TB10X
+       select GPIOLIB
  
- config PINCTRL_PIC32
-       bool "Microchip PIC32 pin controller driver"
-       depends on OF
-       depends on MACH_PIC32
+ config PINCTRL_THUNDERBAY
+       tristate "Generic pinctrl and GPIO driver for Intel Thunder Bay SoC"
+       depends on ARCH_THUNDERBAY || (ARM64 && COMPILE_TEST)
+       depends on HAS_IOMEM
        select PINMUX
+       select PINCONF
        select GENERIC_PINCONF
+       select GENERIC_PINCTRL_GROUPS
+       select GENERIC_PINMUX_FUNCTIONS
+       select GPIOLIB
        select GPIOLIB_IRQCHIP
-       select OF_GPIO
+       select GPIO_GENERIC
        help
-         This is the pin controller and gpio driver for Microchip PIC32
-         microcontrollers. This option is selected automatically when specific
-         machine and arch are selected to build.
- config PINCTRL_PIC32MZDA
-       def_bool y if PIC32MZDA
-       select PINCTRL_PIC32
+         This selects pin control driver for the Intel Thunder Bay SoC.
+         It provides pin config functions such as pull-up, pull-down,
+         interrupt, drive strength, sec lock, Schmitt trigger, slew
+         rate control and direction control. This module will be
+         called as pinctrl-thunderbay.
  
  config PINCTRL_ZYNQ
        bool "Pinctrl driver for Xilinx Zynq"
@@@ -375,96 -490,15 +507,15 @@@ config PINCTRL_ZYNQM
          This driver can also be built as a module. If so, the module
          will be called pinctrl-zynqmp.
  
- config PINCTRL_INGENIC
-       bool "Pinctrl driver for the Ingenic JZ47xx SoCs"
-       default MACH_INGENIC
-       depends on OF
-       depends on MIPS || COMPILE_TEST
-       select GENERIC_PINCONF
-       select GENERIC_PINCTRL_GROUPS
-       select GENERIC_PINMUX_FUNCTIONS
-       select GPIOLIB
-       select GPIOLIB_IRQCHIP
-       select REGMAP_MMIO
- config PINCTRL_RK805
-       tristate "Pinctrl and GPIO driver for RK805 PMIC"
-       depends on MFD_RK808
-       select GPIOLIB
-       select PINMUX
-       select GENERIC_PINCONF
-       help
-         This selects the pinctrl driver for RK805.
- config PINCTRL_OCELOT
-       bool "Pinctrl driver for the Microsemi Ocelot and Jaguar2 SoCs"
-       depends on OF
-       depends on HAS_IOMEM
-       select GPIOLIB
-       select GPIOLIB_IRQCHIP
-       select GENERIC_PINCONF
-       select GENERIC_PINCTRL_GROUPS
-       select GENERIC_PINMUX_FUNCTIONS
-       select OF_GPIO
-       select REGMAP_MMIO
- config PINCTRL_MICROCHIP_SGPIO
-       bool "Pinctrl driver for Microsemi/Microchip Serial GPIO"
-       depends on OF
-       depends on HAS_IOMEM
-       select GPIOLIB
-       select GPIOLIB_IRQCHIP
-       select GENERIC_PINCONF
-       select GENERIC_PINCTRL_GROUPS
-       select GENERIC_PINMUX_FUNCTIONS
-       select OF_GPIO
-       help
-         Support for the serial GPIO interface used on Microsemi and
-         Microchip SoC's. By using a serial interface, the SIO
-         controller significantly extends the number of available
-         GPIOs with a minimum number of additional pins on the
-         device. The primary purpose of the SIO controller is to
-         connect control signals from SFP modules and to act as an
-         LED controller.
- config PINCTRL_K210
-       bool "Pinctrl driver for the Canaan Kendryte K210 SoC"
-       depends on RISCV && SOC_CANAAN && OF
-       select GENERIC_PINMUX_FUNCTIONS
-       select GENERIC_PINCONF
-       select GPIOLIB
-       select OF_GPIO
-       select REGMAP_MMIO
-       default SOC_CANAAN
-       help
-         Add support for the Canaan Kendryte K210 RISC-V SOC Field
-         Programmable IO Array (FPIOA) controller.
- config PINCTRL_KEEMBAY
-       tristate "Pinctrl driver for Intel Keem Bay SoC"
-       depends on ARCH_KEEMBAY || (ARM64 && COMPILE_TEST)
-       depends on HAS_IOMEM
-       select PINMUX
-       select PINCONF
-       select GENERIC_PINCONF
-       select GENERIC_PINCTRL_GROUPS
-       select GENERIC_PINMUX_FUNCTIONS
-       select GPIOLIB
-       select GPIOLIB_IRQCHIP
-       select GPIO_GENERIC
-       help
-         This selects pin control driver for the Intel Keembay SoC.
-         It provides pin config functions such as pullup, pulldown,
-         interrupt, drive strength, sec lock, schmitt trigger, slew
-         rate control and direction control. This module will be
-         called as pinctrl-keembay.
  source "drivers/pinctrl/actions/Kconfig"
  source "drivers/pinctrl/aspeed/Kconfig"
  source "drivers/pinctrl/bcm/Kconfig"
  source "drivers/pinctrl/berlin/Kconfig"
+ source "drivers/pinctrl/cirrus/Kconfig"
  source "drivers/pinctrl/freescale/Kconfig"
  source "drivers/pinctrl/intel/Kconfig"
+ source "drivers/pinctrl/mediatek/Kconfig"
+ source "drivers/pinctrl/meson/Kconfig"
  source "drivers/pinctrl/mvebu/Kconfig"
  source "drivers/pinctrl/nomadik/Kconfig"
  source "drivers/pinctrl/nuvoton/Kconfig"
@@@ -480,40 -514,7 +531,7 @@@ source "drivers/pinctrl/sunxi/Kconfig
  source "drivers/pinctrl/tegra/Kconfig"
  source "drivers/pinctrl/ti/Kconfig"
  source "drivers/pinctrl/uniphier/Kconfig"
- source "drivers/pinctrl/vt8500/Kconfig"
- source "drivers/pinctrl/mediatek/Kconfig"
- source "drivers/pinctrl/meson/Kconfig"
- source "drivers/pinctrl/cirrus/Kconfig"
  source "drivers/pinctrl/visconti/Kconfig"
- config PINCTRL_XWAY
-       bool
-       depends on SOC_TYPE_XWAY
-       depends on PINCTRL_LANTIQ
- config PINCTRL_TB10X
-       bool
-       depends on OF && ARC_PLAT_TB10X
-       select GPIOLIB
- config PINCTRL_EQUILIBRIUM
-       tristate "Generic pinctrl and GPIO driver for Intel Lightning Mountain SoC"
-       depends on OF && HAS_IOMEM
-       depends on X86 || COMPILE_TEST
-       select PINMUX
-       select PINCONF
-       select GPIOLIB
-       select GPIO_GENERIC
-       select GPIOLIB_IRQCHIP
-       select GENERIC_PINCONF
-       select GENERIC_PINCTRL_GROUPS
-       select GENERIC_PINMUX_FUNCTIONS
-       help
-         Equilibrium pinctrl driver is a pinctrl & GPIO driver for Intel Lightning
-         Mountain network processor SoC that supports both the linux GPIO and pin
-         control frameworks. It provides interfaces to setup pinmux, assign desired
-         pin functions, configure GPIO attributes for LGM SoC pins. Pinmux and
-         pinconf settings are retrieved from device tree.
+ source "drivers/pinctrl/vt8500/Kconfig"
  
  endif
diff --combined drivers/pinctrl/Makefile
index f5bdd6b209a6f131741b1ae24acfc6d79a608a47,6be6c3fc666310782db7abc13535d949367339f6..08c364d611f5ae3ead1a6cef898067639cfd4895
@@@ -6,57 -6,59 +6,60 @@@ subdir-ccflags-$(CONFIG_DEBUG_PINCTRL)        
  obj-y                         += core.o pinctrl-utils.o
  obj-$(CONFIG_PINMUX)          += pinmux.o
  obj-$(CONFIG_PINCONF)         += pinconf.o
- obj-$(CONFIG_OF)              += devicetree.o
  obj-$(CONFIG_GENERIC_PINCONF) += pinconf-generic.o
+ obj-$(CONFIG_OF)              += devicetree.o
+ obj-$(CONFIG_PINCTRL_AMD)     += pinctrl-amd.o
  obj-$(CONFIG_PINCTRL_APPLE_GPIO) += pinctrl-apple-gpio.o
  obj-$(CONFIG_PINCTRL_ARTPEC6) += pinctrl-artpec6.o
  obj-$(CONFIG_PINCTRL_AS3722)  += pinctrl-as3722.o
- obj-$(CONFIG_PINCTRL_AXP209)  += pinctrl-axp209.o
  obj-$(CONFIG_PINCTRL_AT91)    += pinctrl-at91.o
  obj-$(CONFIG_PINCTRL_AT91PIO4)        += pinctrl-at91-pio4.o
- obj-$(CONFIG_PINCTRL_AMD)     += pinctrl-amd.o
+ obj-$(CONFIG_PINCTRL_AXP209)  += pinctrl-axp209.o
  obj-$(CONFIG_PINCTRL_BM1880)  += pinctrl-bm1880.o
  obj-$(CONFIG_PINCTRL_DA850_PUPD) += pinctrl-da850-pupd.o
  obj-$(CONFIG_PINCTRL_DA9062)  += pinctrl-da9062.o
  obj-$(CONFIG_PINCTRL_DIGICOLOR)       += pinctrl-digicolor.o
- obj-$(CONFIG_PINCTRL_FALCON)  += pinctrl-falcon.o
+ obj-$(CONFIG_PINCTRL_EQUILIBRIUM)   += pinctrl-equilibrium.o
  obj-$(CONFIG_PINCTRL_GEMINI)  += pinctrl-gemini.o
+ obj-$(CONFIG_PINCTRL_INGENIC) += pinctrl-ingenic.o
+ obj-$(CONFIG_PINCTRL_K210)    += pinctrl-k210.o
+ obj-$(CONFIG_PINCTRL_KEEMBAY) += pinctrl-keembay.o
+ obj-$(CONFIG_PINCTRL_LANTIQ)  += pinctrl-lantiq.o
+ obj-$(CONFIG_PINCTRL_FALCON)  += pinctrl-falcon.o
+ obj-$(CONFIG_PINCTRL_XWAY)    += pinctrl-xway.o
+ obj-$(CONFIG_PINCTRL_LPC18XX) += pinctrl-lpc18xx.o
  obj-$(CONFIG_PINCTRL_MAX77620)        += pinctrl-max77620.o
  obj-$(CONFIG_PINCTRL_MCP23S08_I2C)    += pinctrl-mcp23s08_i2c.o
  obj-$(CONFIG_PINCTRL_MCP23S08_SPI)    += pinctrl-mcp23s08_spi.o
  obj-$(CONFIG_PINCTRL_MCP23S08)        += pinctrl-mcp23s08.o
- obj-$(CONFIG_PINCTRL_MESON)   += meson/
+ obj-$(CONFIG_PINCTRL_MICROCHIP_SGPIO) += pinctrl-microchip-sgpio.o
+ obj-$(CONFIG_PINCTRL_OCELOT)  += pinctrl-ocelot.o
  obj-$(CONFIG_PINCTRL_OXNAS)   += pinctrl-oxnas.o
  obj-$(CONFIG_PINCTRL_PALMAS)  += pinctrl-palmas.o
  obj-$(CONFIG_PINCTRL_PIC32)   += pinctrl-pic32.o
  obj-$(CONFIG_PINCTRL_PISTACHIO)       += pinctrl-pistachio.o
+ obj-$(CONFIG_PINCTRL_RK805)   += pinctrl-rk805.o
  obj-$(CONFIG_PINCTRL_ROCKCHIP)        += pinctrl-rockchip.o
  obj-$(CONFIG_PINCTRL_SINGLE)  += pinctrl-single.o
- obj-$(CONFIG_PINCTRL_SX150X)  += pinctrl-sx150x.o
- obj-$(CONFIG_ARCH_TEGRA)      += tegra/
- obj-$(CONFIG_PINCTRL_XWAY)    += pinctrl-xway.o
- obj-$(CONFIG_PINCTRL_LANTIQ)  += pinctrl-lantiq.o
- obj-$(CONFIG_PINCTRL_LPC18XX) += pinctrl-lpc18xx.o
- obj-$(CONFIG_PINCTRL_TB10X)   += pinctrl-tb10x.o
- obj-$(CONFIG_PINCTRL_ST)      += pinctrl-st.o
 +obj-$(CONFIG_PINCTRL_STARFIVE)        += pinctrl-starfive.o
  obj-$(CONFIG_PINCTRL_STMFX)   += pinctrl-stmfx.o
- obj-$(CONFIG_PINCTRL_ZYNQ)    += pinctrl-zynq.o
+ obj-$(CONFIG_PINCTRL_ST)      += pinctrl-st.o
+ obj-$(CONFIG_PINCTRL_SX150X)  += pinctrl-sx150x.o
+ obj-$(CONFIG_PINCTRL_TB10X)   += pinctrl-tb10x.o
+ obj-$(CONFIG_PINCTRL_THUNDERBAY) += pinctrl-thunderbay.o
  obj-$(CONFIG_PINCTRL_ZYNQMP)  += pinctrl-zynqmp.o
- obj-$(CONFIG_PINCTRL_INGENIC) += pinctrl-ingenic.o
- obj-$(CONFIG_PINCTRL_RK805)   += pinctrl-rk805.o
- obj-$(CONFIG_PINCTRL_OCELOT)  += pinctrl-ocelot.o
- obj-$(CONFIG_PINCTRL_MICROCHIP_SGPIO) += pinctrl-microchip-sgpio.o
- obj-$(CONFIG_PINCTRL_EQUILIBRIUM)   += pinctrl-equilibrium.o
- obj-$(CONFIG_PINCTRL_K210)    += pinctrl-k210.o
- obj-$(CONFIG_PINCTRL_KEEMBAY) += pinctrl-keembay.o
+ obj-$(CONFIG_PINCTRL_ZYNQ)    += pinctrl-zynq.o
  
  obj-y                         += actions/
  obj-$(CONFIG_ARCH_ASPEED)     += aspeed/
  obj-y                         += bcm/
  obj-$(CONFIG_PINCTRL_BERLIN)  += berlin/
+ obj-y                         += cirrus/
  obj-y                         += freescale/
  obj-$(CONFIG_X86)             += intel/
+ obj-y                         += mediatek/
+ obj-$(CONFIG_PINCTRL_MESON)   += meson/
  obj-y                         += mvebu/
  obj-y                         += nomadik/
  obj-$(CONFIG_ARCH_NPCM7XX)    += nuvoton/
@@@ -69,9 -71,8 +72,8 @@@ obj-$(CONFIG_PINCTRL_SPEAR)   += spear
  obj-y                         += sprd/
  obj-$(CONFIG_PINCTRL_STM32)   += stm32/
  obj-$(CONFIG_PINCTRL_SUNXI)   += sunxi/
+ obj-$(CONFIG_ARCH_TEGRA)      += tegra/
  obj-y                         += ti/
  obj-$(CONFIG_PINCTRL_UNIPHIER)        += uniphier/
- obj-$(CONFIG_ARCH_VT8500)     += vt8500/
- obj-y                         += mediatek/
- obj-y                         += cirrus/
  obj-$(CONFIG_PINCTRL_VISCONTI)        += visconti/
+ obj-$(CONFIG_ARCH_VT8500)     += vt8500/
index b607d10e4cbd84f96a96a6b03cbf373014ac07e9,ae8b6ad2ea513f7a540f3185819315efed752110..c4ebfa852b4249f7edbd14cc0b1256112815fed2
@@@ -313,7 -313,10 +313,10 @@@ static inline void bcm2835_pinctrl_fsel
  
  static int bcm2835_gpio_direction_input(struct gpio_chip *chip, unsigned offset)
  {
-       return pinctrl_gpio_direction_input(chip->base + offset);
+       struct bcm2835_pinctrl *pc = gpiochip_get_data(chip);
+       bcm2835_pinctrl_fsel_set(pc, offset, BCM2835_FSEL_GPIO_IN);
+       return 0;
  }
  
  static int bcm2835_gpio_get(struct gpio_chip *chip, unsigned offset)
@@@ -348,8 -351,11 +351,11 @@@ static void bcm2835_gpio_set(struct gpi
  static int bcm2835_gpio_direction_output(struct gpio_chip *chip,
                unsigned offset, int value)
  {
-       bcm2835_gpio_set(chip, offset, value);
-       return pinctrl_gpio_direction_output(chip->base + offset);
+       struct bcm2835_pinctrl *pc = gpiochip_get_data(chip);
+       bcm2835_gpio_set_bit(pc, value ? GPSET0 : GPCLR0, offset);
+       bcm2835_pinctrl_fsel_set(pc, offset, BCM2835_FSEL_GPIO_OUT);
+       return 0;
  }
  
  static const struct gpio_chip bcm2835_gpio_chip = {
@@@ -407,7 -413,7 +413,7 @@@ static void bcm2835_gpio_irq_handler(st
        struct bcm2835_pinctrl *pc = gpiochip_get_data(chip);
        struct irq_chip *host_chip = irq_desc_get_chip(desc);
        int irq = irq_desc_get_irq(desc);
-       int group;
+       int group = 0;
        int i;
  
        for (i = 0; i < BCM2835_NUM_IRQS; i++) {
@@@ -1222,7 -1228,6 +1228,6 @@@ static int bcm2835_pinctrl_probe(struc
  
        pc->gpio_chip = *pdata->gpio_chip;
        pc->gpio_chip.parent = dev;
-       pc->gpio_chip.of_node = np;
  
        for (i = 0; i < BCM2835_NUM_BANKS; i++) {
                unsigned long events;
                raw_spin_lock_init(&pc->irq_lock[i]);
        }
  
 +      pc->pctl_desc = *pdata->pctl_desc;
 +      pc->pctl_dev = devm_pinctrl_register(dev, &pc->pctl_desc, pc);
 +      if (IS_ERR(pc->pctl_dev)) {
 +              gpiochip_remove(&pc->gpio_chip);
 +              return PTR_ERR(pc->pctl_dev);
 +      }
 +
 +      pc->gpio_range = *pdata->gpio_range;
 +      pc->gpio_range.base = pc->gpio_chip.base;
 +      pc->gpio_range.gc = &pc->gpio_chip;
 +      pinctrl_add_gpio_range(pc->pctl_dev, &pc->gpio_range);
 +
        girq = &pc->gpio_chip.irq;
        girq->chip = &bcm2835_gpio_irq_chip;
        girq->parent_handler = bcm2835_gpio_irq_handler;
        girq->parents = devm_kcalloc(dev, BCM2835_NUM_IRQS,
                                     sizeof(*girq->parents),
                                     GFP_KERNEL);
 -      if (!girq->parents)
 +      if (!girq->parents) {
 +              pinctrl_remove_gpio_range(pc->pctl_dev, &pc->gpio_range);
                return -ENOMEM;
 +      }
  
        if (is_7211) {
                pc->wake_irq = devm_kcalloc(dev, BCM2835_NUM_IRQS,
        err = gpiochip_add_data(&pc->gpio_chip, pc);
        if (err) {
                dev_err(dev, "could not add GPIO chip\n");
 +              pinctrl_remove_gpio_range(pc->pctl_dev, &pc->gpio_range);
                return err;
        }
  
 -      pc->pctl_desc = *pdata->pctl_desc;
 -      pc->pctl_dev = devm_pinctrl_register(dev, &pc->pctl_desc, pc);
 -      if (IS_ERR(pc->pctl_dev)) {
 -              gpiochip_remove(&pc->gpio_chip);
 -              return PTR_ERR(pc->pctl_dev);
 -      }
 -
 -      pc->gpio_range = *pdata->gpio_range;
 -      pc->gpio_range.base = pc->gpio_chip.base;
 -      pc->gpio_range.gc = &pc->gpio_chip;
 -      pinctrl_add_gpio_range(pc->pctl_dev, &pc->gpio_range);
 -
        return 0;
  }
  
index 53779822348da7cf6fdfe9c225647ecb11d82c8f,bd5d7d63e877bb56e1edff67c4a6f5094dabe682..e1ae3beb9f72b07ab9977259f4fd78979242e140
@@@ -285,12 -285,8 +285,12 @@@ static int mtk_xt_get_gpio_n(void *data
        desc = (const struct mtk_pin_desc *)hw->soc->pins;
        *gpio_chip = &hw->chip;
  
 -      /* Be greedy to guess first gpio_n is equal to eint_n */
 -      if (desc[eint_n].eint.eint_n == eint_n)
 +      /*
 +       * Be greedy to guess first gpio_n is equal to eint_n.
 +       * Only eint virtual eint number is greater than gpio number.
 +       */
 +      if (hw->soc->npins > eint_n &&
 +          desc[eint_n].eint.eint_n == eint_n)
                *gpio_n = eint_n;
        else
                *gpio_n = mtk_xt_find_eint_num(hw, eint_n);
@@@ -815,6 -811,8 +815,8 @@@ static int mtk_pinconf_bias_get_rsel(st
                goto out;
  
        err = mtk_hw_get_value(hw, desc, PINCTRL_PIN_REG_PD, &pd);
+       if (err)
+               goto out;
  
        if (pu == 0 && pd == 0) {
                *pullup = 0;
This page took 0.204663 seconds and 4 git commands to generate.