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

Core changes

- Return NULL from gpiod_get_optional() when GPIOLIB is disabled.
  This was a much discussed change. It affects use cases where people
  write drivers that might or might not be using GPIO resources.
  I have decided that this is the lesser evil right now.

- Make gpiod_count() behave consistently across different hardware
  descriptions.

- Fix the syntax around open drain/open source to not infer active
  high/low semantics.

New drivers

- A new single-register fixed-direction framework driver for hardware
  that have lines controlled by a single register that just work in
  one direction (out or in), including IRQ support.

- Support the Fintek F71889A GPIO SuperIO controller.

- Support the National NI 169445 MMIO GPIO.

- Support for the X-Gene derivative of the DWC GPIO controller

- Support for the Rohm BD9571MWV-M PMIC GPIO controller.

- Refactor the Gemini GPIO driver to a generic Faraday FTGPIO driver
  and replace both the Gemini and the Moxa ART custom drivers with
  this driver.

Driver improvements

- A whole slew of drivers have their spinlocks chaned to raw spinlocks
  as they provide irqchips, and thus we are progressing on realtime
  compliance.

- Use devm_irq_alloc_descs() in a slew of drivers, getting managed
  resources.

- Support for the embedded PWM controller inside the MVEBU driver.

- Debounce, open source and open drain support for the Aspeed driver.

- Misc smaller fixes like spelling and syntax and whatnot.