[GIT PULL] GPIO bulk changes for the v4.9 cycle

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Linus,

here are the GPIO changes for v4.9. Most of the details are
in the signed tag but note the following about merge mechanics:

- I created an immutable branch from this tree to the pin control tree
  to get the new mechanism for disabling mapping of BIOS-grabbed
  IRQ lines over to that tree. So it has already come in through the
  pin control tree, and the SHA1 checksums should be the same
  and resolve nicely in the merge.

- Lee sent me two immutable branches from the MFD tree for these
  types of drivers that add a MFD nexus and some GPIO driver.
  He puts a lot of effort into doing this to make things smooth in
  the merge window, the only sideffect is that you will see the MFD
  (and related) commits in this shortlog as well.

- I sent an immutable branch the other way around to MFD to get
  the HTC EGPIO driver littering that subsystem over here to GPIO.

- I fixed a header inclusion in arch/arm/mach-omap2/* as Paul G
  was removing the <linux/module.h> include from the GPIO top
  include file. However the file was deleted from the OMAP tree so
  there will be a trivial conflict (delete it) there.

- I have quite a few patches in the pca953x driver, and at the same
  time some lockdep issue was being fixed in the i2c subsystem
  affecting this driver, so Wolfram had to patch it from their end.
  It should be another trivial conflict that was solved in -next.

Please pull it in!

Yours,
Linus Walleij


The following changes since commit 694d0d0bb2030d2e36df73e2d23d5770511dbc8d:

  Linux 4.8-rc2 (2016-08-14 19:11:36 -0700)

are available in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio.git
tags/gpio-v4.9-1

for you to fetch changes up to e0852940662362a641c059610755169e3852b873:

  gpio: add missing static inline (2016-10-03 23:38:11 +0200)

----------------------------------------------------------------
This is the bulk of GPIO changes for the v4.9 series:

Subsystem improvements:

- Do away with the last users of the obsolete Kconfig options
  ARCH_REQUIRE_GPIOLIB and ARCH_WANT_OPTIONAL_GPIOLIB (the latter
  always sounded like an item on a wishlist to Santa Claus to
  me). We can now select GPIOLIB and be done with it, for all
  archs. After some struggle it even work on UM. Not that it has
  GPIO, but if it wants to, it can select the library.

- Continued efforts to make drivers properly either tristate or
  bool.

- Introduce a warning for drivers assigning default triggers to
  their irqchip lines when probed from device tree, so we find and
  fix these ambigous drivers. It is agreed that in the OF config
  path, the device tree defines trigger characteristics.

- The same warning, mutatis mutandis, for ACPI-probed GPIO
  irqchips.

- We introduce the ability to mark certain IRQ lines as "unusable"
  as they can be taken by BIOS/firmware, unrouted in silicon and
  generally nasty if you use them, and such things. This is
  put to good use in the STMPE driver and also in the Cherryview
  pin control driver.

- A new "mockup" virtual GPIO device that can be used for testing.
  The plan is to add unit tests under tools/* for exercising this
  device and verify that the kernel code paths are working as they
  should.

- Make memory-mapped I/O-drivers depend on HAS_IOMEM. This was
  implicit all the time, but when people started building UM
  with allyesconfig or allmodconfig it exploded in their face.

- Move some stray bits of device tree and ACPI HW description
  callbacks down into their respective implementation silo. These
  were causing issues when compiling on !HAS_IOMEM as well, so
  now eventually UM compiles the GPIOLIB library if it wants to.

New drivers:

- New driver for the Aspeed GPIO front-end companion to the
  pin controller merged through the pin control tree.

- New driver for the LP873x PMIC GPIO portions.

- New driver for Technologic Systems' I2C FPGA GPIO such as
  TS4900, TS-7970, TS-7990 and TS-4100.

- New driver for the Broadcom BCM63xx series including BCM6338
  and BCM6345.

- New driver for the Intel WhiskeyCove PMIC GPIO.

- New driver for the Allwinner AXP209 PMIC GPIO portions.

- New driver for Diamond Systems 48 line GPIO-MM, another of
  these port-mapped I/O expansion cards.

- Support the STMicroelectronics STMPE1600 variant in the STMPE
  driver.

Driver improvements:

- The STMPE driver now supports rising/falling edge detection
  properly for IRQs.

- The PCA954x will now fetch and enable its VCC regulator properly.

- Major rework of the PCA953x driver with the goal of eventually
  switching it over to use regmap and thus modernize it even more.

- Switch the IOP driver to use the generic MMIO GPIO library.

- Move the ages old HTC EGPIO (extended GPIO) GPIO expander driver
  over to this subsystem from MFD, achieveing some separation of
  concerns.

----------------------------------------------------------------
Alexander Shiyan (1):
      gpio: iop: Use generic GPIO MMIO functions for driver

Amitesh Singh (2):
      gpio: fix documentation for gpiod_unexport
      gpio: f7188x: use gpiochip_get_data instead of container_of

Andrew F. Davis (2):
      gpio: dt-bindings: remove ti,tps65086-gpio binding
      dt-bindings: GPIO: Add TPIC2810 binding

Andrew Jeffery (1):
      gpio: dt-bindings: Add documentation for Aspeed GPIO controllers

Arnd Bergmann (1):
      gpio: pca954x: fix undefined error code from remove

Bamvor Jian Zhang (2):
      gpio/mockup: add virtual gpio device
      gpio: MAINTAINERS: Add an entry for GPIO mockup driver

Bartosz Golaszewski (5):
      gpio: pca953x: code shrink
      gpio: pca953x: refactor pca953x_write_regs()
      gpio: pca953x: refactor pca953x_read_regs()
      gpio: pca953x: remove an unused variable
      gpio: pca953x: coding style fixes

Baruch Siach (1):
      gpio: mrvl: dt-binding: remove orion-gpio description

Bin Gao (2):
      gpio: Add Intel WhiskeyCove PMIC GPIO driver
      gpio: wcove-gpio: add get_direction method

Christian Lamparter (1):
      gpio: mmio: add brcm,bcm6345 support

Colin Ian King (1):
      gpio: pca953x: initialize ret to zero to avoid returning garbage

Joel Stanley (1):
      gpio: Add Aspeed driver

Julia Lawall (1):
      gpio: constify gpio_chip structures

Keerthy (3):
      mfd: lp873x: Add lp873x PMIC support
      gpio: lp873x: Add support for General Purpose Outputs
      regulator: lp873x: Change the MFD config option as per latest naming

Linus Walleij (22):
      arm64: do away with ARCH_[WANT_OPTIONAL|REQUIRE]_GPIOLIB
      blackfin: do away with ARCH_REQUIRE_GPIOLIB
      ARM: do away with final ARCH_REQUIRE_GPIOLIB
      gpio: delete ARCH_[WANTS_OPTIONAL|REQUIRE]_GPIOLIB
      Merge tag 'ib-mfd-gpio-v4.9' of git://git.kernel.org/.../lee/mfd
into devel
      Merge tag 'v4.8-rc2' into devel
      Merge tag 'ib-mfd-gpio-regulator-v4.9' of
git://git.kernel.org/.../lee/mfd into devel
      gpio: aspeed: add MODULE_LICENSE()
      Revert "gpio: pca953x: initialize ret to zero to avoid returning garbage"
      gpio: tc3589x: add .get_direction() and small cleanup
      gpio: tc3589x: fix up complaints on unsigned
      ARM: omap2: fix missing include
      Merge branch 'gpio-irq-validmask' of /home/linus/linux-pinctrl into devel
      mfd/gpio: Move HTC GPIO driver to GPIO subsystem
      Merge branch 'ib-move-htc-egpio' into devel
      gpio: stmpe: forbid unused lines to be mapped as IRQs
      gpio: stmpe: use BIT() macro
      gpio: make memory-mapped drivers depend on HAS_IOMEM
      gpio: OF: separation of concerns
      gpio: acpi: separation of concerns
      gpio: OF: localize some gpiochip init functions
      gpio: add missing static inline

Lucile Quirion (2):
      gpio: add bindings for Technologic I2C-FPGA gpio controller
      gpio: add Technologic I2C-FPGA gpio support

Marc Zyngier (1):
      gpio/gpiolib: Forbid irqchip default trigger if probed over DT

Masahiro Yamada (1):
      gpio: refactor gpiochip_find() slightly

Maxime Ripard (2):
      gpio: Add AXP209 GPIO driver
      gpio: axp209: Implement get_direction

Mika Westerberg (2):
      gpiolib: Forbid irqchip default trigger for ACPI enumerated devices
      gpiolib: Make it possible to exclude GPIOs from IRQ domain

Nava kishore Manne (1):
      gpio: Added zynq specific check for special pins on bank zero

Patrice Chotard (10):
      mfd: stmpe: Add STMPE_IDX_SYS_CTRL/2 enum
      mfd: stmpe: Add reset support for all STMPE variant
      gpio: stmpe: Fix edge and rising/falling edge detection
      gpio: stmpe: Write int status register only when needed
      mfd: stmpe: Use generic bit mask name
      mfd: stmpe: Rework registers access
      gpio: stmpe: Rework registers access
      Documentation: dt: Add stmpe1600 compatible string to STMPE MFD
      mfd: Add STMPE1600 support
      gpio: stmpe: Add STMPE1600 support

Paul Gortmaker (12):
      gpio: msic: drop unused MODULE_ tags from non-modular code
      gpio: mxc: drop unused MODULE_ tags from non-modular code
      gpio: spear-spics: drop unused MODULE_ tags from non-modular code
      gpio: vf610: drop unused MODULE_ tags from non-modular code
      gpio: palmas: fix implicit assumption module.h is present
      gpio: sx150x: fix implicit assumption module.h is present
      gpio: ts4800: fix implicit assumption module.h is present
      gpio: altera: fix implicit assumption module.h is present
      gpio: ath79: fix implicit assumption module.h is present
      gpio: loongson1: fix implicit assumption module.h is present
      gpio: wcove: fix implicit assumption module.h is present
      gpio: don't include module.h in shared driver header

Phil Reid (1):
      gpio: pca954x: Add vcc regulator and enable it

Simon Horman (1):
      gpio: rcar: Add r8a7796 (R-Car M3-W) support

Vladimir Zapolskiy (1):
      gpio: lpc32xx: remove unused platform data file

Wei Yongjun (5):
      gpio: lp873x: Use devm_gpiochip_add_data() for gpio registration
      gpio: aspeed: fix return value check in aspeed_gpio_probe()
      gpio: tps65218: use devm_gpiochip_add_data() for gpio registration
      gpio: loongson1: remove redundant return value check
      gpio: aspeed: remove redundant return value check

William Breathitt Gray (1):
      gpio: Add GPIO support for the Diamond Systems GPIO-MM

Álvaro Fernández Rojas (1):
      gpio: dt-bindings: add brcm,bcm6345-gpio bindings

 .../devicetree/bindings/gpio/brcm,bcm6345-gpio.txt |  46 ++
 .../devicetree/bindings/gpio/gpio-aspeed.txt       |  36 ++
 .../devicetree/bindings/gpio/gpio-axp209.txt       |  30 ++
 .../devicetree/bindings/gpio/gpio-tpic2810.txt     |  16 +
 .../devicetree/bindings/gpio/gpio-tps65086.txt     |  16 -
 .../devicetree/bindings/gpio/gpio-ts4900.txt       |  30 ++
 .../devicetree/bindings/gpio/mrvl-gpio.txt         |  23 -
 .../devicetree/bindings/gpio/renesas,gpio-rcar.txt |   1 +
 Documentation/devicetree/bindings/mfd/stmpe.txt    |   2 +-
 Documentation/gpio/board.txt                       |   6 +-
 Documentation/gpio/driver.txt                      |   6 +
 Documentation/gpio/gpio-legacy.txt                 |  16 +-
 Documentation/kernel-parameters.txt                |   4 +
 MAINTAINERS                                        |  13 +
 arch/arm/mach-omap2/board-rx51-peripherals.c       |   1 +
 arch/arm/mach-pxa/hx4700.c                         |   2 +-
 arch/arm/mach-pxa/magician.c                       |   2 +-
 arch/arm/mach-sa1100/h3xxx.c                       |   2 +-
 arch/arm64/Kconfig                                 |   1 -
 arch/arm64/Kconfig.platforms                       |  12 +-
 arch/blackfin/Kconfig                              |   2 +-
 drivers/gpio/Kconfig                               | 102 ++++-
 drivers/gpio/Makefile                              |   8 +
 drivers/gpio/gpio-altera.c                         |   1 +
 drivers/gpio/gpio-arizona.c                        |   2 +-
 drivers/gpio/gpio-aspeed.c                         | 455 ++++++++++++++++++++
 drivers/gpio/gpio-ath79.c                          |   1 +
 drivers/gpio/gpio-axp209.c                         | 192 +++++++++
 drivers/gpio/gpio-bcm-kona.c                       |   2 +-
 drivers/gpio/gpio-da9052.c                         |   2 +-
 drivers/gpio/gpio-da9055.c                         |   2 +-
 drivers/gpio/gpio-f7188x.c                         |   3 +-
 drivers/gpio/gpio-gpio-mm.c                        | 267 ++++++++++++
 drivers/{mfd/htc-egpio.c => gpio/gpio-htc-egpio.c} |   2 +-
 drivers/gpio/gpio-iop.c                            | 115 +----
 drivers/gpio/gpio-it87.c                           |   2 +-
 drivers/gpio/gpio-loongson1.c                      |   6 +-
 drivers/gpio/gpio-lp873x.c                         | 183 ++++++++
 drivers/gpio/gpio-lpc18xx.c                        |   2 +-
 drivers/gpio/gpio-lpc32xx.c                        |  15 +-
 drivers/gpio/gpio-mmio.c                           |   4 +
 drivers/gpio/gpio-mockup.c                         | 214 ++++++++++
 drivers/gpio/gpio-msic.c                           |   6 -
 drivers/gpio/gpio-mxc.c                            |  10 +-
 drivers/gpio/gpio-palmas.c                         |   1 -
 drivers/gpio/gpio-pca953x.c                        | 328 +++++++-------
 drivers/gpio/gpio-pisosr.c                         |   2 +-
 drivers/gpio/gpio-rcar.c                           |   4 +
 drivers/gpio/gpio-sch.c                            |   2 +-
 drivers/gpio/gpio-spear-spics.c                    |   7 +-
 drivers/gpio/gpio-stmpe.c                          | 204 ++++++---
 drivers/gpio/gpio-sx150x.c                         |   2 -
 drivers/gpio/gpio-tc3589x.c                        |  47 ++-
 drivers/gpio/gpio-tpic2810.c                       |   2 +-
 drivers/gpio/gpio-tps65086.c                       |   2 +-
 drivers/gpio/gpio-tps65218.c                       |  15 +-
 drivers/gpio/gpio-tps65912.c                       |   2 +-
 drivers/gpio/gpio-ts4800.c                         |   1 +
 drivers/gpio/gpio-ts4900.c                         | 190 +++++++++
 drivers/gpio/gpio-twl4030.c                        |   2 +-
 drivers/gpio/gpio-vf610.c                          |   7 +-
 drivers/gpio/gpio-wcove.c                          | 470 +++++++++++++++++++++
 drivers/gpio/gpio-wm831x.c                         |   2 +-
 drivers/gpio/gpio-wm8350.c                         |   2 +-
 drivers/gpio/gpio-wm8994.c                         |   2 +-
 drivers/gpio/gpio-zynq.c                           |  15 +-
 drivers/gpio/gpiolib-acpi.c                        |  57 ++-
 drivers/gpio/gpiolib-of.c                          |  39 ++
 drivers/gpio/gpiolib-sysfs.c                       |   4 +-
 drivers/gpio/gpiolib.c                             | 180 ++++----
 drivers/gpio/gpiolib.h                             |  45 +-
 drivers/mfd/Kconfig                                |  22 +-
 drivers/mfd/Makefile                               |   3 +-
 drivers/mfd/lp873x.c                               |  99 +++++
 drivers/mfd/stmpe-i2c.c                            |   2 +
 drivers/mfd/stmpe.c                                | 161 +++++--
 drivers/mfd/stmpe.h                                |  85 +++-
 drivers/pinctrl/sunxi/pinctrl-sunxi.c              |   1 -
 drivers/regulator/Kconfig                          |   2 +-
 include/linux/gpio/driver.h                        |   8 +-
 include/linux/mfd/lp873x.h                         | 269 ++++++++++++
 include/linux/mfd/stmpe.h                          |  21 +
 include/linux/of_gpio.h                            |   5 -
 .../htc-egpio.h => platform_data/gpio-htc-egpio.h} |   0
 include/linux/platform_data/gpio-lpc32xx.h         |  50 ---
 85 files changed, 3534 insertions(+), 691 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/gpio/brcm,bcm6345-gpio.txt
 create mode 100644 Documentation/devicetree/bindings/gpio/gpio-aspeed.txt
 create mode 100644 Documentation/devicetree/bindings/gpio/gpio-axp209.txt
 create mode 100644 Documentation/devicetree/bindings/gpio/gpio-tpic2810.txt
 delete mode 100644 Documentation/devicetree/bindings/gpio/gpio-tps65086.txt
 create mode 100644 Documentation/devicetree/bindings/gpio/gpio-ts4900.txt
 create mode 100644 drivers/gpio/gpio-aspeed.c
 create mode 100644 drivers/gpio/gpio-axp209.c
 create mode 100644 drivers/gpio/gpio-gpio-mm.c
 rename drivers/{mfd/htc-egpio.c => gpio/gpio-htc-egpio.c} (99%)
 create mode 100644 drivers/gpio/gpio-lp873x.c
 create mode 100644 drivers/gpio/gpio-mockup.c
 create mode 100644 drivers/gpio/gpio-ts4900.c
 create mode 100644 drivers/gpio/gpio-wcove.c
 create mode 100644 drivers/mfd/lp873x.c
 create mode 100644 include/linux/mfd/lp873x.h
 rename include/linux/{mfd/htc-egpio.h => platform_data/gpio-htc-egpio.h} (100%)
 delete mode 100644 include/linux/platform_data/gpio-lpc32xx.h
--
To unsubscribe from this list: send the line "unsubscribe linux-gpio" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux SPI]     [Linux Kernel]     [Linux ARM (vger)]     [Linux ARM MSM]     [Linux Omap]     [Linux Arm]     [Linux Tegra]     [Fedora ARM]     [Linux for Samsung SOC]     [eCos]     [Linux Fastboot]     [Gcc Help]     [Git]     [DCCP]     [IETF Announce]     [Security]     [Linux MIPS]     [Yosemite Campsites]

  Powered by Linux