This is the bulk of GPIO changes for the v3.18 development

- Increase the default ARCH_NR_GPIO from 256 to 512. This
  was done to avoid having a custom <asm/gpio.h> header for
  the x86 architecture - GPIO is custom and complicated
  enough as it is already! We want to move to a radix to
  store the descriptors going forward, and finally get rid
  of this fixed array size altogether.

- Endgame patching of the gpio_remove() semantics initiated
  by Abdoulaye Berthe. It is not accepted by the system that
  the removal of a GPIO chip fails during e.g. reboot or
  shutdown, and therefore the return value has now painfully
  been refactored away. For special cases like GPIO expanders
  on a hot-pluggable bus like USB, we may later add some
  gpiochip_try_remove() call, but for the cases we have now,
  return values are moot.

- Some incremental refactoring of the gpiolib core and ACPI
  GPIO library for more descriptor usage.

- Refactor the chained IRQ handler set-up method to handle
  also threaded, nested interrupts and set up the parent IRQ
  correctly. Switch STMPE and TC3589x drivers to use this
  registration method.

- Add a .irq_not_threaded flag to the struct gpio_chip, so
  that also GPIO expanders that block but are still not
  using threaded IRQ handlers.

- New drivers for the ARM64 X-Gene SoC GPIO controller.

- The syscon GPIO driver has been improved to handle the
  "DSP GPIO" found on the TI Keystone 2 SoC:s.

- ADNP driver switched to use gpiolib irqchip helpers.

- Refactor the DWAPB driver to support being instantiated
  from and MFD cell (platform device).

- Incremental feature improvement in the Zynq, MCP23S08,
  DWAPB, OMAP, Xilinx and Crystalcove drivers.

- Various minor fixes.
Version: GnuPG v1

gpio: pch: Build context save/restore only for PM

The pch_gpio_save_reg_conf() and pch_gpio_restore_reg_conf() functions
are only used in pch_gpio_suspend() and pch_gpio_resume(), respectively.
Since the latter are only built if PM is enabled, make the former build
under the same conditions.

Signed-off-by: Thierry Reding <>
Signed-off-by: Linus Walleij <>
1 file changed