Hi Linus, here is the bulk of the GPIO changes for the v4.8 kernel cycle. The big news is the completion of the chardev ABI which I'm very happy about and apart from that it's an ordinary, quite busy cycle. The details are in the signed tag. The patches are tested in linux-next for some time, patches to other subsystem mostly have ACKs. I got overly ambitious with configureing lines as input for IRQ lines but it turns out that some controllers have their interrupt-enable and input-enabling in orthogonal settings so the assumption that all IRQ lines are input lines does not hold. Oh well, revert and back to the drawing board with that. Please pull it in! Yours, Linus Walleij The following changes since commit af8c34ce6ae32addda3788d54a7e340cad22516b: Linux 4.7-rc2 (2016-06-05 14:31:26 -0700) are available in the git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio.git tags/gpio-v4.8-1 for you to fetch changes up to 224f9e6d538c4cfb2fa8dc4206fceb9431271388: MAINTAINERS: Add INTEL MERRIFIELD GPIO entry (2016-07-22 15:30:43 +0200) ---------------------------------------------------------------- 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. ---------------------------------------------------------------- Alexander Shiyan (3): gpio: clps711x: Change the compatibility string gpio: syscon: Change the compatibility string gpio: clps711x: Remove board support Andrew F. Davis (1): gpio: Only descend into gpio directory when CONFIG_GPIOLIB is set Andrew Jeffery (1): gpio: Fix paths to GPIO driver source files Andy Shevchenko (13): gpio: pca953x: remove redundant assignments gpio: pca953x: enfore type for i2c_smbus_write_word_data() gpio: pca953x: enable driver on Intel Edison gpio: intel-mid: switch to devm_gpiochip_add_data() tools/gpio: move to tools buildsystem tools/gpio: add install section gpio: lynxpoint: avoid potential warning on error path gpio: intel-mid: Remove potentially harmful code gpio: intel-mid: Sort header block alphabetically gpio: intel-mid: Make it depend to X86_INTEL_MID gpio: merrifield: Introduce GPIO driver to support Merrifield gpio: merrifield: Protect irq_ack() and gpio_set() by lock MAINTAINERS: Add INTEL MERRIFIELD GPIO entry Arnd Bergmann (1): gpiolib: avoid uninitialized data in gpio kfifo Ben Dooks (1): gpiolib: make lineevent_irq_thread static Christian Lamparter (1): gpio: mmio: add MyBook Live GPIO support Geert Uytterhoeven (1): gpio: 74x164: Use spi_write() helper instead of open coding Iban Rodriguez (1): gpio: xilinx: Add support to set multiple GPIO at once Kamlakant Patel (2): gpio: xlp: Fix vulcan IRQ descriptor allocation gpio: Add ACPI support for XLP GPIO controller Keerthy (1): gpio: tps65218: Add platform_device_id table Kishon Vijay Abraham I (1): gpio: pcf857x: restore the initial line state of all pcf lines Lars-Peter Clausen (1): gpiolib: of_find_gpio(): Don't discard errors Laxman Dewangan (4): gpio: add DT binding doc for gpio of PMIC max77620/max20024 gpio: max77620: add gpio driver for MAX77620/MAX20024 gpio: max77620: Configure interrupt trigger level gpio: max77620: use the new open drain callback Linus Walleij (17): gpio: stmpe: implement .get_direction() hexagon: update TODO list pinctrl: xway: use devm_gpiochip_add_data() openrisc: do away with ARCH_REQUIRE_GPIOLIB powerpc: do away with ARCH_[WANT_OPTIONAL|REQUIRE]_GPIOLIB sh: do away with ARCH_[WANT_OPTIONAL|REQUIRE]_GPIOLIB unicore: do away with ARCH_REQUIRE_GPIOLIB ia64: remove ARCH_WANT_OPTIONAL_GPIOLIB microblaze: remove ARCH_WANT_OPTIONAL_GPIOLIB gpio: userspace ABI for reading/writing GPIO lines tools/gpio: add the gpio-hammer tool gpio: userspace ABI for reading GPIO line events tools/gpio: add the gpio-event-mon tool gpio: make the iterator point to last handle gpio: convince line to become input in irq helper gpio: free handles in fringe cases Revert "gpio: convince line to become input in irq helper" Masahiro Yamada (7): gpio: of: add missing of_node_put() to of_gpiochip_add_pin_range() gpio: remove redundant owner assignments of drivers gpio: of: optimize "gpios" property parsing of of_parse_own_gpio() gpio: of: drop needless gpio_chip look-up in of_parse_own_gpio() gpio: of: move chip->of_gpio_n_cells checking to of_gpiochip_add() gpio: of: remove of_gpiochip_and_xlate() and struct gg_data gpio: of: factor out common code to a new helper function Paul Gortmaker (1): gpio: lpc18xx: convert GPIO_LPC18XX from bool to tristate Rui Zhang (1): gpio: acpi: add _DEP support for Acer One 10 Sergei Shtylyov (1): gpio: rcar: add R8A7792 support Thierry Reding (1): gpio: of: Allow overriding the device node Venkat Reddy Talla (1): gpio: max77620: get gpio value based on direction Vignesh R (2): gpio: pca953x: Add support for TI PCA9536 gpio: pca953x: Fix NBANK calculation for PCA9536 Wei Yongjun (2): gpiolib: remove duplicated include from gpiolib.c gpio: dwapb: add missing fwnode_handle_put() in dwapb_gpio_get_pdata() plr.vincent@xxxxxxxxx (1): gpio: f7188x: Implement get_direction. Álvaro Fernández Rojas (1): gpio: mmio: add DT support for memory-mapped GPIOs .../bindings/gpio/cirrus,clps711x-mctrl-gpio.txt | 4 +- .../devicetree/bindings/gpio/gpio-clps711x.txt | 4 +- .../devicetree/bindings/gpio/gpio-max77620.txt | 25 + .../devicetree/bindings/gpio/gpio-pca953x.txt | 1 + .../devicetree/bindings/gpio/renesas,gpio-rcar.txt | 1 + Documentation/gpio/drivers-on-gpio.txt | 13 +- MAINTAINERS | 6 + arch/hexagon/Kconfig | 3 +- arch/ia64/Kconfig | 1 - arch/microblaze/Kconfig | 1 - arch/openrisc/Kconfig | 2 +- arch/powerpc/Kconfig | 1 - arch/powerpc/platforms/40x/Kconfig | 2 +- arch/powerpc/platforms/44x/Kconfig | 2 +- arch/powerpc/platforms/512x/Kconfig | 1 - arch/powerpc/platforms/83xx/Kconfig | 3 - arch/powerpc/platforms/85xx/Kconfig | 4 +- arch/powerpc/platforms/86xx/Kconfig | 7 +- arch/powerpc/platforms/8xx/Kconfig | 2 +- arch/powerpc/platforms/Kconfig | 8 +- arch/sh/Kconfig | 11 +- arch/sh/boards/Kconfig | 17 +- arch/sh/boards/mach-highlander/Kconfig | 2 +- arch/sh/boards/mach-rsk/Kconfig | 6 +- arch/unicore32/Kconfig | 2 +- drivers/Makefile | 2 +- drivers/gpio/Kconfig | 24 +- drivers/gpio/Makefile | 2 + drivers/gpio/gpio-74x164.c | 9 +- drivers/gpio/gpio-clps711x.c | 10 +- drivers/gpio/gpio-dwapb.c | 1 + drivers/gpio/gpio-f7188x.c | 22 + drivers/gpio/gpio-intel-mid.c | 37 +- drivers/gpio/gpio-lynxpoint.c | 1 - drivers/gpio/gpio-max77620.c | 315 +++++++++++++ drivers/gpio/gpio-menz127.c | 1 - drivers/gpio/gpio-merrifield.c | 444 ++++++++++++++++++ drivers/gpio/gpio-mmio.c | 51 +- drivers/gpio/gpio-palmas.c | 1 - drivers/gpio/gpio-pca953x.c | 23 +- drivers/gpio/gpio-pcf857x.c | 9 + drivers/gpio/gpio-rcar.c | 3 + drivers/gpio/gpio-rdc321x.c | 1 - drivers/gpio/gpio-sch311x.c | 1 - drivers/gpio/gpio-stmpe.c | 18 +- drivers/gpio/gpio-syscon.c | 4 +- drivers/gpio/gpio-tc3589x.c | 1 - drivers/gpio/gpio-tps65218.c | 7 + drivers/gpio/gpio-tps6586x.c | 1 - drivers/gpio/gpio-tps65910.c | 1 - drivers/gpio/gpio-viperboard.c | 1 - drivers/gpio/gpio-wm831x.c | 1 - drivers/gpio/gpio-wm8350.c | 1 - drivers/gpio/gpio-wm8994.c | 1 - drivers/gpio/gpio-xilinx.c | 48 ++ drivers/gpio/gpio-xlp.c | 52 ++- drivers/gpio/gpiolib-acpi.c | 1 + drivers/gpio/gpiolib-of.c | 127 +++-- drivers/gpio/gpiolib.c | 511 ++++++++++++++++++++- drivers/pinctrl/pinctrl-xway.c | 5 +- include/uapi/linux/gpio.h | 105 ++++- tools/Makefile | 7 +- tools/gpio/Build | 3 + tools/gpio/Makefile | 75 ++- tools/gpio/gpio-event-mon.c | 192 ++++++++ tools/gpio/gpio-hammer.c | 189 ++++++++ 66 files changed, 2207 insertions(+), 230 deletions(-) create mode 100644 Documentation/devicetree/bindings/gpio/gpio-max77620.txt create mode 100644 drivers/gpio/gpio-max77620.c create mode 100644 drivers/gpio/gpio-merrifield.c create mode 100644 tools/gpio/Build create mode 100644 tools/gpio/gpio-event-mon.c create mode 100644 tools/gpio/gpio-hammer.c -- 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