From patchwork Fri Oct 13 15:49:00 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Thierry Reding X-Patchwork-Id: 825549 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-tegra-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="UFo/bt6t"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3yDC1x6C3hz9sRm for ; Sat, 14 Oct 2017 02:53:57 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1758514AbdJMPtT (ORCPT ); Fri, 13 Oct 2017 11:49:19 -0400 Received: from mail-qt0-f194.google.com ([209.85.216.194]:55955 "EHLO mail-qt0-f194.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1757998AbdJMPtR (ORCPT ); Fri, 13 Oct 2017 11:49:17 -0400 Received: by mail-qt0-f194.google.com with SMTP id v41so10162998qtv.12; Fri, 13 Oct 2017 08:49:17 -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=tc+jaAqOwGQgiAhxXryvvTsUPGYrsCH+hseXDnq8Gng=; b=UFo/bt6tSvRWDwKcekBWYUfHibOcy9BrphRpk8bvlmx0rnW6+NfYbrsYCfMM41kVrY YlJtVOvDB+Aa/fWOtbAna89/eYky1a0JLhtAl3zc8qAd6EUWspEjQsWyKPbqVLQ0r8HE UuhlA4d+4bWX4e6W1PIhgSVbIc2TvbNB6xMafbQlik6M4Rp2wHbLdNkhfy7hxOvjgIgQ oqzWjm6rvVGqpNF+I13WYz3YPPmyXkgyK3czUJ2DGCE5juN/XcdrAcnL0Fjo3SX8UGd3 F/tT8OZ8NuBGfCK3fYlI0Xqik7fniFQpJE6OlhkjIIaUtzcteKnopsAtHWSqguyXyWfD JWQA== 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=tc+jaAqOwGQgiAhxXryvvTsUPGYrsCH+hseXDnq8Gng=; b=s6UEZzfT0rjroK6l/eC7v2ZQYdPYD3UWoFbNESC0abJGX+u/6K/2xX62Sqk3s+n8ea lLCjJtt5tD1H7AnAYs7kdPwihycwxxFTE5auhBdgYx8kMnaC5LLwoGmpwdIrcTbuM/mY PJzoB3bgei0EL8lG5V7QDF3M9cUDP92cFPlIWpasGxu0ITS/STCp60GEH6Dzfxl3eh5+ QKQMMWiA/NCqP7Q3mvsXJUOA7rsCjEQf7o57QHGRbaowTdL1C76dVerB8avm6xW2zOFK MdnQiRxp62WqtjSSoxP2SaBjDc1lBR7x8Hn6O0+X/EEZdSB8tV6O2m2zeDEo5W8hQsdh KUJQ== X-Gm-Message-State: AMCzsaV5+I764p2q/H85Z8kBbWBSbRZUrqlJfM9kxaEyqnzC/0lcnQj8 4nzQblpp232BU72DJwTGRN8= X-Google-Smtp-Source: AOwi7QD0xzssq8GEyLPFXp6pn6TzDFYRdk5Rcvp/1ko7mAwqS7YUpvYXum/IRjU8c5wub5PVsRDzsQ== X-Received: by 10.237.56.200 with SMTP id k66mr2517895qte.70.1507909756529; Fri, 13 Oct 2017 08:49:16 -0700 (PDT) Received: from localhost (p200300E41BE4FD00CEAD5B94E1CFD280.dip0.t-ipconnect.de. [2003:e4:1be4:fd00:cead:5b94:e1cf:d280]) by smtp.gmail.com with ESMTPSA id t49sm756423qta.54.2017.10.13.08.49.15 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Fri, 13 Oct 2017 08:49:15 -0700 (PDT) From: Thierry Reding To: Linus Walleij Cc: Jonathan Hunter , Grygorii Strashko , linux-gpio@vger.kernel.org, linux-tegra@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v5 00/13] gpio: Tight IRQ chip integration Date: Fri, 13 Oct 2017 17:49:00 +0200 Message-Id: <20171013154913.29448-1-thierry.reding@gmail.com> X-Mailer: git-send-email 2.14.1 Sender: linux-tegra-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-tegra@vger.kernel.org From: Thierry Reding Hi Linus, here's the latest series of patches that implement the tighter IRQ chip integration. I've dropped the banked infrastructure for now as per the discussion with Grygorii. 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. Changes in v5: - dropped the banked infrastructure patches for now (Grygorii) - allocate interrupts on demand, rather than upfront (Grygorii) - split up the first patch further as requested by Grygorii Not sure what happened in between here. Notes in commit logs indicate that this is actually version 5, but I can't find the cover letter for v3 and v4. 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 (13): gpio: Introduce struct gpio_irq_chip 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: Implement tighter IRQ chip integration gpio: Export gpiochip_irq_{map,unmap}() gpio: Add Tegra186 support Documentation/gpio/driver.txt | 6 +- drivers/bcma/driver_gpio.c | 2 +- drivers/gpio/Kconfig | 9 + 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 | 2 +- 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-tegra186.c | 624 ++++++++++++++++++++++++++++ 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.c | 215 ++++++++-- 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 | 164 ++++++-- 60 files changed, 1018 insertions(+), 140 deletions(-) create mode 100644 drivers/gpio/gpio-tegra186.c Reviewed-by: Jon Hunter Tested-by: Jon Hunter