This is the bulk of GPIO changes for the v4.1 development
cycle:

- A new GPIO hogging mechanism has been added. This can
  be used on boards that want to drive some GPIO line high,
  low, or set it as input on boot and then never touch it
  again. For some embedded systems this is bliss and
  simplifies things to a great extent.

- Some API cleanup and closure: gpiod_get_array() and
  gpiod_put_array() has been added to get and put GPIOs
  in bulk as was possible with the non-descriptor API.

- Encapsulate cross-calls to the pin control subsystem in
  <linux/gpio/driver.h>. Now this should be the only header
  any GPIO driver needs to include or something is wrong.
  Cleanups restricting drivers to this include are welcomed
  if tested.

- Sort the GPIO Kconfig and split it into submenus, as
  it was becoming and unstructured, illogical and
  unnavigatable mess. I hope this is easier to follow.
  Menus that require a certain subsystem like I2C can
  now be hidden nicely for example, still working on
  others.

- New drivers:

    - New driver for the Altera Soft GPIO.

    - The F7188x driver now handles the F71869 and
      F71869A variants.

    - The MIPS Loongson driver has been moved to
      drivers/gpio for consolidation and cleanup.

- Cleanups:

   - The MAX732x is converted to use the GPIOLIB_IRQCHIP
     infrastructure.

   - The PCF857x is converted to use the GPIOLIB_IRQCHIP
     infrastructure.

   - Radical cleanup of the OMAP driver.

- Misc:

   - Enable the DWAPB GPIO for all architectures. This is
     a "hard IP" block from Synopsys which has started to
     turn up in so diverse architectures as X86 Quark, ARC
     and a slew of ARM systems. So even though it's not an
     expander, it's generic enough to be available for all.

   - We add a mock GPIO on Crystalcove PMIC after a long
     discussion with Daniel Vetter et al, tracing back to
     the shootout at the kernel summit where DRM drivers
     and sub-componentization was discussed. In this case
     a mock GPIO is assumed to be the best compromise
     gaining some reuse of infrastructure without making
     DRM drivers overly complex at the same time. Let's
     see.
Revert "gpio: sch: use uapi/linux/pci_ids.h directly"

This reverts commit d1e10dc8c104d533547f6e499550fafc36809943.
This commit should not go through this tree.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
1 file changed