From patchwork Thu Jul 14 11:11:31 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Arnd Bergmann X-Patchwork-Id: 102013 Delivered-To: patch@linaro.org Received: by 10.140.29.52 with SMTP id a49csp21609qga; Thu, 14 Jul 2016 04:15:09 -0700 (PDT) X-Received: by 10.98.38.69 with SMTP id m66mr11616705pfm.57.1468494909258; Thu, 14 Jul 2016 04:15:09 -0700 (PDT) Return-Path: Received: from bombadil.infradead.org (bombadil.infradead.org. [2001:1868:205::9]) by mx.google.com with ESMTPS id v88si4316123pfj.110.2016.07.14.04.15.09 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 14 Jul 2016 04:15:09 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-arm-kernel-bounces+patch=linaro.org@lists.infradead.org designates 2001:1868:205::9 as permitted sender) client-ip=2001:1868:205::9; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-arm-kernel-bounces+patch=linaro.org@lists.infradead.org designates 2001:1868:205::9 as permitted sender) smtp.mailfrom=linux-arm-kernel-bounces+patch=linaro.org@lists.infradead.org Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.85_2 #1 (Red Hat Linux)) id 1bNeaa-0008EL-3T; Thu, 14 Jul 2016 11:13:56 +0000 Received: from mout.kundenserver.de ([212.227.126.134]) by bombadil.infradead.org with esmtps (Exim 4.85_2 #1 (Red Hat Linux)) id 1bNeZ4-00071A-Bo for linux-arm-kernel@lists.infradead.org; Thu, 14 Jul 2016 11:12:26 +0000 Received: from wuerfel.lan. ([78.42.132.4]) by mrelayeu.kundenserver.de (mreue003) with ESMTPA (Nemesis) id 0MVq96-1buXTL289w-00X4HS; Thu, 14 Jul 2016 13:11:51 +0200 From: Arnd Bergmann To: Wan Zongshun Subject: [PATCH 3/7] ARM: nuc900: use MULTI_IRQ_HANDLER Date: Thu, 14 Jul 2016 13:11:31 +0200 Message-Id: <20160714111135.2476095-3-arnd@arndb.de> X-Mailer: git-send-email 2.9.0 In-Reply-To: <20160714111135.2476095-1-arnd@arndb.de> References: <20160714111135.2476095-1-arnd@arndb.de> X-Provags-ID: V03:K0:lXHuEkuOesxwMjPYaZQHuS74xZwOoN+RUeOghgg/3ce7QaXrAXv 2DVcPXcqiM5yFTxApB1hpkT5Kqaech6Lk2rOMzXhzJP9Qxp5/CfGYriMfuJEOSv+BLj9ukN xRuhlCi2htLtcUaI6BXQIx2WKTIvnzQ4jKJzzUqwSLp5rO9/kNLnS5tQ6+17p//Tjyhbe9X TCefKL+0Z8ucXBB/zMIAg== X-UI-Out-Filterresults: notjunk:1; V01:K0:MSuvtQeA0yg=:TLQAYd1Yo+FiqyzfnC7Fo9 6ykczHGArM53ry4A1RZme5CJtt4RiPYU49jcAujEuGuY5PkQS219wBne+qBvxtt+5gWvP83g+ 6UNR3auBrIm7lPz/Oeyyta89cwLaHRn5qXHqdC5yHbBh9F9JGa2dmlC1n6BzoF187F9ERQkSy 8Vju49otKYujiuS6KiCbyp6Y3EIsao5HsVBd4pfCKVXkrY2SRdNk8f2zIh5vPLwrCXTsFTJMj E750/kCxu/aj5Snnsh8U/M9+4fh8SQyySNqYVNnfh3o8QOzQ6kTZF+pbABFRd151W+WpXEXzD Vqw+Xa/+quOsZ47f302X8d5rDfIzMOHwQuR3Cf56UgJ4Venid7g/ikHrUIB3PmfNQ4jv5n+IY olU1MDg3S+UPZ+y7oQjMftncA6Nj5c4yn1/4WnWe8qEbR41jGZjlUasIWMn96JGlQRzBw9Z0d rPcNYoCpG/OsuiLQkZBmq28BBdXnybELq6PV+7CWJHtVD+o5Zg43CMREPANFr6hipMmxD+KTd eca2W18HV5znLpbiujRNLDcP/EdOWPUIf+KBagu3PcIhKTAzzodxPT3pTIybdqVHLXAl4DESu P6xZA+HAfNrTEHaR7zSQ4KAFHBuXWYq7N6AVW0avTpmyXQxHtXzbdKXnFRJT5AfJAPXLlldJS 8bnqfhzCqg+5o65rJ7xDpqTyXHOLu7s04q1DRxuxcuR+ypX1JBWOCXbh3ghPpo5tK2PM= X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20160714_041222_966298_514F1D43 X-CRM114-Status: GOOD ( 15.13 ) X-Spam-Score: -1.9 (-) X-Spam-Report: SpamAssassin version 3.4.0 on bombadil.infradead.org summary: Content analysis details: (-1.9 points) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 RCVD_IN_MSPIKE_H2 RBL: Average reputation (+2) [212.227.126.134 listed in wl.mailspike.net] -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at http://www.dnswl.org/, no trust [212.227.126.134 listed in list.dnswl.org] -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% [score: 0.0000] 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: Arnd Bergmann , Wan Zongshun , linux-arm-kernel@lists.infradead.org MIME-Version: 1.0 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+patch=linaro.org@lists.infradead.org To clean up the header files, the inline IRQ entry is being replaced with a modern handle_irq() function doing the same thing. This is also required for multiplatform support. Signed-off-by: Arnd Bergmann --- arch/arm/Kconfig | 1 + arch/arm/mach-w90x900/include/mach/entry-macro.S | 26 ------------------------ arch/arm/mach-w90x900/irq.c | 13 ++++++++++++ 3 files changed, 14 insertions(+), 26 deletions(-) delete mode 100644 arch/arm/mach-w90x900/include/mach/entry-macro.S -- 2.9.0 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 36f721c2eb97..908694886088 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -503,6 +503,7 @@ config ARCH_W90X900 select CPU_ARM926T select GENERIC_CLOCKEVENTS select GPIOLIB + select MULTI_IRQ_HANDLER help Support for Nuvoton (Winbond logic dept.) ARM9 processor, At present, the w90x900 has been renamed nuc900, regarding diff --git a/arch/arm/mach-w90x900/include/mach/entry-macro.S b/arch/arm/mach-w90x900/include/mach/entry-macro.S deleted file mode 100644 index 0ff612ac95ba..000000000000 --- a/arch/arm/mach-w90x900/include/mach/entry-macro.S +++ /dev/null @@ -1,26 +0,0 @@ -/* - * arch/arm/mach-w90x900/include/mach/entry-macro.S - * - * Low-level IRQ helper macros for W90P910-based platforms - * - * This file is licensed under the terms of the GNU General Public - * License version 2. This program is licensed "as is" without any - * warranty of any kind, whether express or implied. - * - */ - -#include -#include - - .macro get_irqnr_preamble, base, tmp - .endm - - .macro get_irqnr_and_base, irqnr, irqstat, base, tmp - - mov \base, #AIC_BA - - ldr \irqnr, [\base, #AIC_IPER] - ldr \irqnr, [\base, #AIC_ISNR] - cmp \irqnr, #0 - - .endm diff --git a/arch/arm/mach-w90x900/irq.c b/arch/arm/mach-w90x900/irq.c index 491b317daffa..6ef0ae50a23f 100644 --- a/arch/arm/mach-w90x900/irq.c +++ b/arch/arm/mach-w90x900/irq.c @@ -22,6 +22,7 @@ #include #include +#include #include #include @@ -202,10 +203,22 @@ static struct irq_chip nuc900_irq_chip = { .irq_unmask = nuc900_irq_unmask, }; +static void __exception_irq_entry nuc900_handle_irq(struct pt_regs *regs) +{ + int hwirq; + + (void)readl(REG_AIC_IPER); + hwirq = readl(REG_AIC_ISNR); + + handle_IRQ(hwirq, regs); +} + void __init nuc900_init_irq(void) { int irqno; + set_handle_irq(nuc900_handle_irq); + __raw_writel(0xFFFFFFFE, REG_AIC_MDCR); for (irqno = IRQ_WDT; irqno <= IRQ_ADC; irqno++) {