• Linus Torvalds's avatar
    Merge tag 'gpio-updates-for-v6.2' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux · c0f234ff
    Linus Torvalds authored
    Pull gpio updates from Bartosz Golaszewski:
     "We have a new GPIO multiplexer driver, bunch of driver updates and
      refactoring in the core GPIO library.
    
      GPIO core:
       - teach gpiolib to work with software nodes for HW description
       - remove ARCH_NR_GPIOS treewide as we no longer impose any limit on
         the number of GPIOS since the allocation became entirely dynamic
       - add support for HW quirks for Cirrus CS42L56 codec, Marvell NFC
         controller, Freescale PCIe and Ethernet controller, Himax LCDs and
         Mediatek mt2701
       - refactor OF quirk code
       - some general refactoring of the OF and ACPI code, adding new
         helpers, minor tweaks and fixes, making fwnode usage consistent
         etc.
    
      GPIO uAPI:
       - fix an issue where the user-space can trigger a NULL-pointer
         dereference in the kernel by opening a device file, forcing a
         driver unbind and then calling one of the syscalls on the
         associated file descriptor
    
      New drivers:
       - add gpio-latch: a new GPIO multiplexer based on latches connected
         to other GPIOs
    
      Driver updates:
       - convert i2c GPIO expanders to using .probe_new()
       - drop the gpio-sta2x11 driver
       - factor out common code for the ACCES IDIO-16 family of controllers
         and use this new library wherever applicable in drivers
       - add DT support to gpio-hisi
       - allow building gpio-davinci as a module and increase its maxItems
         property
       - add support for a new model to gpio-pca9570
       - other minor changes to various drivers"
    
    * tag 'gpio-updates-for-v6.2' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux: (66 commits)
      gpio: sim: set a limit on the number of GPIOs
      gpiolib: protect the GPIO device against being dropped while in use by user-space
      gpiolib: cdev: fix NULL-pointer dereferences
      gpiolib: Provide to_gpio_device() helper
      gpiolib: Unify access to the device properties
      gpio: Do not include <linux/kernel.h> when not really needed.
      gpio: pcf857x: Convert to i2c's .probe_new()
      gpio: pca953x: Convert to i2c's .probe_new()
      gpio: max732x: Convert to i2c's .probe_new()
      dt-bindings: gpio: gpio-davinci: Increase maxItems in gpio-line-names
      gpiolib: ensure that fwnode is properly set
      gpio: sl28cpld: Replace irqchip mask_invert with unmask_base
      gpiolib: of: Use correct fwnode for DT-probed chips
      gpiolib: of: Drop redundant check in of_mm_gpiochip_remove()
      gpiolib: of: Prepare of_mm_gpiochip_add_data() for fwnode
      gpiolib: add support for software nodes
      gpiolib: consolidate GPIO lookups
      gpiolib: acpi: avoid leaking ACPI details into upper gpiolib layers
      gpiolib: acpi: teach acpi_find_gpio() to handle data-only nodes
      gpiolib: acpi: change acpi_find_gpio() to accept firmware node
      ...
    c0f234ff
Kconfig 101 KB