Hi Linus, here is the major slew of GPIO changes for v4.17. Some things to notice: - I merged in v4.16-rc5 to get rid of a really nasty merge conflict that was making it hard to rebuild linux-next, and this happened due to a big fix in the Renesas R-Car driver collding with ongoing development. - There is a series of ISA_BUS_API changes that ended up getting queued in my tree. Most of them have proper ACKs and they have been tested throughly in linux-next. These patches finally split ISA_BUS and ISA_BUS_API apart as I understand it, as there are devices using port-mapped I/O but not strictly speaking using any ISA bus. So the ISA_BUS and the ISA_BUS_API are two things. The most notable effect of ISA_BUS_API is that it compiles drivers/base/isa.c so that we get device driver core infrastructure for these devices. The ISA bus was merged in 2006 (a5117ba7da37) and was used for sound cards and watchdog, but only recently William started to use it for his industrial data acquisition cards and he's found a bit of problems that are now (hopefully) finally fixed up. Any questions: William Breathitt Gray is on the CC for this pull request to answer them. Any other details are in the signed tag. Please pull it in! Yours, Linus Walleij The following changes since commit 0c8efd610b58cb23cefdfa12015799079aef94ae: Linux 4.16-rc5 (2018-03-11 17:25:09 -0700) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio.git tags/gpio-v4.17-1 for you to fetch changes up to 348f3cde84ab5b1f53cd3c0eaac1ca99a4dcb148: gpio: Add Spreadtrum PMIC EIC driver support (2018-03-27 15:51:22 +0200) ---------------------------------------------------------------- This is the bulk of GPIO changes for the v4.17 kernel cycle: New drivers: - Nintendo Wii GameCube GPIO, known as "Hollywood" - Raspberry Pi mailbox service GPIO expander - Spreadtrum main SC9860 SoC and IEC GPIO controllers. Improvements: - Implemented .get_multiple() callback for most of the high-performance industrial GPIO cards for the ISA bus. - ISA GPIO drivers now select the ISA_BUS_API instead of depending on it. This is merged with the same pattern for all the ISA drivers and some other Kconfig cleanups related to this. Cleanup: - Delete the TZ1090 GPIO drivers following the deletion of this SoC from the ARM tree. - Move the documentation over to driver-api to conform with the rest of the kernel documentation build. - Continue to make the GPIO drivers include only <linux/gpio/driver.h> and not the too broad <linux/gpio.h> that we want to get rid of. - Managed to remove VLA allocation from two drivers pending more fixes in this area for the next merge window. - Misc janitorial fixes. ---------------------------------------------------------------- Anders Roxell (1): tools/gpio/gpio-event-mon: fix warning Arnd Bergmann (1): gpio: raspberrypi-ext: fix firmware dependency Axel Lin (1): gpio: tegra: Convert to use DEFINE_SHOW_ATTRIBUTE macro Baolin Wang (5): dt-bindings: gpio: Add Spreadtrum GPIO controller documentation gpio: Add GPIO driver for Spreadtrum SC9860 platform dt-bindings: gpio: Add Spreadtrum EIC controller documentation gpio: Add Spreadtrum EIC driver support gpio: Add Spreadtrum PMIC EIC driver support Bartosz Golaszewski (1): gpio: mockup: fix a potential crash when creating debugfs entries Baruch Siach (3): soc: bcm2835: sync firmware properties with downstream dt-bindings: gpio: add raspberry pi GPIO expander binding gpio: raspberrypi-exp: explain Kconfig dependency Dave Stevenson (1): gpio: raspberrypi-exp: Driver for RPi3 GPIO expander via mailbox service David Lechner (1): gpio: davinci: add support for pinmux gpio ranges H. Nikolaus Schaller (1): gpio: pca953x: add compatibility for pcal6524 and pcal9555a Hien Dang (1): gpio: gpio-rcar: Support S2RAM James Hogan (1): gpio: Drop TZ1090 drivers Jonathan Neuschäfer (10): dt-bindings: gpio: Add binding for Wii GPIO controller gpio: Add GPIO driver for Nintendo Wii MAINTAINERS: GPIO: Add Documentation/driver-api/gpio/ Documentation: driver-api: Move gpio.rst to gpio/index.rst Documentation: gpio: Move introduction to driver-api Documentation: gpio: Move driver documentation to driver-api Documentation: gpio: Move legacy documentation to driver-api Documentation: gpio: Move gpiod_* consumer documentation to driver-api Documentation: gpio: Move GPIO mapping documentation to driver-api Documentation: gpio: Move drivers-on-gpio.txt to driver-api Laura Abbott (2): gpio: Remove VLA from MAX3191X driver gpio: Remove VLA from xra1403 driver Linus Walleij (20): gpio: ftgpio010: Fix some more registers gpio: include consumer header in gpiolib.h gpio: dwapb: Use "stride" rather than "size" for register distance gpio: dwapb: Call directly into the gpiochip to read value gpio: mockup: Update Bamvors mail address Merge tag 'v4.16-rc5' into devel gpio: dln2: Include proper header gpio: ge: Drop of_gpio.h include gpio: em: Use the right include gpio: ftgpio010: Drop of_gpio.h include gpio: grgpio: Include the right header gpio: htc-gpio: Include the right header gpio: ich: Include the right header gpio: ich: Use BIT() macro gpio: it87: Include the right header gpio: janz-ttl: Include the right header gpio: janz-ttl: Use BIT() macro gpio: kempld: Include the right header gpio: ks8695: Include the right header Merge branch 'gpio-reserved-ranges' into devel Maciej S. Szmigiero (1): Revert "gpio: winbond: fix ISA_BUS_API dependency" Markus Elfring (8): gpio-wm831x: Use seq_putc() in wm831x_gpio_dbg_show() gpio: timberdale: Delete an error message gpio: timberdale: Improve a size determination gpio: omap: Delete an error message gpio: omap: Improve a size determination gpio-ml-ioh: Delete an error message gpio: merrifield: Delete an error message gpio-intel-mid: Delete an error message Phil Edworthy (1): gpio: dwapb: Add support for a bus clock Rajmohan Mani (1): gpio: tps68470: Update to SPDX license identifier Stephen Boyd (5): dt-bindings: gpio: Add a gpio-reserved-ranges property gpiolib: Extract mask allocation into subroutine gpiolib: Change bitmap allocation to kmalloc_array gpiolib: Support 'gpio-reserved-ranges' property pinctrl: qcom: Don't allow protected pins to be requested Wang Dongsheng (1): gpiolib: friendly debug information for consumer Wei Yongjun (1): gpio: ath79: Fix potential NULL dereference in ath79_gpio_probe() William Breathitt Gray (12): iio: Change ISA_BUS_API dependency to selection watchdog: Change ISA_BUS_API dependency to selection gpio: Change ISA_BUS_API dependency to selection isa: Remove ISA_BUS_API selection for ISA_BUS pc104: Add EXPERT dependency for PC104 Kconfig option gpio: 104-idio-16: Implement get_multiple callback gpio: pci-idio-16: Implement get_multiple callback gpio: pcie-idio-24: Implement get_multiple/set_multiple callbacks gpio: 104-dio-48e: Implement get_multiple callback gpio: 104-idi-48: Implement get_multiple callback gpio: gpio-mm: Implement get_multiple callback gpio: ws16c48: Implement get_multiple callback .../devicetree/bindings/gpio/gpio-eic-sprd.txt | 97 ++++ .../devicetree/bindings/gpio/gpio-pca953x.txt | 2 + .../devicetree/bindings/gpio/gpio-sprd.txt | 28 + .../devicetree/bindings/gpio/gpio-tz1090-pdc.txt | 45 -- .../devicetree/bindings/gpio/gpio-tz1090.txt | 88 --- Documentation/devicetree/bindings/gpio/gpio.txt | 7 +- .../bindings/gpio/nintendo,hollywood-gpio.txt | 27 + .../bindings/gpio/raspberrypi,firmware-gpio.txt | 30 + .../devicetree/bindings/powerpc/nintendo/wii.txt | 9 +- .../{gpio/board.txt => driver-api/gpio/board.rst} | 39 +- .../consumer.txt => driver-api/gpio/consumer.rst} | 85 +-- .../driver.txt => driver-api/gpio/driver.rst} | 80 +-- .../gpio/drivers-on-gpio.rst} | 1 + .../driver-api/{gpio.rst => gpio/index.rst} | 21 +- .../{gpio/gpio.txt => driver-api/gpio/intro.rst} | 9 +- .../gpio-legacy.txt => driver-api/gpio/legacy.rst} | 68 ++- Documentation/driver-api/index.rst | 2 +- Documentation/gpio/00-INDEX | 13 - Documentation/gpio/sysfs.txt | 5 +- MAINTAINERS | 3 +- arch/x86/Kconfig | 10 +- drivers/gpio/Kconfig | 75 ++- drivers/gpio/Makefile | 7 +- drivers/gpio/gpio-104-dio-48e.c | 47 ++ drivers/gpio/gpio-104-idi-48.c | 47 ++ drivers/gpio/gpio-104-idio-16.c | 15 + drivers/gpio/gpio-ath79.c | 2 + drivers/gpio/gpio-davinci.c | 6 + drivers/gpio/gpio-dln2.c | 7 +- drivers/gpio/gpio-dwapb.c | 81 ++- drivers/gpio/gpio-eic-sprd.c | 606 +++++++++++++++++++++ drivers/gpio/gpio-em.c | 2 +- drivers/gpio/gpio-ftgpio010.c | 7 +- drivers/gpio/gpio-ge.c | 1 - drivers/gpio/gpio-gpio-mm.c | 47 ++ drivers/gpio/gpio-grgpio.c | 3 +- drivers/gpio/gpio-hlwd.c | 115 ++++ drivers/gpio/gpio-htc-egpio.c | 1 + drivers/gpio/gpio-ich.c | 21 +- drivers/gpio/gpio-intel-mid.c | 4 +- drivers/gpio/gpio-it87.c | 2 +- drivers/gpio/gpio-janz-ttl.c | 15 +- drivers/gpio/gpio-kempld.c | 2 +- drivers/gpio/gpio-ks8695.c | 2 +- drivers/gpio/gpio-max3191x.c | 7 +- drivers/gpio/gpio-merrifield.c | 4 +- drivers/gpio/gpio-ml-ioh.c | 1 - drivers/gpio/gpio-mockup.c | 6 +- drivers/gpio/gpio-omap.c | 6 +- drivers/gpio/gpio-pca953x.c | 4 + drivers/gpio/gpio-pci-idio-16.c | 50 ++ drivers/gpio/gpio-pcie-idio-24.c | 117 ++++ drivers/gpio/gpio-pmic-eic-sprd.c | 330 +++++++++++ drivers/gpio/gpio-raspberrypi-exp.c | 252 +++++++++ drivers/gpio/gpio-rcar.c | 60 +- drivers/gpio/gpio-sprd.c | 290 ++++++++++ drivers/gpio/gpio-tegra.c | 16 +- drivers/gpio/gpio-timberdale.c | 7 +- drivers/gpio/gpio-tps68470.c | 10 +- drivers/gpio/gpio-tz1090-pdc.c | 231 -------- drivers/gpio/gpio-tz1090.c | 602 -------------------- drivers/gpio/gpio-wm831x.c | 2 +- drivers/gpio/gpio-ws16c48.c | 47 ++ drivers/gpio/gpio-xra1403.c | 8 +- drivers/gpio/gpiolib-of.c | 24 + drivers/gpio/gpiolib.c | 68 ++- drivers/gpio/gpiolib.h | 2 +- drivers/iio/adc/Kconfig | 3 +- drivers/iio/counter/Kconfig | 3 +- drivers/iio/dac/Kconfig | 3 +- drivers/pinctrl/qcom/pinctrl-msm.c | 65 ++- drivers/watchdog/Kconfig | 3 +- include/linux/gpio/driver.h | 16 + include/linux/platform_data/gpio-htc-egpio.h | 2 - include/soc/bcm2835/raspberrypi-firmware.h | 18 + init/Kconfig | 2 +- tools/gpio/gpio-event-mon.c | 2 +- 77 files changed, 2771 insertions(+), 1274 deletions(-) create mode 100644 Documentation/devicetree/bindings/gpio/gpio-eic-sprd.txt create mode 100644 Documentation/devicetree/bindings/gpio/gpio-sprd.txt delete mode 100644 Documentation/devicetree/bindings/gpio/gpio-tz1090-pdc.txt delete mode 100644 Documentation/devicetree/bindings/gpio/gpio-tz1090.txt create mode 100644 Documentation/devicetree/bindings/gpio/nintendo,hollywood-gpio.txt create mode 100644 Documentation/devicetree/bindings/gpio/raspberrypi,firmware-gpio.txt rename Documentation/{gpio/board.txt => driver-api/gpio/board.rst} (88%) rename Documentation/{gpio/consumer.txt => driver-api/gpio/consumer.rst} (89%) rename Documentation/{gpio/driver.txt => driver-api/gpio/driver.rst} (93%) rename Documentation/{gpio/drivers-on-gpio.txt => driver-api/gpio/drivers-on-gpio.rst} (99%) rename Documentation/driver-api/{gpio.rst => gpio/index.rst} (74%) rename Documentation/{gpio/gpio.txt => driver-api/gpio/intro.rst} (96%) rename Documentation/{gpio/gpio-legacy.txt => driver-api/gpio/legacy.rst} (96%) create mode 100644 drivers/gpio/gpio-eic-sprd.c create mode 100644 drivers/gpio/gpio-hlwd.c create mode 100644 drivers/gpio/gpio-pmic-eic-sprd.c create mode 100644 drivers/gpio/gpio-raspberrypi-exp.c create mode 100644 drivers/gpio/gpio-sprd.c delete mode 100644 drivers/gpio/gpio-tz1090-pdc.c delete mode 100644 drivers/gpio/gpio-tz1090.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