From patchwork Tue Sep 5 08:55:35 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Linus Walleij X-Patchwork-Id: 810013 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=linux-gpio-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=linaro.org header.i=@linaro.org header.b="RL1Khhwn"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3xmgXv6k0Sz9s7h for ; Tue, 5 Sep 2017 18:55:43 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751317AbdIEIzl (ORCPT ); Tue, 5 Sep 2017 04:55:41 -0400 Received: from mail-oi0-f54.google.com ([209.85.218.54]:36694 "EHLO mail-oi0-f54.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750960AbdIEIzh (ORCPT ); Tue, 5 Sep 2017 04:55:37 -0400 Received: by mail-oi0-f54.google.com with SMTP id x190so4595271oix.3 for ; Tue, 05 Sep 2017 01:55:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=mime-version:from:date:message-id:subject:to:cc :content-transfer-encoding; bh=hCdcThdTcnoK49nNrupqLE1d6j3sCeTNnUlzIz1XR2Q=; b=RL1Khhwng2anaVK5Q+GCP/UH4/K3DiayHxjIxVBVJ0WxSqIuwYl0/5FX03ZjeVzjim 606ykuFp7QOYACZuwVWpkQLXIn3uWITlWVsSF0xF9cp92M/kzu23ZvCq4o9A3ZbpiDQW DJGXNc4EgV5RBIeAhuVGJnG1IeNL++7Q1XVrg= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to:cc :content-transfer-encoding; bh=hCdcThdTcnoK49nNrupqLE1d6j3sCeTNnUlzIz1XR2Q=; b=Z5qWKmJSLGB6mXRMlWRP/o/OOfo1DVbo0IVknQZ/+JRwVm2Xmc3/GtKNmLVehbJZ9z bdJc2tChjvncY0VZGjuAwHvPhFMKcPEM3j0oPAopoJwOuXK0sjqH3SO6F8gGcb0septG TwvmrmK8ccAZSSMyry8CTDLGYXXJfbLRuBd9ly8BjwZSY74oeL84UI26HjEf9fp6pHl4 S/4aTKu1aUg00I9kVtRcGAzzmVAAlGq2fSySOGybInjvmh+WkaHNYgiTX2H1eUoLJ8EW wMoKWVos76YEZf2O8FbuTMreFF4bJc8qByeayNRBDYuEb/uUz17rVUtENZLsUCEuzkoH jqmg== X-Gm-Message-State: AHPjjUjJ+Td1rH0J4Z2D0Z+LUvQKwQYxmvLMoGoM38ktyCwVEoSyrCwo 22q0Pt8lCRBhbrdotoV5VfdL9CPO3tXf X-Google-Smtp-Source: ADKCNb6DYHCFBN5MkADM0cSUCDINupxmv9brFA4T6zNDIPeano4n3zc7cVF+GVDsxpxQuQlkg7eCFlY5pUDUmIzfqnU= X-Received: by 10.202.76.195 with SMTP id z186mr2931677oia.316.1504601736244; Tue, 05 Sep 2017 01:55:36 -0700 (PDT) MIME-Version: 1.0 Received: by 10.157.58.74 with HTTP; Tue, 5 Sep 2017 01:55:35 -0700 (PDT) From: Linus Walleij Date: Tue, 5 Sep 2017 10:55:35 +0200 Message-ID: Subject: [GIT PULL] GPIO bulk changes for v4.14 To: Linus Torvalds Cc: "linux-kernel@vger.kernel.org" , "linux-gpio@vger.kernel.org" , David Daney Sender: linux-gpio-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-gpio@vger.kernel.org Hi Linus, this is the bulk of GPIO changes for the v4.14 development cycle. I have pulled in an immutable branch from Thomas Gleixner to build new GPIO irqchip infrastructure on top, so some patches (that I see already landed in your tree) appear here as well. It should all merge up fine. The details are in the signed tag as usual. Not so much changes this time, phew. David Daney and Bartosz Golaszewski did all the really interesting work in infrastructure improvement across GPIO and IRQ core, hats off for them and to tglx and Marc Z for general help with these patch sets. I had to revert a semantic change for lines to be requested before checking their direction in the core, let's see if we can figure this out for the next cycle instead. Please pull it in! Yours, Linus Walleij The following changes since commit ef954844c7ace62f773f4f23e28d2d915adc419f: Linux 4.13-rc5 (2017-08-13 16:01:32 -0700) are available in the git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio.git tags/gpio-v4.14-1 for you to fetch changes up to 02b6bddb0b0a4e27fad6623d82579f2a1e35d3d3: gpio: mockup: remove unused variable gc (2017-08-31 15:21:07 +0200) ---------------------------------------------------------------- This is the bulk of the GPIO changes for the v4.14 cycle: Core changes - Allow the GPIO irqchip to allocate IRQs dynamically. This is an important change on systems where only a restricted number of IRQs, lesser than the number of GPIO lines, can be utilized. Now we can allocate these on a first-come-first-served basis instead of hogging up valuable IRQ lines. - Serious fix-up of the kerneldoc documentation and inclusion into the kerneldoc builds. - Pulled in the IRQ simulator from the IRQ core tree and use this in the GPIO mockup driver for exhaustive testing of interrupt abilities. New drivers - New driver for ThunderX and OCTEON-TX. This is especially interesting as it picks up improvements from the IRQ core that allow us to handle fasteoi ACKs upwards in a hierarchy when there are IRQ flag latches on several levels in a hierarchy. Very interesting work here. - New subdriver for Renesas R-Car r8a7745 (RZ/G1E). Misc - Several fixes and improvements for Xilinx Zynq GPIO. - Support an enablement GPIO for the 74x164 GPIO. - Switch a bunch of chips to use devres to allocate irq descriptors. - A bunch of constification fixes. ---------------------------------------------------------------- Andrew Jeffery (2): dt-bindings: gpio: aspeed: Remove reference to clock name gpio: aspeed: Remove reference to clock name in debounce warning message Andy Shevchenko (1): gpio: pca953x: remove incorrect le16_to_cpu calls Arvind Yadav (3): gpio: mb86s7x: Handle return value of clk_prepare_enable. gpio: omap : Add missing clk_unprepare(). gpio: pl061: constify amba_id Bartosz Golaszewski (11): genirq/irq_sim: Add a simple interrupt simulator framework genirq/irq_sim: Add a devres variant of irq_sim_init() gpio: mxc: disallow unbinding the driver gpio: mxs: disallow unbinding the driver gpio: sta2x11: disallow unbinding the driver gpio: sta2x11: use devres for irq generic chip gpio: ml-ioh: use devres for irq generic chip gpio: pch: use devres for irq generic chip gpio: mxc: use devres for irq generic chip gpio: mxs: use devres for irq generic chip gpio: mockup: use irq_sim Bhumika Goyal (2): gpio: max77620: Make regmap_irq_chip const gpio: zevio: make gpio_chip const Biju Das (1): gpio: rcar: Add r8a7745 (RZ/G1E) support Colin Ian King (1): gpio: mockup: remove unused variable gc David Daney (7): genirq: Export more irq_chip_*_parent() functions genirq: Add handle_fasteoi_{level,edge}_irq flow handlers irqdomain: Factor out code to add and remove items to and from the revmap irqdomain: Check for NULL function pointer in irq_domain_free_irqs_hierarchy() irqdomain: Add irq_domain_{push,pop}_irq() functions gpio: Add gpio driver support for ThunderX and OCTEON-TX MAINTAINERS: Add entry for THUNDERX GPIO Driver. Diego Elio Pettenò (1): gpio: it87: add support for IT8772F Super I/O. Dmitry Torokhov (1): gpio: add gpio_add_lookup_tables() to add several tables at once Dong Aisheng (2): dt-bindings: gpio-vf610: add imx7ulp support gpio: vf610: add imx7ulp support Fabio Estevam (1): gpio: 74x164: Introduce 'enable-gpios' property Grygorii Strashko (3): gpiolib: allow gpio irqchip to map irqs dynamically gpio: pxa: remove gpio_to_irq() from hw irq handlers gpio: tegra: remove gpio_to_irq() from hw irq handlers Gustavo A. R. Silva (2): gpio: altera-a10sr: constify gpio_chip structure gpio: msic: fix error return code in platform_msic_gpio_probe() Keerthy (4): gpio: davinci: Use devm_gpiochip_add_data in place of gpiochip_add_data gpio: davinci: Convert prinkt to dev_err dt-bindings: gpio: davinci: Add keystone-k2g compatible gpio: davinci: Handle the return value of davinci_gpio_irq_setup function Linus Walleij (2): Merge branch 'irq/for-gpio' of git://git.kernel.org/.../tip/tip into devel Revert "gpiolib: request the gpio before querying its direction" Masahiro Yamada (3): gpio: replace __maybe_unused in gpiolib.h with static inline gpio: brcmstb: check return value of gpiochip_irqchip_add() gpio: twl6040: remove unneeded forward declaration Michal Simek (2): gpio: zynq: Fix empty lines in driver gpio: zynq: Fix driver function parameters alignment Nava kishore Manne (2): gpio: zynq: Fix kernel doc warnings gpio: zynq: Fix warnings in the driver Philipp Rosenberger (1): gpio: gpio-mxc: gpio_set_wake_irq() use proper return values Rajmohan Mani (1): gpio: Add support for TPS68470 GPIOs Rob Herring (1): gpio: Convert to using %pOF instead of full_name Shubhrajyoti Datta (1): gpio: zynq: Add support for suspend resume Simon Horman (1): gpio: rcar: add gen[123] fallback compatibility strings Swapna Manupati (1): gpio: zynq: Provided workaround for GPIO Thierry Reding (13): gpio: tegra: Use platform_irq_count() gpio: tegra: Use platform_get_irq() gpio: Cleanup kerneldoc gpio: of: Improve kerneldoc gpio: devres: Improve kerneldoc gpio: acpi: Fixup kerneldoc gpio: sysfs: Fixup kerneldoc docs: driver-api: Add GPIO section gpio: Use unsigned int for of_gpio_n_cells gpio: tegra: Remove unnecessary check gpio: tegra: Prefer kcalloc() over kzalloc() with multiplies gpio: tegra: Fix checkpatch warnings gpio: tegra: Use unsigned int where possible Timur Tabi (1): gpiolib: request the gpio before querying its direction .../devicetree/bindings/gpio/gpio-74x164.txt | 3 + .../devicetree/bindings/gpio/gpio-aspeed.txt | 2 +- .../devicetree/bindings/gpio/gpio-davinci.txt | 91 ++- .../devicetree/bindings/gpio/gpio-vf610.txt | 4 +- .../devicetree/bindings/gpio/renesas,gpio-rcar.txt | 16 +- Documentation/driver-api/gpio.rst | 45 ++ Documentation/driver-api/index.rst | 1 + Documentation/driver-model/devres.txt | 1 + MAINTAINERS | 5 + drivers/gpio/Kconfig | 26 +- drivers/gpio/Makefile | 2 + drivers/gpio/devres.c | 3 + drivers/gpio/gpio-74x164.c | 10 + drivers/gpio/gpio-altera-a10sr.c | 2 +- drivers/gpio/gpio-altera.c | 4 +- drivers/gpio/gpio-aspeed.c | 2 +- drivers/gpio/gpio-brcmstb.c | 11 +- drivers/gpio/gpio-davinci.c | 22 +- drivers/gpio/gpio-ge.c | 6 +- drivers/gpio/gpio-grgpio.c | 2 +- drivers/gpio/gpio-it87.c | 3 + drivers/gpio/gpio-max77620.c | 2 +- drivers/gpio/gpio-mb86s7x.c | 4 +- drivers/gpio/gpio-ml-ioh.c | 12 +- drivers/gpio/gpio-mockup.c | 79 +-- drivers/gpio/gpio-mpc8xxx.c | 4 +- drivers/gpio/gpio-msic.c | 4 +- drivers/gpio/gpio-mxc.c | 27 +- drivers/gpio/gpio-mxs.c | 15 +- drivers/gpio/gpio-omap.c | 2 + drivers/gpio/gpio-pca953x.c | 8 +- drivers/gpio/gpio-pch.c | 12 +- drivers/gpio/gpio-pl061.c | 2 +- drivers/gpio/gpio-pxa.c | 8 +- drivers/gpio/gpio-rcar.c | 10 + drivers/gpio/gpio-sta2x11.c | 14 +- drivers/gpio/gpio-tb10x.c | 3 +- drivers/gpio/gpio-tegra.c | 129 ++--- drivers/gpio/gpio-thunderx.c | 639 +++++++++++++++++++++ drivers/gpio/gpio-tps68470.c | 176 ++++++ drivers/gpio/gpio-twl6040.c | 2 - drivers/gpio/gpio-tz1090.c | 10 +- drivers/gpio/gpio-vf610.c | 47 +- drivers/gpio/gpio-xilinx.c | 4 +- drivers/gpio/gpio-zevio.c | 2 +- drivers/gpio/gpio-zynq.c | 160 +++++- drivers/gpio/gpiolib-acpi.c | 4 +- drivers/gpio/gpiolib-of.c | 36 +- drivers/gpio/gpiolib-sysfs.c | 8 +- drivers/gpio/gpiolib.c | 130 +++-- drivers/gpio/gpiolib.h | 2 +- include/linux/gpio/driver.h | 24 +- include/linux/gpio/machine.h | 3 + include/linux/irq.h | 2 + include/linux/irq_sim.h | 44 ++ include/linux/irqdomain.h | 3 + kernel/irq/Kconfig | 9 + kernel/irq/Makefile | 1 + kernel/irq/chip.c | 109 ++++ kernel/irq/irq_sim.c | 164 ++++++ kernel/irq/irqdomain.c | 230 +++++++- 61 files changed, 2049 insertions(+), 356 deletions(-) create mode 100644 Documentation/driver-api/gpio.rst create mode 100644 drivers/gpio/gpio-thunderx.c create mode 100644 drivers/gpio/gpio-tps68470.c create mode 100644 include/linux/irq_sim.h create mode 100644 kernel/irq/irq_sim.c --- To unsubscribe from this list: send the line "unsubscribe linux-gpio" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html