Hi Linus, here is the big GPIO pull request for v4.13. The details are in the signed tag as usual. Some administrativa: I have a slew of 8250 serial patches and the new IOT2040 serial+GPIO driver coming in through this tree, along with a whole bunch of Exar 8250 fixes. These are ACKed by Greg and also hit drivers/platform/* where they are ACKed by Andy Shevchenko. Speaking about drivers/platform/* there is also a bunch of ACPI stuff coming through that route, again ACKed by Andy. The MCP23S08 changes are coming in here as well. You already have the commits in your tree, so this is just a result of sharing an immutable branch between pin control and GPIO. Then there is one merge conflict. I resisted pulling in a release candidate to resolve it because I think that was messy for no major reason. The conflict is in: drivers/gpio/gpio-mvebu.c <<<<<<< HEAD writel_relaxed(set, mvebu_gpioreg_blink_counter_select(mvchip)); ======= regmap_write(mvchip->regs, GPIO_BLINK_CNT_SELECT_OFF + mvchip->offset, 0); >>>>>>> 65b69a94f4130143bfb8d4e995b875ae35d993f3 It should be resolved like this: regmap_write(mvchip->regs, GPIO_BLINK_CNT_SELECT_OFF + mvchip->offset, set); So the second line with the "0" argument switched to "set". It is a result of fixes on the rc's followed by a conversion to regmap on the main development branch. Apart from this it should all be fine. Please pull it in! Yours, Linus Walleij The following changes since commit 08332893e37af6ae779367e78e444f8f9571511d: Linux 4.12-rc2 (2017-05-21 19:30:23 -0700) are available in the git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio.git tags/gpio-v4.13-1 for you to fetch changes up to 413058df4331ce29f9934a5870d582c7e71fe15f: serial: exar: Add support for IOT2040 device (2017-07-03 08:33:20 +0200) ---------------------------------------------------------------- This is the bulk of GPIO changes for the v4.13 series: Core: - Export add/remove for lookup tables so that modules can export GPIO descriptor tables. - Handle GPIO sleep states: it is now possible to flag that a GPIO line may loose its state during suspend/resume of the system to save power. This is used in the Wolfson Micro Arizona driver. - ACPI-based GPIO was tightened up a lot around the edges. - Use bitmap_fill() to speed up a loop. New drivers: - Exar XRA1403 SPI-based GPIO. - MVEBU driver now supports Armada 7K and 8K. - LP87565 PMIC GPIO. - Renesas R-CAR R8A7743 (RZ/G1M). - The new IOT2040 8250 serial/GPIO also comes in through this changeset. Substantial driver changes: - Seriously fix the Exar 8250 GPIO portions to work. - The MCP23S08 was moved out to a pin control driver. - Convert MEVEBU to use regmap for register access. - Drop Vulcan support from the Broadcom driver. - Serious cleanup and improvement of the mockup driver, giving us a better test coverage. Misc: - Lots of janitorial clean up. - A bunch of documentation fixes. ---------------------------------------------------------------- Anatolij Gustschin (1): gpio: export add/remove lookup table functions Andy Shevchenko (14): gpiolib: Export gpiod_configure_flags() to internal users gpio: acpi: Align acpi_find_gpio() with DT version gpio: acpi: Do sanity check for GpioInt in acpi_find_gpio() gpio: acpi: Even more tighten up ACPI GPIO lookups gpio: acpi: Synchronize acpi_find_gpio() and acpi_gpio_count() gpio: acpi: Explain how to get GPIO descriptors in ACPI case gpio: acpi: Factor out acpi_gpio_to_gpiod_flags() helper gpio: acpi: Override GPIO initialization flags gpio: acpi: Split out acpi_gpio_get_irq_resource() helper PNP / ACPI: join strings back for better maintenance PNP / ACPI: remove FSF address gpiolib: Re-use bitmap_fill() instead of open coded loop gpio: merrifield: Remove unused header MAINTAINERS: Take maintainership for GPIO ACPI support Arnd Bergmann (2): gpiolib: remove unused variable gpio: xra1403: select REGMAP_SPI Arvind Yadav (1): gpio: davinci: Handle return value of clk_prepare_enable Bartosz Golaszewski (15): gpio: mockup: fix direction values gpio: mockup: add prefixes to the direction enum gpio: mockup: be quiet unless something goes wrong gpio: mockup: support irqmask and irqunmask gpio: pch: check the return value of irq_alloc_generic_chip() gpio: sta2x11: check the return value of irq_alloc_generic_chip() gpio: ml-ioh: check the return value of irq_alloc_generic_chip() gpio: mockup: improve the debugfs input sanitization gpio: mockup: tweak gpio_mockup_event_write() gpio: mockup: refuse to accept an odd number of GPIO ranges gpio: mockup: improve readability gpio: mockup: don't return magic numbers from probe() gpio: mockup: improve the error message gpio: mockup: add myself as author gpio: mockup: use devm_kcalloc() where applicable Biju Das (1): gpio: rcar: Add R8A7743 (RZ/G1M) support Charles Keepax (4): gpio: of: Reflect decoupling of open collector and active low/high gpio: Add new flags to control sleep status of GPIOs gpio: arizona: Add support for GPIOs that need to be maintained gpio: of: Add documentation of new sleep standard GPIO specifiers Geert Uytterhoeven (1): gpio: of: Spelling: s/retures/returns/ Gregory CLEMENT (5): gpio: mvebu: sort header include gpio: mvebu: allow building driver for Armada 7K/8K gpio: mvebu: Select REGMAP_MMIO now that regmap is used gpio: mvebu: fix regmap_update_bits usage gpio: mvebu: Add support for the Armada 7K/8K SoCs Jagadish Krishnamoorthy (1): PNP / ACPI: add support for GpioInt resource type Jan Kiszka (11): gpio-exar/8250-exar: Fix passing in of parent PCI device gpio: exar: Allocate resources on behalf of the platform device gpio: exar: Fix reading of directions and values serial: uapi: Add support for bus termination gpio-exar/8250-exar: Do not even instantiate a GPIO device for Commtech cards gpio: exar: Fix iomap request gpio-exar/8250-exar: Rearrange gpiochip parenthood serial: exar: Factor out platform hooks platform: Accept const properties gpio-exar/8250-exar: Make set of exported GPIOs configurable serial: exar: Add support for IOT2040 device Jayachandran C (1): gpio: xlp: update GPIO_XLP dependency Keerthy (2): MAINTAINERS: gpio: gpio-davinci: Add entry for gpio-davinci driver gpio: lp87565: Add support for GPIO Kuppuswamy Sathyanarayanan (1): gpio: gpio-wcove: Fix GPIO control register offset calculation Linus Walleij (1): Merge branch 'mcp23s08' of /home/linus/linux-pinctrl into devel Masahiro Yamada (1): gpio: zynq: remove unneeded (void *) casts in of_match_table Nandor Han (2): gpio: xra1403: Add EXAR XRA1403 SPI GPIO expander driver gpio: xra1403: Add XRA1403 support to MAINTAINERS file Sebastian Reichel (14): gpio: mcp23s08: move to pinctrl pinctrl: mcp23s08: add pinconf support pinctrl: mcp23s08: drop pullup config from pdata pinctrl: mcp23s08: switch to regmap caching pinctrl: mcp23s08: drop OF_GPIO dependency pinctrl: mcp23s08: irq mapping is already done pinctrl: mcp23s08: use managed kzalloc for mcp pinctrl: mcp23s08: switch to devm_gpiochip_add_data pinctrl: mcp23s08: simplify i2c pdata handling pinctrl: mcp23s08: simplify spi pdata handling pinctrl: mcp23s08: generalize irq property handling pinctrl: mcp23s08: simplify spi_present_mask handling pinctrl: mcp23s08: drop comment about missing irq support pinctrl: mcp23s08: fix comment for mcp23s08_platform_data.base Soren Brinkmann (1): gpio: zynq: Clarify quirk and provide helper function Thomas Petazzoni (1): gpio: mvebu: switch to regmap for register access Uwe Kleine-König (1): gpio: fix description for gpio-ranges example Wolfram Sang (3): gpio: max732x: move header file out of I2C realm gpio: pcf857x: move header file out of I2C realm gpio: adp5588: move header file out of I2C realm Xiaoguang Chen (1): gpio: dwapb: fix missing first irq for edgeboth irq type Documentation/acpi/gpio-properties.txt | 65 +++ Documentation/devicetree/bindings/gpio/gpio.txt | 13 +- .../devicetree/bindings/gpio/renesas,gpio-rcar.txt | 1 + MAINTAINERS | 24 + arch/arm/configs/lpc32xx_defconfig | 2 +- arch/arm/mach-davinci/board-da830-evm.c | 2 +- arch/arm/mach-davinci/board-dm644x-evm.c | 2 +- arch/arm/mach-davinci/board-dm646x-evm.c | 2 +- arch/arm/mach-pxa/balloon3.c | 2 +- arch/arm/mach-pxa/littleton.c | 2 +- arch/arm/mach-pxa/stargate2.c | 2 +- arch/blackfin/configs/BF609-EZKIT_defconfig | 2 +- arch/blackfin/mach-bf527/boards/tll6527m.c | 8 +- arch/blackfin/mach-bf537/boards/stamp.c | 2 +- arch/blackfin/mach-bf609/boards/ezkit.c | 4 +- arch/mips/ath79/mach-pb44.c | 2 +- drivers/base/platform.c | 2 +- drivers/gpio/Kconfig | 37 +- drivers/gpio/Makefile | 3 +- drivers/gpio/gpio-adp5588.c | 2 +- drivers/gpio/gpio-arizona.c | 35 +- drivers/gpio/gpio-davinci.c | 11 +- drivers/gpio/gpio-dwapb.c | 3 +- drivers/gpio/gpio-exar.c | 79 +-- drivers/gpio/gpio-lp87565.c | 190 ++++++ drivers/gpio/gpio-max732x.c | 2 +- drivers/gpio/gpio-merrifield.c | 1 - drivers/gpio/gpio-ml-ioh.c | 16 +- drivers/gpio/gpio-mockup.c | 98 ++-- drivers/gpio/gpio-mvebu.c | 540 ++++++++++------- drivers/gpio/gpio-pcf857x.c | 2 +- drivers/gpio/gpio-pch.c | 15 +- drivers/gpio/gpio-rcar.c | 4 + drivers/gpio/gpio-sta2x11.c | 12 +- drivers/gpio/gpio-wcove.c | 75 ++- drivers/gpio/gpio-xra1403.c | 237 ++++++++ drivers/gpio/gpio-zynq.c | 26 +- drivers/gpio/gpiolib-acpi.c | 185 +++--- drivers/gpio/gpiolib-of.c | 5 +- drivers/gpio/gpiolib.c | 31 +- drivers/gpio/gpiolib.h | 18 +- drivers/input/keyboard/adp5588-keys.c | 2 +- drivers/pinctrl/Kconfig | 13 + drivers/pinctrl/Makefile | 1 + .../gpio-mcp23s08.c => pinctrl/pinctrl-mcp23s08.c} | 647 +++++++++++++-------- drivers/pnp/pnpacpi/rsparser.c | 38 +- drivers/tty/serial/8250/8250_exar.c | 173 +++++- include/dt-bindings/gpio/gpio.h | 4 + include/linux/acpi.h | 7 + include/linux/gpio/driver.h | 3 + include/linux/gpio/machine.h | 2 + include/linux/of_gpio.h | 1 + include/linux/{i2c => platform_data}/adp5588.h | 0 include/linux/{i2c => platform_data}/max732x.h | 0 include/linux/{i2c => platform_data}/pcf857x.h | 0 include/linux/platform_device.h | 2 +- include/linux/spi/mcp23s08.h | 38 +- include/uapi/linux/serial.h | 3 + 58 files changed, 1933 insertions(+), 765 deletions(-) create mode 100644 drivers/gpio/gpio-lp87565.c create mode 100644 drivers/gpio/gpio-xra1403.c rename drivers/{gpio/gpio-mcp23s08.c => pinctrl/pinctrl-mcp23s08.c} (64%) rename include/linux/{i2c => platform_data}/adp5588.h (100%) rename include/linux/{i2c => platform_data}/max732x.h (100%) rename include/linux/{i2c => platform_data}/pcf857x.h (100%) -- 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