• Linus Torvalds's avatar
    Merge tag 'gpio-v4.1-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio · 510965dd
    Linus Torvalds authored
    Pull GPIO updates from Linus Walleij:
     "This is the bulk of GPIO changes for the v4.1 development cycle:
    
       - A new GPIO hogging mechanism has been added.  This can be used on
         boards that want to drive some GPIO line high, low, or set it as
         input on boot and then never touch it again.  For some embedded
         systems this is bliss and simplifies things to a great extent.
    
       - Some API cleanup and closure: gpiod_get_array() and
         gpiod_put_array() has been added to get and put GPIOs in bulk as
         was possible with the non-descriptor API.
    
       - Encapsulate cross-calls to the pin control subsystem in
         <linux/gpio/driver.h>.  Now this should be the only header any GPIO
         driver needs to include or something is wrong.  Cleanups
         restricting drivers to this include are welcomed if tested.
    
       - Sort the GPIO Kconfig and split it into submenus, as it was
         becoming and unstructured, illogical and unnavigatable mess.  I
         hope this is easier to follow.  Menus that require a certain
         subsystem like I2C can now be hidden nicely for example, still
         working on others.
    
       - New drivers:
    
           - New driver for the Altera Soft GPIO.
    
           - The F7188x driver now handles the F71869 and F71869A variants.
    
           - The MIPS Loongson driver has been moved to drivers/gpio for
             consolidation and cleanup.
    
       - Cleanups:
    
           - The MAX732x is converted to use the GPIOLIB_IRQCHIP
             infrastructure.
    
           - The PCF857x is converted to use the GPIOLIB_IRQCHIP
             infrastructure.
    
           - Radical cleanup of the OMAP driver.
    
       - Misc:
    
           - Enable the DWAPB GPIO for all architectures.  This is a "hard
             IP" block from Synopsys which has started to turn up in so
             diverse architectures as X86 Quark, ARC and a slew of ARM
             systems.  So even though it's not an expander, it's generic
             enough to be available for all.
    
           - We add a mock GPIO on Crystalcove PMIC after a long discussion
             with Daniel Vetter et al, tracing back to the shootout at the
             kernel summit where DRM drivers and sub-componentization was
             discussed.  In this case a mock GPIO is assumed to be the best
             compromise gaining some reuse of infrastructure without making
             DRM drivers overly complex at the same time.  Let's see"
    
    * tag 'gpio-v4.1-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio: (62 commits)
      Revert "gpio: sch: use uapi/linux/pci_ids.h directly"
      gpio: dwapb: remove dependencies
      gpio: dwapb: enable for ARC
      gpio: removing kfree remove functionality
      gpio: mvebu: Fix mask/unmask managment per irq chip type
      gpio: split GPIO drivers in submenus
      gpio: move MFD GPIO drivers under their own comment
      gpio: move BCM Kona Kconfig option
      gpio: arrange SPI Kconfig symbols alphabetically
      gpio: arrange PCI GPIO controllers alphabetically
      gpio: arrange I2C Kconfig symbols alphabetically
      gpio: arrange Kconfig symbols alphabetically
      gpio: ich: Implement get_direction function
      gpio: use (!foo) instead of (foo == NULL)
      gpio: arizona: drop owner assignment from platform_drivers
      gpio: max7300: remove 'ret' variable
      gpio: use devm_kzalloc
      gpio: sch: use uapi/linux/pci_ids.h directly
      gpio: x-gene: fix devm_ioremap_resource() check
      gpio: loongson: Add Loongson-3A/3B GPIO driver support
      ...
    510965dd
gpiolib.h 5.16 KB