• Linus Torvalds's avatar
    Merge tag 'gpio-updates-for-v6.8-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux · 576db734
    Linus Torvalds authored
    Pull gpio updates from Bartosz Golaszewski:
     "We have two new drivers, an assortment of updates and cleanups to many
      others, and first part of the big rework of the core GPIOLIB that's
      currently underway.
    
      Add to that some code shrink in the character device module and
      updates to DT bindings and that's pretty much it.
    
      Core GPIOLIB:
       - protect the global list of GPIO devices with a read-write semaphore
         as it is rarely modified but can be traversed by multiple readers
         at once
       - remove GPIO devices from the global list when they are
         *unregistered* and not when they are *released* (which only happens
         when the last reference is dropped) as this may lead to a
         successful lookup of an unregistered device
       - remove the unnecessary "extra_checks" switch
       - rename functions that are called with a lock taken
       - remove duplicate includes
    
      Character device handling:
       - use locking guards to reduce the code size
       - allocate the big linereq structure using the more suitable
         kvzalloc()
       - redulce the size of critical sections
       - improve documentation
       - move the debounce_period_us field out of struct gpio_desc
    
      New drivers:
       - Nuvoton NPCM SGPIO driver for BMC NPCM7xx/NPCM8xx
       - Realtek DHC (Digital Home Center) SoC GPIO driver
    
      Driver improvements:
       - replace gpiochip_is_requested() with a safer alternative in the
         form of gpiochip_dup_line_label() as the former returns a pointer
         to a string that can be deleted
       - implement the dbg_show() callback in gpio-sim
       - improve the coding style for local variables by removing
         unnecessary tabs
       - use generic device properties instead of OF variants in gpio-mmio
       - use the preferred coding style for __free() in gpio-mockup
       - reuse PM ops from the gpio-tangier in gpio-elkhartlake
       - rework PM and use cleanup helpers in gpio-tangier
       - fix the EIC configuration in gpio-pmic-eic-sprd
       - remove the unneeded call to platform_set_drvdata() in gpio-sifive
       - use generic GPIO helpers for driver callbacks in gpio-dwapb
       - add clock support on certain pins of gpio-ixp4xx
       - don't use the core-specific DEBUG_GPIO switch in drivers
       - kerneldoc improvements
    
      DT bindings:
       - add bindings for the new Realtek and Nuvoton devices
       - allow gpio-ranges in gpio-dwapb
       - support GPIO hogs in gpio-rockchip
       - describe the label property in gpio-zynqmp-modepin
    
      Other:
       - header cleanups
       - forward declarations cleanups"
    
    * tag 'gpio-updates-for-v6.8-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux: (55 commits)
      gpiolib: replace the GPIO device mutex with a read-write semaphore
      gpiolib: remove the GPIO device from the list when it's unregistered
      gpio: nuvoton: Add Nuvoton NPCM sgpio driver
      dt-bindings: gpio: add NPCM sgpio driver bindings
      gpio: rtd: Add support for Realtek DHC(Digital Home Center) RTD SoCs
      dt-bindings: gpio: realtek: Add realtek,rtd-gpio
      gpio: pmic-eic-sprd: Configure the bit corresponding to the EIC through offset
      gpio: dwapb: Use generic request, free and set_config
      gpio: sysfs: drop tabs from local variable declarations
      gpiolib: drop tabs from local variable declarations
      gpiolib: remove extra_checks
      gpio: tps65219: don't use CONFIG_DEBUG_GPIO
      gpiolib: cdev: replace locking wrappers for gpio_device with guards
      gpiolib: cdev: replace locking wrappers for config_mutex with guards
      gpiolib: cdev: allocate linereq using kvzalloc()
      gpiolib: cdev: include overflow.h
      gpiolib: cdev: reduce locking in gpio_desc_to_lineinfo()
      gpiolib: cdev: improve documentation of get/set values
      gpiolib: cdev: fully adopt guard() and scoped_guard()
      gpiolib: remove debounce_period_us from struct gpio_desc
      ...
    576db734
property.h 19.2 KB