Skip to content
This is the bulk of GPIO changes for the v4.19 kernel cycle:

Core changes:

- Add a new API for explicitly naming GPIO consumers, when needed.

- Don't let userspace set values on input lines. While we do not
  think anyone would do this crazy thing we better plug the hole
  before someone uses it and think it's a nifty feature.

- Avoid calling chip->request() for unused GPIOs.

New drivers/subdrivers:

- The Mediatek MT7621 is supported which is a big win for OpenWRT
  and similar router distributions using this chip, as it seems
  every major router manufacturer on the planet has made products
  using this chip:
  https://wikidevi.com/wiki/MediaTek_MT7621

- The Tegra 194 is now supported.

- The IT87 driver now supports IT8786E and IT8718F super-IO
  chips.

- Add support for Rockchip RK3328 in the syscon GPIO driver.

Driver changes:

- Handle the get/set_multiple() properly on MMIO chips with
  inverted direction registers. We didn't have this problem
  until a new chip appear that has get/set registers AND
  inverted direction bits, OK now we handle it.

- A patch series making more error codes percolate upward
  properly for different errors on gpiochip_lock_as_irq().

- Get/set multiple for the OMAP driver, accelerating these
  multiple line operations if possible.

- A coprocessor interface for the Aspeed driver. Sometimes a few
  GPIO lines need to be grabbed by a co-processor for doing
  automated tasks, sometimes they are available as GPIO lines.
  By adding an explicit API in this driver we make it possible
  for the two line consumers to coexist. (This work was
  made available on the ib-aspeed branch, which may be appearing
  in other pull requests.)

- Implemented .get_direction() and open drain in the SCH311x
  driver.

- Continuing cleanup of included headers in GPIO drivers.