Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755304AbcLZJA3 (ORCPT ); Mon, 26 Dec 2016 04:00:29 -0500 Received: from mail-bn3nam01on0080.outbound.protection.outlook.com ([104.47.33.80]:8270 "EHLO NAM01-BN3-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751392AbcLZJA1 (ORCPT ); Mon, 26 Dec 2016 04:00:27 -0500 Authentication-Results: spf=fail (sender IP is 192.88.168.50) smtp.mailfrom=nxp.com; nxp.com; dkim=none (message not signed) header.d=none;nxp.com; dmarc=fail action=none header.from=nxp.com;nxp.com; dkim=none (message not signed) header.d=none; From: Zhao Qiang To: , CC: , , , , Zhao Qiang Subject: [Patch V7 4/4] irqchip/qeic: remove PPCisms for QEIC Date: Mon, 26 Dec 2016 16:32:46 +0800 Message-ID: <1482741166-33164-4-git-send-email-qiang.zhao@nxp.com> X-Mailer: git-send-email 2.1.0.27.g96db324 In-Reply-To: <1482741166-33164-1-git-send-email-qiang.zhao@nxp.com> References: <1482741166-33164-1-git-send-email-qiang.zhao@nxp.com> X-EOPAttributedMessage: 0 X-Matching-Connectors: 131272155620552294;(91ab9b29-cfa4-454e-5278-08d120cd25b8);() X-Forefront-Antispam-Report: CIP:192.88.168.50;IPV:NLI;CTRY:US;EFV:NLI;SFV:NSPM;SFS:(10009020)(6009001)(336005)(7916002)(39410400002)(39380400002)(39850400002)(39400400002)(39840400002)(39860400002)(39450400003)(2980300002)(1110001)(1109001)(339900001)(189002)(199003)(36756003)(50226002)(77096006)(92566002)(85426001)(68736007)(104016004)(8936002)(105606002)(626004)(5660300001)(8676002)(81166006)(2906002)(81156014)(2950100002)(38730400001)(6666003)(97736004)(5001770100001)(48376002)(50986999)(76176999)(189998001)(5003940100001)(356003)(8656002)(4326007)(47776003)(33646002)(106466001)(86362001)(305945005)(50466002)(7059030);DIR:OUT;SFP:1101;SCL:1;SRVR:MWHPR03MB2478;H:tx30smr01.am.freescale.net;FPR:;SPF:Fail;PTR:InfoDomainNonexistent;MX:1;A:1;LANG:en; X-Microsoft-Exchange-Diagnostics: 1;BL2FFO11FD007;1:7HZs5dyU+agtT3pxet041213FzOvDluegvlsIh5ge/G3JmTRmSxWsaLFKrqg2k/TCchICD36e759idRGLeSitFoKnFRBDBiz8a0tDBzF8HNBq3q6cGrZBaVYTbliPdoSjBAB8tvnjV7wNrlvIe5BF5/6JicJlORntvkuqrebfdZ9yDMRAM06qbvnlA+Gicd7g8WWjgSpHlhpoD8VI+N3sSNQGo8ZgWS1xoMRPTF9vA5+/ioi0r/kAJUf39xoT1KCMfHhcO0bnYTRR0t11U+zsut2n04V6fgVSh4ThhxfWQjaPrJaSV83F69PP+RafbhoGXltQjQASqLYvbv1DaB6gAmJcXou6lj+/ydgpHvYdtLvWXt0d9prQgzL7azBK9xoAO9qPWWafRygEjE31rdR8ayOClPqPLQ/OdAOvS9PgPV497Ou21y6X0Lyc+/KUjO/3jyNJFSJUNIdQ+Z6c+6Fc5YwG7tkVo356hVChmR5YXN0pY2RDsmp04eYVpzHQSZI9VPKKRMjH4udsVB4cACsQdAWd6uFiNw2UVXqsMR151q254Gc0wKVXn/SYunaHNpoxsZWx+l671kRlExwP0kcsVOHXYimohqzHqCexYqQNKspUqaVBtCzSfNKpnf9ul6ksz1JMS4HxDiA7drVMcAXJdES1gCDRjgvsPx0zGi3kjaV0lkRdTVUCB8RMVuUVL306u7tSCX3e3vpb4htQbQ1sAOhvumiIYjqtTBXpw0bX2XcIlot4oRBnJpSkEluIKyK MIME-Version: 1.0 Content-Type: text/plain X-MS-Office365-Filtering-Correlation-Id: 28e25595-754b-4e5d-ae66-08d42d6b9f20 X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001);SRVR:MWHPR03MB2478; X-Microsoft-Exchange-Diagnostics: 1;MWHPR03MB2478;3:0yeo9Hh0oNy/1tMHqGW2jlTfNqXpvuFyeqQBldv7gE2LT54UIfJ+uy1HINPbs5nVf/nXmAgMb9E/cmB/xRgrCMrK4T1EXq4bRMtMijyZVzTjwEYeSSxua9wi0vq0iloOUP2CtQ9QkC4jbzn/hQDZrlByMLzTpVF8k9ONpPjNqMoXjMVHayo5TOnEaXURHdVgZ6mDFW2ekW5RrcSZaG6WGCSZDDE0tjiSRcTCRCbT9DtWTpz/Bk97l38ewp3neFCPkEMLDsi00d3ooZlHTE4OY2iI7qCCTKn9vAynQcbrVS58RivLykDxpb9pzgNT4ET70xxLrI74lEhmUaz9MrNewHYmUmkpbYUvAOSRyUkpxoavO3qVrnnrqdqVYzN7cump X-Microsoft-Exchange-Diagnostics: 1;MWHPR03MB2478;25:ByUQP3cX3AMF5VmO77aw5fq4BE72T0OMD8mOC5gLIGBuzx5ZbijjAShDlO19hCbas1yFc5t5WDdHGFnCuVAtuNuayMa0WrwsreQOEysqAXXUe+V3KyDHP+CribXQJzUeTXgrBCN86h+zPpXW0jdr7cTxp21E2k77/HNKjFUeS248egbuXScvMU+7B0W2d2GzkD2GTGPZ9zLHxS+DO3b1eiEFk4MT0kKN/2EvO8vayGVBECj0q/A5iElYXSeMf+N7bweWIoe8zZ8OSuOXUJ1+wkQVlgAow/FNvrF7j5b4RVsHewRGtQi3+nUVhz/dkOujnK51sBtwY9bMItu+XyIlsx1cQSo2wiqwweVl+Z0B33ZeBSdG5OdJxkeky3M5D0RjO+pJp0EaX/RqfCFGdqFxo9RCGB+wvrBCddqwQ79pljpl395X2NfjtjAXAiU6garmrCzy9tA50+IF2j9GTybXMEZQYZ03pxYb6o0ZwV5xbu4JFK4qab5wkccpAkhxi/7q/XwspaQKBj9V7W5j7uIpKS1VkBuZEYk/MVSBzZzjeYKnGelVm4Gciu7Vw6V4VgG5mIfwbtbYVcAydd22B1HSOUPesS31m7SkRHtXzgzkA+X4TWwjKlLARdzQpo3Cu+eROouImIXa20mq9/ptGsjwpFZGCL9oQF0q2Aty/i6HZhcUPO/x0YOpWFbn/MthOpO/BbKCnD2r6Fl15gBGpJKJnIitJbx1RlNdKaarP63TeDJ1AgY2DvAdG+/0JY1qgbyyVGdHGnWehd7NKkQTsc+7Pw== X-Microsoft-Exchange-Diagnostics: 1;MWHPR03MB2478;31:HiLtUyLbm/e9vp8x2vGHZQmsn78al3xsdiSfymOU8pSTtDX3VGLDFq9M5yEe2OEENAVDP1OqaSpaVtGCdHoPXbQNqmK/XQdcQFWU7y3oRUsO9+J7gvggtrou1lb3MHj4XZMtgSCVunuLpF+A3JdbHNGoTmBP9KiURZVZxrHc9tFTqy4IJcU0hnET0OukKDWOaE/qpzTDzMsjFy3s5Enr/xo7Gex+Sq4FzPDONscnBcPsmI63me1zseJY/lYah/JYW7Ky1ZaEDJw1IhLLUmvxdA== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(185117386973197); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6095060)(601004)(2401047)(13024025)(13023025)(13015025)(13017025)(13018025)(8121501046)(5005006)(3002001)(10201501046)(6055026)(6096035)(20161123561025)(20161123559025)(20161123556025)(20161123565025)(20161123563025);SRVR:MWHPR03MB2478;BCL:0;PCL:0;RULEID:(400006);SRVR:MWHPR03MB2478; X-Microsoft-Exchange-Diagnostics: 1;MWHPR03MB2478;4:OK+W56mqV8qrvtGwdlrnffTqbsgCK8EEeK32031HcTAPZ7FhJZacdscqwAI773oevjbEumLESZwYNffeEi6CB91/CbAsCA8hn+EySlsQzgoAsDtgmJwHVj0LDk3RWqGBm1uPFUDNQS6j9GMyBMjg25ZNu47nVObm/74g4GzGnyTeOLBhfBd/3wQfmdWBusjJDsRXVmyGaIJauh6uHdCNsexRBldgLHVhioPkuiJJq/UTQ7xk8QCNgzgBFvu88bmEFAWp275xJU/BtDOs138p3S4JP1CCrRt88n2t4jivlaDug7q226lrtMQ/aiGiVE9pBDE0lNOOMVcehgeaXg0Fd3udyxzzbtykSqgmQCIfUjkGbsMGtQ9RTNzU+HGzMfFT0ivUT6iyCVUEPwHVd/lGE9o0qFaIhR7uZtOmVq0hB4XlN2421SSY3L3wEA7Di+bxMUJkGaSGAtFGIEjWkS69TTyqGvZ/nkRvdRtQ/8vid9QZBvodn1hJWc4ggttOsQd4IbUYVKlQXmpuYxIlQcHk8uL86o90EBBxIrjOLu5ZnzoPQatFGE+dMTYnauKPjlkEz2yNa5T/7Xv3xXUj64k0x4d5Z3IUi9h8o/r3uMzu4hqeyvBd4mumvQiRfonyYq7YHB/D0Blud7KW6dHrmlzyULPLSyYpOPmwiyAi0F7aSQjRc1BDfjSJz3xk/nsVqMSdL1ZozOgC6F/Gq+A8uoC+5tTo00Ms3XxgXnX6RTmV+oVWR6nsKoU25b77RqYhfGwH X-Forefront-PRVS: 016885DD9B X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;MWHPR03MB2478;23:OVJs9PoF8gm+BxthPe7VoAK9AfQao9q40SL9cvZo8?= =?us-ascii?Q?FSmB3S0ARBo8K2IS1CYYn6vOcXqxnj7RgUuv9GgILkasMZxU3t49KDOLdO2z?= =?us-ascii?Q?OP9trS/D2CT+m8BShinrsjAQSnA50c29MnFmw9PvzPwFTjkahWCZWLtvR+KF?= =?us-ascii?Q?dNMHb9YjLSYUmDqWdeSfSfT+dYavfBAM+ovP2UjmghHbx5gScx70M8hXXj8V?= =?us-ascii?Q?Xh8+2FCGwe8yg8GPs2QuwzGTLaVD0rl1GgdWIQgGbV1y5vGI2ix02oT1m/jL?= =?us-ascii?Q?kXhGP2yaJjHY2L78+EdidbRbg0BY11GeydH9LCBq2+LdNIaOhWxw8j8ih77F?= =?us-ascii?Q?D+kdmOGCcSDYDPbHLuevNAGrQp2sBb6DR/E9HvhlO3I5K1cIw2MHr+kTHMJr?= =?us-ascii?Q?Q/jhiP6dKdhW1bOUVkiScjLl1BVEK4cswjrebdqkaYzejt2yFKI3nrT0jiXU?= =?us-ascii?Q?SP5DCGrlnoqkXtjDvu0Khat75TSb3YtVPdWZDQ0t412oZ8OMC2uKwV5PALqK?= =?us-ascii?Q?tw/FD/97mD52j/n9FkyrXU76UEkkHxvuTACdQYinSSoSyiIeq+eqb1/3otIR?= =?us-ascii?Q?hqki357F50rIoZ+rCmNy4uPwgaiS6eHYPHK5OjjKtmSYWHsWHmY+Jst/0SqV?= =?us-ascii?Q?6ld94A+MqQNaKjWlHuJlMKAoEqyeT32c3J2BqEVaa9P3ow+ymMJg1OznJdvm?= =?us-ascii?Q?/uaXGj1AVZyHYusLWFhlzC9CLnFYckvhyc2MfIq/o3c9UkSWqXjON1rElkOj?= =?us-ascii?Q?RbR18ittmisKwpGq4w/dVwsg5c9CtjXcXcnZ9LXY4nz9miiCjra/649e2Q2a?= =?us-ascii?Q?nL5+RlqkoWXeR0nsVzFGIeV98KffwscHoQXhzyEzH5Zun67pkM0+JBqmuxGh?= =?us-ascii?Q?iCc7MelozENbJ7dYbvMWObB88frOmrblFR/1C48ygqNIM/xd7nhicDb9iIDH?= =?us-ascii?Q?Y28OOx8EGwQOfZaWemG/UUHcNVGCoSsxrV2pUt3ArsZjy4BE+MudvIQfWYL5?= =?us-ascii?Q?gMnQFmqPsEWIfkfNIjD1K+QB1V7ckEFAvA/GyAPxRaslORbagrx/zB9imbxf?= =?us-ascii?Q?cpp40bu1W7RphAngytrrcxw/KfR6iCksdUBT1DbwYV4Rva679hfZVRwyB3By?= =?us-ascii?Q?NjHV1EpGSrxrGO6x3SbFhFy5wvd1qKg7ac4MM3XKjCtGd5x5/vY1ShGa+tZH?= =?us-ascii?Q?v5FwA0yJzO4x10zCw0aaLsdXU8YWo7fIheb9PvgI1E/JApcbpwC+j7prG19F?= =?us-ascii?Q?r8rZDhd+6gpdx3uceY=3D?= X-Microsoft-Exchange-Diagnostics: 1;MWHPR03MB2478;6:pdJEK5IdY8lrtB67zlHJCQTcUOsvwbLjFSxwuMATfTh0Y1Y/+wDeZuwl29mNhcQQJd3rXpLWr31T2m30I5lJ7hN7ve145TZKVqstREdOFFP5Eghtvh1IOc/u3KUbBgozggCSVZxB7AyXGUpI2AY7jOi1YCFtX9IXFusb3xGrsGWbWa+OKeefm/r9uyvMMS003S9ZmLHwxOR1LWEWMQHGVNX7Rzq6dxM2xbDZ2cK/1Dw1asmODcXRsdQwNWMcIdsVxVZumd9D+Qi/4acxbNHdwoGjW0ON+6AyTgCQAulyonDs/bztMLBxvFGxoppqvzNZ/f4vtst49DuNBTUSdXPEPEfHFfiVvycZSUe3aOcX2dN8oIZlIZeS2pc+LEEPDslkG5i7+eYoCNy8Ym9ogXQblPhaiXNHFMArmtmJ8hVrrImz3gU8CTrH2uVQbbi18/Ae;5:HT7mgypcIjFug9XjOKMYwruaTHn4e+i/OZFRuHmoJCtXNF8EudZ9hsk9plKo4Ieskcx+yhzGCooj9j0Vgtk67XSifUKofXe5gWx8SnBh0fYhWwSAj11aVJWauZq+mPOWRCHI2NTxpvelqssEtR4ljPT+mG2TBs/088gdEQ5E//me2ExNcBsr0sd3r/T6aAl6;24:e9zylZ8yFTFqVay+ZzDYNz+Mq7sXCKUoVkVsP/pA9chBLKdZ98ndA3bgxspDy7HDKYFJD2Tir52rqWprcktFqmE49G8aJi+xfAzLHrZ2XgY= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;MWHPR03MB2478;7:p1U+WqMbc8iKxQBr9HqNc5LO04Wc+J22bCMZbTjA1ehwnhZl70EEDo5z3oJfQW8VE+BflK5TIflEAVjvg7O4MsdEC+m4DT7gVc7qisv7uYgDexej/ka5CDK6VRmBDwGZx80kb0+W7N29uS6m4rxE+LfTmEmO+rJ+ILjAX1fivPiVvg2kqDTUC+Hh2JPRlKr/qaBRAfaVCa4ElNsvYf48PfJJ9NmMJ93kjhkSsHJEBy1yPFjlkUXJcoyXnKm0Ywo1jJMan321q8yUdxfbJ7N915mq3ylrLMSOZ855Vf64PuM5EOZ3VTiOcqEHJmLUuSxI2Xf/ZwVL9A3N0In34docv48mSUsAgAN8CGIop7tT9OXyklDJvrtpLiS5sM4zqtnVlPblb69zp8QUkyxQHEoAH0K1KpjMsxHkDGXqYUOAgIWecwkdO+16u+Ehn0pZ1+YYXCHEmDpY1a23pw6RKDfyTw== X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Dec 2016 08:46:01.8836 (UTC) X-MS-Exchange-CrossTenant-Id: 5afe0b00-7697-4969-b663-5eab37d5f47e X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=5afe0b00-7697-4969-b663-5eab37d5f47e;Ip=[192.88.168.50];Helo=[tx30smr01.am.freescale.net] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR03MB2478 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 6443 Lines: 194 QEIC was supported on PowerPC, and dependent on PPC, Now it is supported on other platforms, so remove PPCisms. Signed-off-by: Zhao Qiang --- Changes for v6: - new added Changes for v7: - fix warning drivers/irqchip/irq-qeic.c | 34 ++++++++++++++++++++-------------- include/soc/fsl/qe/qe_ic.h | 12 ++++++------ 2 files changed, 26 insertions(+), 20 deletions(-) diff --git a/drivers/irqchip/irq-qeic.c b/drivers/irqchip/irq-qeic.c index 4f49d4b..957ea5b 100644 --- a/drivers/irqchip/irq-qeic.c +++ b/drivers/irqchip/irq-qeic.c @@ -18,7 +18,10 @@ #include #include #include +#include #include +#include +#include #include #include #include @@ -88,7 +91,7 @@ struct qe_ic { /* Control registers offset */ - volatile u32 __iomem *regs; + u32 __iomem *regs; /* The remapper for this QEIC */ struct irq_domain *irqhost; @@ -264,15 +267,15 @@ static struct qe_ic_info qe_ic_info[] = { }, }; -static inline u32 qe_ic_read(volatile __be32 __iomem * base, unsigned int reg) +static inline u32 qe_ic_read(__be32 __iomem * base, unsigned int reg) { - return in_be32(base + (reg >> 2)); + return ioread32be(base + (reg >> 2)); } -static inline void qe_ic_write(volatile __be32 __iomem * base, unsigned int reg, +static inline void qe_ic_write(__be32 __iomem * base, unsigned int reg, u32 value) { - out_be32(base + (reg >> 2), value); + iowrite32be(value, base + (reg >> 2)); } static inline struct qe_ic *qe_ic_from_irq(unsigned int virq) @@ -374,7 +377,7 @@ static const struct irq_domain_ops qe_ic_host_ops = { .xlate = irq_domain_xlate_onetwocell, }; -/* Return an interrupt vector or NO_IRQ if no interrupt is pending. */ +/* Return an interrupt vector or 0 if no interrupt is pending. */ unsigned int qe_ic_get_low_irq(struct qe_ic *qe_ic) { int irq; @@ -385,12 +388,12 @@ unsigned int qe_ic_get_low_irq(struct qe_ic *qe_ic) irq = qe_ic_read(qe_ic->regs, QEIC_CIVEC) >> 26; if (irq == 0) - return NO_IRQ; + return 0; return irq_linear_revmap(qe_ic->irqhost, irq); } -/* Return an interrupt vector or NO_IRQ if no interrupt is pending. */ +/* Return an interrupt vector or 0 if no interrupt is pending. */ unsigned int qe_ic_get_high_irq(struct qe_ic *qe_ic) { int irq; @@ -401,7 +404,7 @@ unsigned int qe_ic_get_high_irq(struct qe_ic *qe_ic) irq = qe_ic_read(qe_ic->regs, QEIC_CHIVEC) >> 26; if (irq == 0) - return NO_IRQ; + return 0; return irq_linear_revmap(qe_ic->irqhost, irq); } @@ -447,7 +450,7 @@ static int __init qe_ic_init(unsigned int flags) qe_ic->virq_high = irq_of_parse_and_map(node, 0); qe_ic->virq_low = irq_of_parse_and_map(node, 1); - if (qe_ic->virq_low == NO_IRQ) { + if (qe_ic->virq_low == 0) { pr_err("Failed to map QE_IC low IRQ\n"); ret = -ENOMEM; goto err_domain_remove; @@ -479,7 +482,7 @@ static int __init qe_ic_init(unsigned int flags) irq_set_handler_data(qe_ic->virq_low, qe_ic); irq_set_chained_handler(qe_ic->virq_low, qe_ic_cascade_low_mpic); - if (qe_ic->virq_high != NO_IRQ && + if (qe_ic->virq_high != 0 && qe_ic->virq_high != qe_ic->virq_low) { irq_set_handler_data(qe_ic->virq_high, qe_ic); irq_set_chained_handler(qe_ic->virq_high, @@ -500,7 +503,8 @@ err_put_node: void qe_ic_set_highest_priority(unsigned int virq, int high) { struct qe_ic *qe_ic = qe_ic_from_irq(virq); - unsigned int src = virq_to_hw(virq); + struct irq_data *irq_data = irq_get_irq_data(virq); + irq_hw_number_t src = WARN_ON(!irq_data) ? 0 : irq_data->hwirq; u32 temp = 0; temp = qe_ic_read(qe_ic->regs, QEIC_CICR); @@ -518,7 +522,8 @@ void qe_ic_set_highest_priority(unsigned int virq, int high) int qe_ic_set_priority(unsigned int virq, unsigned int priority) { struct qe_ic *qe_ic = qe_ic_from_irq(virq); - unsigned int src = virq_to_hw(virq); + struct irq_data *irq_data = irq_get_irq_data(virq); + irq_hw_number_t src = WARN_ON(!irq_data) ? 0 : irq_data->hwirq; u32 temp; if (priority > 8 || priority == 0) @@ -548,7 +553,8 @@ int qe_ic_set_priority(unsigned int virq, unsigned int priority) int qe_ic_set_high_priority(unsigned int virq, unsigned int priority, int high) { struct qe_ic *qe_ic = qe_ic_from_irq(virq); - unsigned int src = virq_to_hw(virq); + struct irq_data *irq_data = irq_get_irq_data(virq); + irq_hw_number_t src = WARN_ON(!irq_data) ? 0 : irq_data->hwirq; u32 temp, control_reg = QEIC_CICNR, shift = 0; if (priority > 2 || priority == 0) diff --git a/include/soc/fsl/qe/qe_ic.h b/include/soc/fsl/qe/qe_ic.h index 6113699..863cfec 100644 --- a/include/soc/fsl/qe/qe_ic.h +++ b/include/soc/fsl/qe/qe_ic.h @@ -76,7 +76,7 @@ static inline void qe_ic_cascade_low_ipic(struct irq_desc *desc) struct qe_ic *qe_ic = irq_desc_get_handler_data(desc); unsigned int cascade_irq = qe_ic_get_low_irq(qe_ic); - if (cascade_irq != NO_IRQ) + if (cascade_irq != 0) generic_handle_irq(cascade_irq); } @@ -85,7 +85,7 @@ static inline void qe_ic_cascade_high_ipic(struct irq_desc *desc) struct qe_ic *qe_ic = irq_desc_get_handler_data(desc); unsigned int cascade_irq = qe_ic_get_high_irq(qe_ic); - if (cascade_irq != NO_IRQ) + if (cascade_irq != 0) generic_handle_irq(cascade_irq); } @@ -95,7 +95,7 @@ static inline void qe_ic_cascade_low_mpic(struct irq_desc *desc) unsigned int cascade_irq = qe_ic_get_low_irq(qe_ic); struct irq_chip *chip = irq_desc_get_chip(desc); - if (cascade_irq != NO_IRQ) + if (cascade_irq != 0) generic_handle_irq(cascade_irq); chip->irq_eoi(&desc->irq_data); @@ -107,7 +107,7 @@ static inline void qe_ic_cascade_high_mpic(struct irq_desc *desc) unsigned int cascade_irq = qe_ic_get_high_irq(qe_ic); struct irq_chip *chip = irq_desc_get_chip(desc); - if (cascade_irq != NO_IRQ) + if (cascade_irq != 0) generic_handle_irq(cascade_irq); chip->irq_eoi(&desc->irq_data); @@ -120,10 +120,10 @@ static inline void qe_ic_cascade_muxed_mpic(struct irq_desc *desc) struct irq_chip *chip = irq_desc_get_chip(desc); cascade_irq = qe_ic_get_high_irq(qe_ic); - if (cascade_irq == NO_IRQ) + if (cascade_irq == 0) cascade_irq = qe_ic_get_low_irq(qe_ic); - if (cascade_irq != NO_IRQ) + if (cascade_irq != 0) generic_handle_irq(cascade_irq); chip->irq_eoi(&desc->irq_data); -- 2.1.0.27.g96db324