Skip to content
  • Linus Torvalds's avatar
    Merge tag 'gpio-v3.17-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio · 06b49ea4
    Linus Torvalds authored
    Pull GPIO update from Linus Walleij:
     "This is the bulk of GPIO changes for the v3.17 development cycle, and
      this time we got a lot of action going on and it will continue:
    
       - The core GPIO library implementation has been split up in three
         different files:
         - gpiolib.c for the latest and greatest and shiny GPIO library code
           using GPIO descriptors only
         - gpiolib-legacy.c for the old integer number space API that we are
           phasing out gradually
         - gpiolib-sysfs.c for the sysfs interface that we are not entirely
           happy with, but has to live on for ABI compatibility
    
       - Add a flags argument to *gpiod_get* functions, with some
         backward-compatibility macros to ease transitions.  We should have
         had the flags there from the beginning it seems, now we need to
         clean up the mess.  There is a plan on how to move forward here
         devised by Alexandre Courbot and Mark Brown
    
       - Split off a special <linux/gpio/machine.h> header for the board
         gpio table registration, as per example from the regulator
         subsystem
    
       - Start to kill off the return value from gpiochip_remove() by
         removing the __must_check attribute and removing all checks inside
         the drivers/gpio directory.  The rationale is: well what were we
         supposed to do if there is an error code? Not much: print an error
         message.  And gpiolib already does that.  So make this function
         return void eventually
    
       - Some cleanups of hairy gpiolib code, make some functions not to be
         used outside the library private and make sure they are not
         exported, remove gpiod_lock/unlock_as_irq() as the existing
         function is for driver-internal use and fine as it is, delete
         gpio_ensure_requested() as it is not meaningful anymore
    
       - Support the GPIOF_ACTIVE_LOW flag from gpio_request_one() function
         calls, which is logical since this is already supported when
         referencing GPIOs from e.g. device trees
    
       - Switch STMPE, intel-mid, lynxpoint and ACPI (!) to use the gpiolib
         irqchip helpers cutting down on GPIO irqchip boilerplate a bit more
    
       - New driver for the Zynq GPIO block
    
       - The usual incremental improvements around a bunch of drivers
    
       - Janitorial syntactic and semantic cleanups by Jingoo Han, and
         Rickard Strandqvist especially"
    
    * tag 'gpio-v3.17-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio: (37 commits)
      MAINTAINERS: update GPIO include files
      gpio: add missing includes in machine.h
      gpio: add flags argument to gpiod_get*() functions
      MAINTAINERS: Update Samsung pin control entry
      gpio / ACPI: Move event handling registration to gpiolib irqchip helpers
      gpio: lynxpoint: Convert to use gpiolib irqchip
      gpio: split gpiod board registration into machine header
      gpio: remove gpio_ensure_requested()
      gpio: remove useless check in gpiolib_sysfs_init()
      gpiolib: Export gpiochip_request_own_desc and gpiochip_free_own_desc
      gpio: move gpio_ensure_requested() into legacy C file
      gpio: remove gpiod_lock/unlock_as_irq()
      gpio: make gpiochip_get_desc() gpiolib-private
      gpio: simplify gpiochip_export()
      gpio: remove export of private of_get_named_gpio_flags()
      gpio: Add support for GPIOF_ACTIVE_LOW to gpio_request_one functions
      gpio: zynq: Clear pending interrupt when enabling a IRQ
      gpio: drop retval check enforcing from gpiochip_remove()
      gpio: remove all usage of gpio_remove retval in driver/gpio
      devicetree: Add Zynq GPIO devicetree bindings documentation
      ...
    06b49ea4