• Linus Torvalds's avatar
    Merge tag 'pinctrl-v4.11-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl · 5ab35662
    Linus Torvalds authored
    Pull pin control updates from Linus Walleij:
     "Pin control bulk changes for the v4.11 kernel cycle.
    
      Core changes:
    
       - Switch the generic pin config argument from 16 to 24 bits, only use
         8 bits for the configuration type. We might need to encode more
         information about a certain setting than we need to encode
         different generic settings.
    
       - Add a cross-talk API to the pin control GPIO back-end, utilizing
         pinctrl_gpio_set_config() from GPIO drivers that want to set up a
         certain pin configuration in the back-end.
    
         This also includes the .set_config() refactoring of the GPIO chips,
         so that they pass a generic configuration for things like
         debouncing and single ended (typically open drain). This change has
         also been merged in an immutable branch to the GPIO tree.
    
       - Take hogs with a delayed work, so that we finalize probing a pin
         controller before trying to get any hogs.
    
       - For pin controllers putting all group and function definitions into
         the device tree, we now have generic code to deal with this and it
         is used in two drivers so far.
    
       - Simplifications of the pin request conflict check.
    
       - Make dt_free_map() optional.
    
      Updates to drivers:
    
       - pinctrl-single now use the generic helpers to generate dynamic
         group and function tables from the device tree.
    
       - Texas Instruments IOdelay configuration driver add-on to
         pinctrl-single.
    
       - i.MX: use radix trees to store groups and functions, use the new
         generic group and function helpers to manage them.
    
       - Intel: add support for hardware debouncing and 1K pull-down. New
         subdriver for the Gemini Lake SoC.
    
       - Renesas SH-PFC: drive strength and bias support, CAN bus muxing,
         MSIOF, SDHI, HSCIF for r8a7796. Gyro-ADC supporton r8a7791.
    
       - Aspeed: use syscon cross-dependencies to set up related bits in the
         LPC host controller and display controller.
    
       - Aspeed: finalize G4 and G5 support. Fix mux configuration on GPIOs.
         Add banks Y, Z, AA, AB and AC.
    
       - AMD: support additional GPIO.
    
       - STM32: set this controller to strict muxing mode. STM32H743 MCU
         support.
    
       - Allwinner sunxi: deep simplifications on how to support subvariants
         of SoCs without adding to much SoC-specific data for each
         subvariant, especially for sun5i variants. New driver for V3s SoCs.
         New driver for the H5 SoC. Support A31/A31s variants with the new
         variant framework.
    
       - Mvebu: simplifications to use a MMIO and regmap abstraction. New
         subdrivers for the 98DX3236, 98DX5241 SoCs.
    
       - Samsung Exynos: delete Exynos4415 support. Add crosstalk to the SoC
         driver to access regmaps. Add infrastructure for pin-bank retention
         control. Clean out the pin retention control from
         arch/arm/mach-exynos and arch/arm/mach-s5p and put it properly in
         the Samsung pin control driver(s).
    
       - Meson: add HDMI HPD/DDC pins. Add pwm_ao_b pin.
    
       - Qualcomm: use raw spinlock variants: this makes the qualcomm driver
         realtime-safe"
    
    * tag 'pinctrl-v4.11-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl: (111 commits)
      pinctrl: samsung: Fix return value check in samsung_pinctrl_get_soc_data()
      pinctrl: intel: unlock on error in intel_config_set_pull()
      pinctrl: berlin: make bool drivers explicitly non-modular
      pinctrl: spear: make bool drivers explicitly non-modular
      pinctrl: mvebu: make bool drivers explicitly non-modular
      pinctrl: sunxi: make sun5i explicitly non-modular
      pinctrl: sunxi: Remove stray printk call in sun5i driver's probe function
      pinctrl: samsung: mark PM functions as __maybe_unused
      pinctrl: sunxi: Remove redundant A31s pinctrl driver
      pinctrl: sunxi: Support A31/A31s with pinctrl variants
      pinctrl: Amend bindings for STM32 pinctrl
      pinctrl: Add STM32 pinctrl driver DT bindings
      pinctrl: stm32: Add STM32H743 MCU support
      include: dt-bindings: Add STM32H7 pinctrl DT defines
      gpio: aspeed: Remove dependence on GPIOF_* macros
      pinctrl: stm32: fix bad location of gpiochip_lock_as_irq
      drivers: pinctrl: add driver for Allwinner H5 SoC
      pinctrl: intel: Add Intel Gemini Lake pin controller support
      pinctrl: intel: Add support for 1k additional pull-down
      pinctrl: intel: Add support for hardware debouncer
      ...
    5ab35662
pinctrl-sunxi.c 33.9 KB