From patchwork Sat Jun 4 14:53:56 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jason Cooper X-Patchwork-Id: 9154727 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id 6C9D260751 for ; Sat, 4 Jun 2016 14:55:55 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 5DA392824A for ; Sat, 4 Jun 2016 14:55:55 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 5227D2832F; Sat, 4 Jun 2016 14:55:55 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-4.1 required=2.0 tests=BAYES_00,DKIM_SIGNED, RCVD_IN_DNSWL_MED,T_DKIM_INVALID autolearn=ham version=3.3.1 Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.9]) (using TLSv1.2 with cipher AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id 722BD2824A for ; Sat, 4 Jun 2016 14:55:54 +0000 (UTC) Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.80.1 #2 (Red Hat Linux)) id 1b9Cy1-0006By-GT; Sat, 04 Jun 2016 14:54:25 +0000 Received: from pmta2.delivery5.ore.mailhop.org ([54.186.218.12]) by bombadil.infradead.org with esmtps (Exim 4.80.1 #2 (Red Hat Linux)) id 1b9Cxx-00069E-DX for linux-arm-kernel@lists.infradead.org; Sat, 04 Jun 2016 14:54:22 +0000 X-MHO-User: 314ea629-2a64-11e6-8929-8ded99d5e9d7 X-Report-Abuse-To: https://support.duocircle.com/support/solutions/articles/5000540958-duocircle-standard-smtp-abuse-information X-Originating-IP: 108.39.34.67 X-Mail-Handler: DuoCircle Outbound SMTP Received: from io (unknown [108.39.34.67]) by outbound2.ore.mailhop.org (Halon Mail Gateway) with ESMTPSA; Sat, 4 Jun 2016 14:54:08 +0000 (UTC) Received: from io.lakedaemon.net (localhost [127.0.0.1]) by io (Postfix) with ESMTP id 7079880019; Sat, 4 Jun 2016 14:53:56 +0000 (UTC) X-DKIM: OpenDKIM Filter v2.6.8 io 7079880019 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=lakedaemon.net; s=mail; t=1465052036; bh=Id93tZ7AuCelWcyT1peEKmGoRQ1Hs9gEgqQ2qAlAnqA=; h=Date:From:To:Cc:Subject:References:In-Reply-To; b=TPyGAElyhGrzmaz7tzjEmEpccs3fiBubd7nozCPt2st4+4utNWG8MJkPJg/YP67L/ vWunmLtDHUY08vwj6oCVvdS5o625+5hTCmNcJDHNeY2dTri1uIUq/7cDngJwsH3EUh AJoJf8sGarQ3cURigA5FiWqrWHBKS8BqgeRpm+M0O80F6ZXZrN6SKHCQCu00U5c+8n jtfjf39bk2Ox89kodsSlcJpx6vAO8P7me4PbkWXh5YhE6znXIcTck4l5iiJ9pvJiAm 7iiP5JUrmNxKPu4I+QZUFyg6ku0A6m2p6GLM7E/a6Y5xHjOHC/JfBll7v6apAhhGAM JrY4Fylp9Wkvg== Date: Sat, 4 Jun 2016 14:53:56 +0000 From: Jason Cooper To: Eric Anholt Subject: Re: [PATCH v2 RESEND] irqchip: bcm2835: Avoid arch/arm-specific handle_IRQ Message-ID: <20160604145356.GW24391@io.lakedaemon.net> References: <1464728727-16300-1-git-send-email-eric@anholt.net> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <1464728727-16300-1-git-send-email-eric@anholt.net> User-Agent: Mutt/1.5.21 (2010-09-15) X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20160604_075421_538911_504D3126 X-CRM114-Status: GOOD ( 16.67 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Stephen Warren , Marc Zyngier , Lee Jones , linux-kernel@vger.kernel.org, linux-rpi-kernel@lists.infradead.org, Thomas Gleixner , linux-arm-kernel@lists.infradead.org Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org X-Virus-Scanned: ClamAV using ClamSMTP Eric, On Tue, May 31, 2016 at 02:05:27PM -0700, Eric Anholt wrote: > This is equivalent and works for arm64 as well. > > Signed-off-by: Eric Anholt > Acked-by: Stephen Warren > --- > > Patch 1 of the arm64 series was left out of the 4.7 pull request. > Would it be possible to merge this through the SOC tree? Otherwise I > would need a stable branch to merge from you, so that I can land the > Makefile changes to start building it. > > drivers/irqchip/irq-bcm2835.c | 3 +-- > drivers/irqchip/irq-bcm2836.c | 2 +- > 2 files changed, 2 insertions(+), 3 deletions(-) Sorry for the delay. I reworded the commit message to make up for it ;-) I've merged this into irqchip/bcm for you to base off of. Final version is appended. thx, Jason. --------------------->8-------------------------- commit d7e3528eed85b51ddca2f281d2d4e7d687f28d60 Author: Eric Anholt Date: Tue May 31 14:05:27 2016 -0700 irqchip: bcm2835: Avoid arch/arm-specific handle_IRQ With commit 76ba59f8366f genirq: Add irq_domain-aware core IRQ handler architecture-specific irq handlers are no longer necessary. Update the bcm2835 irq driver to use the core irq handler. As a bonus, this allows the driver to support arm64 as well. Signed-off-by: Eric Anholt Acked-by: Stephen Warren Link: https://lkml.kernel.org/r/1464728727-16300-1-git-send-email-eric@anholt.net [jac reworded commit message for clarity] Signed-off-by: Jason Cooper diff --git a/drivers/irqchip/irq-bcm2835.c b/drivers/irqchip/irq-bcm2835.c index bf9cc5f2e839..44d7c38dde47 100644 --- a/drivers/irqchip/irq-bcm2835.c +++ b/drivers/irqchip/irq-bcm2835.c @@ -52,7 +52,6 @@ #include #include -#include /* Put the bank and irq (32 bits) into the hwirq */ #define MAKE_HWIRQ(b, n) ((b << 5) | (n)) @@ -242,7 +241,7 @@ static void __exception_irq_entry bcm2835_handle_irq( u32 hwirq; while ((hwirq = get_next_armctrl_hwirq()) != ~0) - handle_IRQ(irq_linear_revmap(intc.domain, hwirq), regs); + handle_domain_irq(intc.domain, hwirq, regs); } static void bcm2836_chained_handle_irq(struct irq_desc *desc) diff --git a/drivers/irqchip/irq-bcm2836.c b/drivers/irqchip/irq-bcm2836.c index 72ff1d5c5de6..27875982657e 100644 --- a/drivers/irqchip/irq-bcm2836.c +++ b/drivers/irqchip/irq-bcm2836.c @@ -180,7 +180,7 @@ __exception_irq_entry bcm2836_arm_irqchip_handle_irq(struct pt_regs *regs) } else if (stat) { u32 hwirq = ffs(stat) - 1; - handle_IRQ(irq_linear_revmap(intc.domain, hwirq), regs); + handle_domain_irq(intc.domain, hwirq, regs); } }