• Linus Torvalds's avatar
    Merge tag 'gpio-v4.11-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio · 1ec5c186
    Linus Torvalds authored
    Pull GPIO updates from Linus Walleij:
     "This is the bulk of GPIO changes for the v4.11 cycle
    
      Core changes:
    
       - Augment fwnode_get_named_gpiod() to configure the GPIO pin
         immediately after requesting it like all other APIs do. This is a
         treewide change also updating all users.
    
       - Pass a GPIO label down to gpiod_request() from
         fwnode_get_named_gpiod(). This makes debugfs and the userspace ABI
         correctly reflect the current in-kernel consumer of a pin taken
         using this abstraction. This is a treewide change also updating all
         users.
    
       - Rename devm_get_gpiod_from_child() to
         devm_fwnode_get_gpiod_from_child() to reflect the fact that this
         function is operating on a fwnode object. This is a treewide change
         also updating all users.
    
       - Make it possible to take multiple GPIOs in a single hog of device
         tree hogs.
    
       - The refactorings switching GPIO chips to use the .set_config()
         callback using standard pin control properties and providing a
         backend into the pin control subsystem that were also merged into
         the pin control tree naturally appear here too.
    
      Testing instrumentation:
    
       - A whole slew of cleanups and improvements to the mockup GPIO
         driver. We now have an extended userspace test exercising the
         subsystem, and we can inject interrupts etc from userspace to fully
         test the core GPIO functionality.
    
      New drivers:
    
       - New driver for the Cortina Systems Gemini GPIO controller.
    
       - New driver for the Exar XR17V352/354/358 chips.
    
       - New driver for the ACCES PCI-IDIO-16 PCI GPIO card.
    
      Driver changes:
    
       - RCAR: set the irqchip parent device, add fine-grained runtime PM
         support.
    
       - pca953x: support optional RESET control line on the chip.
    
       - DaVinci: cleanups and simplifications. Add support for multiple
         instances.
    
       - .set_multiple() and naming of lines on more or less all of the
         ISA/PCI GPIO controllers.
    
       - mcp23s08: refactored to use regmap as a first step to further
         rewrites and modernizations"
    
    * tag 'gpio-v4.11-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio: (61 commits)
      gpio: reintroduce devm_get_gpiod_from_child()
      gpio: pci-idio-16: Fix PCI BAR index
      gpio: pci-idio-16: Fix PCI device ID code
      gpio: mockup: implement event injecting over debugfs
      gpio: mockup: add a dummy irqchip
      gpio: mockup: implement naming the lines
      gpio: mockup: code shrink
      gpio: mockup: readability tweaks
      gpio: Add GPIO support for the ACCES PCI-IDIO-16
      gpio: Add the devm_fwnode_get_index_gpiod_from_child() helper
      gpio: Rename devm_get_gpiod_from_child()
      gpio: mcp23s08: Select REGMAP/REGMAP_I2C to fix build error
      gpio: ws16c48: Add support for GPIO names
      gpio: gpio-mm: Add support for GPIO names
      gpio: 104-idio-16: Add support for GPIO names
      gpio: 104-idi-48: Add support for GPIO names
      gpio: 104-dio-48e: Add support for GPIO names
      gpio: ws16c48: Remove unnecessary driver_data set
      gpio: gpio-mm: Remove unnecessary driver_data set
      gpio: 104-idio-16: Remove unnecessary driver_data set
      ...
    1ec5c186
gpio_keys.c 22.6 KB