From patchwork Thu Jan 10 01:12:52 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Brian Masney X-Patchwork-Id: 1022649 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; dmarc=none (p=none dis=none) header.from=onstation.org Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=onstation.org header.i=@onstation.org header.b="S5lWgq7c"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 43Zp0C2yLnz9sMp for ; Thu, 10 Jan 2019 12:13:15 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726603AbfAJBNO (ORCPT ); Wed, 9 Jan 2019 20:13:14 -0500 Received: from onstation.org ([52.200.56.107]:34224 "EHLO onstation.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726425AbfAJBNN (ORCPT ); Wed, 9 Jan 2019 20:13:13 -0500 Received: from localhost.localdomain (c-98-239-145-235.hsd1.wv.comcast.net [98.239.145.235]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) (Authenticated sender: masneyb) by onstation.org (Postfix) with ESMTPSA id 4E0A411; Thu, 10 Jan 2019 01:13:12 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=onstation.org; s=default; t=1547082792; bh=R+GevBIATXXjhmpxpMD4heN9KJC3iQ4KMwxmZbCRMnM=; h=From:To:Cc:Subject:Date:From; b=S5lWgq7cHq5FfhbB8RCx4FP7QDM+n8M5ycO33NKWETMC6nuYV6pAXd3Rqjqj2c0Xu 8XI9DqK3NeE7EQwMJ0QfEsUhN0h5imITTovahQAL/XUEdKiTgTLqF9qBrZ63OLDWKD bB7X/W4Xr4wmjfJg1zHKVE1LLvu3xbcn/eoqaYB4= From: Brian Masney To: linus.walleij@linaro.org, sboyd@kernel.org, bjorn.andersson@linaro.org, andy.gross@linaro.org Cc: marc.zyngier@arm.com, shawnguo@kernel.org, dianders@chromium.org, linux-gpio@vger.kernel.org, nicolas.dechesne@linaro.org, niklas.cassel@linaro.org, david.brown@linaro.org, robh+dt@kernel.org, mark.rutland@arm.com, thierry.reding@gmail.com, linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org Subject: [PATCH v3 0/6] qcom: spmi: add support for hierarchical IRQ chip Date: Wed, 9 Jan 2019 20:12:52 -0500 Message-Id: <20190110011258.17227-1-masneyb@onstation.org> X-Mailer: git-send-email 2.17.2 Sender: linux-gpio-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-gpio@vger.kernel.org This patch series adds hierarchical IRQ chip support to spmi-gpio so that device tree consumers can request an IRQ directly from the GPIO block rather than having to request an IRQ from the underlying PMIC. For more background information, see the email thread with Linus Walleij's excellent description of the problem at https://www.spinics.net/lists/linux-gpio/msg34655.html. This work was tested on a LG Nexus 5 (hammerhead) phone. My status page at https://masneyb.github.io/nexus-5-upstream/ describes what is working so far with an upstream kernel. High-level changes since v2: - Dropped patch to mfd/qcom-spmi-pmic.c - Patch 3 is new and adds two new functions to gpiolib - Patch 6 is new and corrects the only other upstream user of spmi-gpio High-level changes since v1: - Patches 1 and 2 are new. This brought in a third subsystem (mfd). - I have detailed changelogs attached to the notes on patches 3-5. Brian Masney (6): pinctrl: qcom: spmi-gpio: hardcode IRQ counts spmi: pmic-arb: convert to v2 irq interfaces to support hierarchical IRQ chips gpio: add irq domain activate/deactivate functions qcom: spmi-gpio: add support for hierarchical IRQ chip ARM: dts: qcom: pm8941: add interrupt controller properties ARM: dts: qcom: pma8084: add interrupt controller properties arch/arm/boot/dts/qcom-pm8941.dtsi | 38 +------ arch/arm/boot/dts/qcom-pma8084.dtsi | 24 +--- drivers/gpio/gpiolib.c | 37 +++++++ drivers/pinctrl/qcom/pinctrl-spmi-gpio.c | 134 +++++++++++++++++++---- drivers/spmi/spmi-pmic-arb.c | 58 ++++++---- include/linux/gpio/driver.h | 5 + 6 files changed, 194 insertions(+), 102 deletions(-)