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

Core changes:

- The big item is of course the completion of the character
  device ABI. It has now replaced and surpassed the former
  unmaintainable sysfs ABI: we can now hammer (bitbang)
  individual lines or sets of lines and read individual lines
  or sets of lines from userspace, and we can also register
  to listen to GPIO events from userspace. As a tie-in we
  have two new tools in tools/gpio: gpio-hammer and
  gpio-event-mon that illustrate the proper use of the new
  ABI. As someone said: the wild west days of GPIO are now
  over.

- Continued to remove the pointless
  ARCH_[WANT_OPTIONAL|REQUIRE]_GPIOLIB Kconfig symbols.
  I'm patching hexagon, openrisc, powerpc, sh, unicore,
  ia64 and microblaze. These are either ACKed by their
  maintainers or patched anyways after a grace period and
  no response from maintainers. Some archs (ARM) come in from
  their trees, and others (x86) are still not fixed, so I
  might send a second pull request to root it out later in
  this merge window, or just defer to v4.9.

- The GPIO tools are moved to the tools build system.

New drivers:

- New driver for the MAX77620/MAX20024.

- New driver for the Intel Merrifield.

- Enabled PCA953x for the TI PCA9536.

- Enabled PCA953x for the Intel Edison.

- Enabled R8A7792 in the RCAR driver.

Driver improvements:

- The STMPE and F7188x now supports the .get_direction()
  callback.

- The Xilinx driver supports setting multiple lines at
  once.

- ACPI support for the Vulcan GPIO controller.

- The MMIO GPIO driver supports device tree probing.

- The Acer One 10 is supported through the _DEP ACPI
  attribute.

Cleanups:

- A major cleanup of the OF/DT support code. It is way
  easier to read and understand now, probably this improves
  performance too.

- Drop a few redundant .owner assignments.

- Remove CLPS711x boardfile support: we are 100% DT.