• Linus Torvalds's avatar
    Merge tag 'gpio-v5.10-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio · 0486beaf
    Linus Torvalds authored
    Pull GPIO updates from Linus Walleij:
     "This time very little driver changes but lots of core changes.
    
      We have some interesting cooperative work for ARM and Intel alike,
      making the GPIO subsystem more and more suitable for industrial
      systems and the like, in addition to the in-kernel users.
    
      We touch driver core (device properties) and lib/* by adding one
      simple string array free function, these are authored by Andy
      Shevchenko who is a well known and recognized core helpers maintainers
      so this should be fine.
    
      We also see some Android GKI-related modularization in the MXC
      drivers.
    
      Core changes:
    
       - The big core change is the updated (v2) userspace character device
         API.
    
         This corrects badly designed 64-bit alignment around the line
         events. We also add the debounce request feature. This echoes the
         often quotes passage from Frederick Brooks "The mythical man-month"
         to always throw one away, which we have seen before in things such
         as V4L2. So we put in a new one and deprecate and obsolete the old
         one.
    
       - All example tools in tools/gpio/* are migrated to the new API to
         set a good example. The libgpiod userspace library has been
         augmented to use this new API pretty much from day 1.
    
       - Some misc API hardening by using strn* function calls has been
         added as well.
    
       - Use the simpler IDA interface for GPIO chip instance enumeration.
    
       - Add device core function for counting string arrays in device
         properties.
    
       - Provide a generic library function kfree_strarray() that can be
         used throughout the kernel.
    
      Driver enhancements:
    
       - The DesignWare dwapb-gpio driver has been enhanced and now uses the
         IRQ handling in the gpiolib core.
    
       - The mockup and aggregator drivers have seen some substantial code
         clean-up and now use more of the core kernel inftrastructure.
    
       - Misc cleanups using dev_err_probe().
    
       - The MXC drivers (Freescale/NXP) can now be built modularized, which
         makes modularized GKI Android kernels happy"
    
    * tag 'gpio-v5.10-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio: (73 commits)
      gpiolib: Update header block in gpiolib-cdev.h
      gpiolib: cdev: switch from kstrdup() to kstrndup()
      docs: gpio: add a new document to its index.rst
      gpio: pca953x: Add support for the NXP PCAL9554B/C
      tools: gpio: add debounce support to gpio-event-mon
      tools: gpio: add multi-line monitoring to gpio-event-mon
      tools: gpio: port gpio-event-mon to v2 uAPI
      tools: gpio: port gpio-hammer to v2 uAPI
      tools: gpio: rename nlines to num_lines
      tools: gpio: port gpio-watch to v2 uAPI
      tools: gpio: port lsgpio to v2 uAPI
      gpio: uapi: document uAPI v1 as deprecated
      gpiolib: cdev: support setting debounce
      gpiolib: cdev: support GPIO_V2_LINE_SET_VALUES_IOCTL
      gpiolib: cdev: support GPIO_V2_LINE_SET_CONFIG_IOCTL
      gpiolib: cdev: support edge detection for uAPI v2
      gpiolib: cdev: support GPIO_V2_GET_LINEINFO_IOCTL and GPIO_V2_GET_LINEINFO_WATCH_IOCTL
      gpiolib: cdev: support GPIO_V2_GET_LINE_IOCTL and GPIO_V2_LINE_GET_VALUES_IOCTL
      gpiolib: add build option for CDEV v1 ABI
      gpiolib: make cdev a build option
      ...
    0486beaf
gpio-omap.c 41.5 KB