From patchwork Thu Sep 28 09:56:12 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Thierry Reding X-Patchwork-Id: 819488 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" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="FX9NjlhD"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3y2qpY6632z9t5Y for ; Thu, 28 Sep 2017 19:56:37 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752448AbdI1J4f (ORCPT ); Thu, 28 Sep 2017 05:56:35 -0400 Received: from mail-qk0-f193.google.com ([209.85.220.193]:35870 "EHLO mail-qk0-f193.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751082AbdI1J4e (ORCPT ); Thu, 28 Sep 2017 05:56:34 -0400 Received: by mail-qk0-f193.google.com with SMTP id j5so103527qkd.3; Thu, 28 Sep 2017 02:56:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id; bh=37wziiYh/zZnlfNQxHGKUKntP3yDPBvVCCxsXKN8xHk=; b=FX9NjlhDDWPzBeY11SzqDvIpjzyawdkXBwnPt2b65yONBAI2fwAR/RlotfaNu7OO6J dLRyh6+D723S8SJQUNB0wDWkWgvyfECA1Rf3Z6U6hqWQxrxOgkkTOPQgOJSPvToK6ctV fauD2wGWjQXMyVK5w2LWEgwxV4hrthQRlZUpXaSEI/GLAOHQ9AbWI7uqfkkF+cCKCJdw 0aYlEl3BVAuFvxZ67Ro5pLqmKtk15LGPlKTpN3W4k3Oco6N2q6CpkLtf9KlkBQeMFacs P4IAQBH0jyEkWcexJ5UPGSplRI87OC0wn79Kw/SSzAYzJh8Eajm8owZ7Q68uGv65DNgm IJTw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=37wziiYh/zZnlfNQxHGKUKntP3yDPBvVCCxsXKN8xHk=; b=q9bkfAn1t/LMqN5pwlc/1kGlQP2YvRj62dfF5JbKXM8t4E+fom9pEJiHTKlCwoD57X T1PmAa1Yr5cWDyj9EAc/Vx9t6TND04lf0aminbygxpnGetfV4cVMwaM24itJ+efdWb/F TjBF/PRYTW2MJ5iUDcZOKBZkaHARysFxB/JhJNiokvC1zBO4jyXgs5lWebZFj9qmxEMm 9XTZoKPzXYr5kEnyUFwuPfZaVgplsXqeORi9P0IceCa7N60Q3uBQpycIonhCqqANLpeP 7nEwIaKVPLiEuxIpt7h77rfNUK1u5GAjQhNW+DSfCGrsZoRQweiYv6tLuK9QMvLj4AKB Pm/g== X-Gm-Message-State: AMCzsaWavEzbS9OysS9XUs11j94Q0mgDnjR8Y8OSaIzH6hR7B8is0lIj d0oXT3Yq9zvNSAvx8gwmWPA= X-Google-Smtp-Source: AOwi7QA0mvfqIZ+Y/HaX0Xpi65RWU47T5fG4AjafWBuN6v86OqT7jePR31ZqLAD96hjd1Pkv6illaA== X-Received: by 10.233.237.77 with SMTP id c74mr6231891qkg.256.1506592593287; Thu, 28 Sep 2017 02:56:33 -0700 (PDT) Received: from localhost (p200300E41BCC8100EA54DC343767CF80.dip0.t-ipconnect.de. [2003:e4:1bcc:8100:ea54:dc34:3767:cf80]) by smtp.gmail.com with ESMTPSA id m203sm735539qke.21.2017.09.28.02.56.32 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Thu, 28 Sep 2017 02:56:32 -0700 (PDT) From: Thierry Reding To: Linus Walleij Cc: Jonathan Hunter , linux-gpio@vger.kernel.org, linux-tegra@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v2 00/16] gpio: Tight IRQ chip integration and banked infrastructure Date: Thu, 28 Sep 2017 11:56:12 +0200 Message-Id: <20170928095628.21966-1-thierry.reding@gmail.com> X-Mailer: git-send-email 2.14.1 Sender: linux-gpio-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-gpio@vger.kernel.org From: Thierry Reding Hi Linus, here's the latest series of patches that implement the tighter IRQ chip integration as well as the banked GPIO infrastructure that we had discussed a couple of weeks/months back. The first couple of patches are mostly preparatory work in order to consolidate all IRQ chip related fields in a new structure and create the base functionality for adding IRQ chips. After that, I've added the Tegra186 GPIO support patch that makes use of the new tight integration. To round things off the new banked GPIO infrastructure is added (along with some more preparatory work), followed by the conversion of the two Tegra GPIO drivers to the new infrastructure. Changes in v2: - rename pins to lines for consistent terminology - rename gpio_irq_chip_banked_handler() to gpio_irq_chip_banked_chained_handler() Thierry Thierry Reding (16): gpio: Implement tighter IRQ chip integration gpio: Move irqchip into struct gpio_irq_chip gpio: Move irqdomain into struct gpio_irq_chip gpio: Move irq_base to struct gpio_irq_chip gpio: Move irq_handler to struct gpio_irq_chip gpio: Move irq_default_type to struct gpio_irq_chip gpio: Move irq_chained_parent to struct gpio_irq_chip gpio: Move irq_nested into struct gpio_irq_chip gpio: Move irq_valid_mask into struct gpio_irq_chip gpio: Move lock_key into struct gpio_irq_chip gpio: Add Tegra186 support gpio: omap: Fix checkpatch warnings gpio: omap: Rename struct gpio_bank to struct omap_gpio_bank gpio: Add support for banked GPIO controllers gpio: tegra: Use banked GPIO infrastructure gpio: tegra186: Use banked GPIO infrastructure Documentation/gpio/driver.txt | 6 +- drivers/bcma/driver_gpio.c | 2 +- drivers/gpio/Kconfig | 10 + drivers/gpio/Makefile | 1 + drivers/gpio/gpio-104-dio-48e.c | 2 +- drivers/gpio/gpio-104-idi-48.c | 2 +- drivers/gpio/gpio-104-idio-16.c | 2 +- drivers/gpio/gpio-adnp.c | 2 +- drivers/gpio/gpio-altera.c | 4 +- drivers/gpio/gpio-aspeed.c | 6 +- drivers/gpio/gpio-ath79.c | 2 +- drivers/gpio/gpio-brcmstb.c | 2 +- drivers/gpio/gpio-crystalcove.c | 2 +- drivers/gpio/gpio-dln2.c | 2 +- drivers/gpio/gpio-ftgpio010.c | 2 +- drivers/gpio/gpio-ingenic.c | 2 +- drivers/gpio/gpio-intel-mid.c | 2 +- drivers/gpio/gpio-lynxpoint.c | 2 +- drivers/gpio/gpio-max732x.c | 2 +- drivers/gpio/gpio-merrifield.c | 2 +- drivers/gpio/gpio-omap.c | 222 ++++++----- drivers/gpio/gpio-pca953x.c | 2 +- drivers/gpio/gpio-pcf857x.c | 2 +- drivers/gpio/gpio-pci-idio-16.c | 2 +- drivers/gpio/gpio-pl061.c | 2 +- drivers/gpio/gpio-rcar.c | 2 +- drivers/gpio/gpio-reg.c | 4 +- drivers/gpio/gpio-stmpe.c | 6 +- drivers/gpio/gpio-tc3589x.c | 2 +- drivers/gpio/gpio-tegra.c | 203 +++++----- drivers/gpio/gpio-tegra186.c | 571 ++++++++++++++++++++++++++++ drivers/gpio/gpio-vf610.c | 2 +- drivers/gpio/gpio-wcove.c | 2 +- drivers/gpio/gpio-ws16c48.c | 2 +- drivers/gpio/gpio-xgene-sb.c | 2 +- drivers/gpio/gpio-xlp.c | 2 +- drivers/gpio/gpio-zx.c | 2 +- drivers/gpio/gpio-zynq.c | 2 +- drivers/gpio/gpiolib-of.c | 101 +++++ drivers/gpio/gpiolib.c | 320 ++++++++++++++-- drivers/pinctrl/bcm/pinctrl-bcm2835.c | 5 +- drivers/pinctrl/bcm/pinctrl-iproc-gpio.c | 2 +- drivers/pinctrl/intel/pinctrl-baytrail.c | 6 +- drivers/pinctrl/intel/pinctrl-cherryview.c | 6 +- drivers/pinctrl/intel/pinctrl-intel.c | 2 +- drivers/pinctrl/mvebu/pinctrl-armada-37xx.c | 4 +- drivers/pinctrl/nomadik/pinctrl-nomadik.c | 4 +- drivers/pinctrl/pinctrl-amd.c | 2 +- drivers/pinctrl/pinctrl-at91.c | 2 +- drivers/pinctrl/pinctrl-coh901.c | 2 +- drivers/pinctrl/pinctrl-mcp23s08.c | 2 +- drivers/pinctrl/pinctrl-oxnas.c | 2 +- drivers/pinctrl/pinctrl-pic32.c | 2 +- drivers/pinctrl/pinctrl-pistachio.c | 2 +- drivers/pinctrl/pinctrl-st.c | 2 +- drivers/pinctrl/pinctrl-sx150x.c | 2 +- drivers/pinctrl/qcom/pinctrl-msm.c | 2 +- drivers/pinctrl/sirf/pinctrl-atlas7.c | 2 +- drivers/pinctrl/sirf/pinctrl-sirf.c | 2 +- drivers/pinctrl/spear/pinctrl-plgpio.c | 2 +- drivers/platform/x86/intel_int0002_vgpio.c | 6 +- include/linux/gpio/driver.h | 272 +++++++++++-- include/linux/of_gpio.h | 10 + 63 files changed, 1505 insertions(+), 348 deletions(-) create mode 100644 drivers/gpio/gpio-tegra186.c