From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752094AbcI1Dv4 (ORCPT ); Tue, 27 Sep 2016 23:51:56 -0400 Received: from mail-bl2nam02on0064.outbound.protection.outlook.com ([104.47.38.64]:3104 "EHLO NAM02-BL2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751032AbcI1Dvr (ORCPT ); Tue, 27 Sep 2016 23:51:47 -0400 X-Greylist: delayed 857 seconds by postgrey-1.27 at vger.kernel.org; Tue, 27 Sep 2016 23:51:47 EDT Authentication-Results: spf=fail (sender IP is 192.88.158.2) 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 v6 4/4] irqchip/qeic: remove PPCisms for QEIC Date: Wed, 28 Sep 2016 11:25:03 +0800 Message-ID: <1475033103-18192-4-git-send-email-qiang.zhao@nxp.com> X-Mailer: git-send-email 2.1.0.27.g96db324 In-Reply-To: <1475033103-18192-1-git-send-email-qiang.zhao@nxp.com> References: <1475033103-18192-1-git-send-email-qiang.zhao@nxp.com> X-EOPAttributedMessage: 0 X-Matching-Connectors: 131195074484338298;(91ab9b29-cfa4-454e-5278-08d120cd25b8);() X-Forefront-Antispam-Report: CIP:192.88.158.2;IPV:NLI;CTRY:US;EFV:NLI;SFV:NSPM;SFS:(10009020)(6009001)(7916002)(2980300002)(1110001)(1109001)(339900001)(189002)(199003)(626004)(77096005)(5001770100001)(33646002)(5003940100001)(8676002)(81166006)(81156014)(50466002)(48376002)(305945005)(7846002)(68736007)(189998001)(356003)(586003)(47776003)(19580405001)(19580395003)(8666005)(5660300001)(229853001)(105606002)(4326007)(106466001)(2906002)(86362001)(97736004)(104016004)(36756003)(69596002)(85426001)(2950100002)(8936002)(92566002)(87936001)(11100500001)(50986999)(76176999)(50226002)(7059030);DIR:OUT;SFP:1101;SCL:1;SRVR:BN6PR03MB2433;H:az84smr01.freescale.net;FPR:;SPF:Fail;PTR:InfoDomainNonexistent;MX:1;A:1;LANG:en; X-Microsoft-Exchange-Diagnostics: 1;BN1BFFO11FD005;1:oJDFPEpNAmbwVHcfa6b3CA7jFxC/VhH/fvaewyYbeOoAwa2+hg9m788xp6qZRhjJMu6qeN33aoL9/kBvvYTkoC4bTZe2NX4AQX7Qyt8Sf8eP2dvl4pRlpnuEBQix1jWCXXxFVr9QsGS7Hi9JYmU+i2XqSzqzrgjieMXN8ccIqnF8XYSQmcLyno5zYdMsDcs+S9Rd+aiyMVocyQoRhcMcsGVjVdcZ2TZwITULgmqUk2VA6MQ/lMJ0gO2KhkrCu6iR2Zfd3NPtZsGIMlIAaDzyf2EKBakz1oO3ezDwq3KI9sZBs+/58M27QD9sq9KsEafwliFt9TwnTZBijc6EIM99R3CvST8JFkd3EIUCO3pW7Wsp44lCcAX9sq2T6t8X6LyFRyxCSIjuKzpDEP4OiSPJFIT1yqcmE0dgA38HLd0AJrDQl9tVUNI6RN30mynFkdkL9Y03BFFPixxKN5+jGcJJPwXn3/hPA0Z15mlCy8vwCnPO6lYzJhSD4ozusBPu69MafRqVNhhj1STQBMZ4xdN04qI/d9hBFtPczxcBHcWd46GOnMIdRKnnLZXA52X2fF0NUN4ZZdtfvivXEXdd2lPC7uQ76bE4LqvpBl7ExyPfej38bO/83CaWNCjrSPORJ3Xlv3VVQgpJX+yk6Hk62T9WuZphR+iSuUNZB3kvGkzmOfgSm6aV+8g4nw79YCWJo9j3MnmAscLJxmQwidXyeIBIWixmAPOiU/MO9/AD9GxLbm2lxhJPl3YH0tMExAC0dujZ MIME-Version: 1.0 Content-Type: text/plain X-MS-Office365-Filtering-Correlation-Id: e953260a-47d1-4da4-1d19-08d3e750c560 X-Microsoft-Exchange-Diagnostics: 1;BN6PR03MB2433;2:UTK7Cp8/70gn9nWE0jXL4N423IlYe+DqU0oiCNjE1JHDP3O9hU2BjZbpyoQyZ9GOW1MdmFu+qBTnDZGJxXvhk1QYvGXKfzWa6m14VaTSAjaN0oWdelCGPlzJ1J5S2WR4H19dQQUGyXtukG3UOsw7Sm/ZuK4dHSWCSlgEOHhs7+U2ZgAEviHM6h7Aap89hUdn;3:MQvPFUicbu16Lyc5VOYYxc0CRphGMCp06oWmkdI28U+gMl3CeR/r1jaBbFLI5rlmRuTOp55Ogg5bLxbfK7d6YhKCSY50Kau/6fQO6OGRSI0EF0HdWKosDeXv7csPs9oOZNIzELkc8xpxUaNrEJ5wBX5c1i+ycFWuKLl4vAhlorp9ABDGFM6ieQdKNwihcoQp6MLZElEClBsW1diYLqdsiwiJhrSof3CWwC+NoiaSchU= X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BN6PR03MB2433; X-Microsoft-Exchange-Diagnostics: 1;BN6PR03MB2433;25:fKKCRfqeQXUhId9G4WbuCX4/fxNy+/iqHY1gv+K4VzBXLzyKjO+ZBdH9Wxc1vgmdJNjzzW5Gxx1K9tgA2qn6c8p5+c48QRwn0FAFzOvY+dWZwU+n+ftw3gICGtT+1d/cuKhJV6a8WsXvmWCfXOQHtOuvIt2IXRmpS4s84oI3Qs2fcavu06vrNxZOWa9FfHU83i1438muQs1HUwNw9ZVZrwP6rp8bSPI2NNtNl8og0WGPJLyONL5xZVJOYyLlPTznwzWG+qXsJGYo2lP8W8vnhvnuK7bFQ89V3r/BrLjyILhZT6C7dPG/xAcCh16L9obfddBp0x3ZXiYcukJrkQjyJZ7vvv5zwzIHc9MLteouyDwXITp/TwhmAjdg3KtsbJgvipc2MyanCGcu2z+HvNFuc83LWP8Zfed6F5XGsbhGWj/OhKkYsshVfFgamBNNT+71UaQAN3uPpO4VnjV1mA8r6k7Si1kHnFk/JrLeDJESvU2NyliQe0+hC8+HX2lmpgNT0e5+vo6Z1TcqAx4eiMF7dcLUsclTRSN88s5vlAOY+uEJ4vv8qnchkI085O7gC4eAsxIyW+tdBi7wVgWWv/9aCrQOfeUaRsnYc2a1+s7Knyz6yae3Xf2h14nO0ThkB4B+GHEO2c+q5s7T9D86qtJFhJQ4HUDzF66xI3tJwrQehVz9hdw3KZ+wcRfzEeuzubooLdm2N9abdGBQEIo8biqj1QJjpjuLY+KFxmKfE83xm/Q= X-Microsoft-Exchange-Diagnostics: 1;BN6PR03MB2433;31:qT/+/Eqxu9L88+kz2cldI8rLmpB9t+YMKBoyq/vEeX2dowA/9Pke9vymqeOnhpTZgo/Sj8EQ2qJT++IeOkTx7ycVc82x46BoSCvehYTbwLJ/q6CKEzFpxgjBBmxW/QeCErkBQifHXMU4WjIyWo2upYv7MA7DeQzXjKD3ViSluYRlR+bqz2p8da4k6DlgLYjASJNl2/rE8LY2VvC+zbkXOEiU9/TtZ1KEtWWIwbK0Sns=;4:UrwroTn5f9KO/6T1o3CRu1R9/vrmBWXi9b5SwQ8algl9t4KU+kOkp+gVsR1Q5if4YC8LICLmgsEooSd7RxiDFGQBo3LRH+DYzOcEZPxW02zFRUcF3mbBUb3w2ZRkAyV0JeHTwpAq1lKivae5NoFfrZDU5bEoczlObbU/l9NRn0fO1Agytyd9nJIM0eufTMeNkrLfDx8ghPEOhgHE9aWeSB/SzjDqsjGJxJNLQcOqqBzsrGW7ZYBf2BdZbad9KxxM/NUf8T7qf2sK3hP+ORVSD+LDIwJ67qFPDh9CQLngRrTpe7HLjIRI3CxcdPrxrH6J/L1JoX8C3uD0TqsSpOhVPIzcGw9BM19yqUt1ZC6nGJCKdxHiiS21Yza8YoB4DLvgieTCAI+OxUcSdAuM/1QXKM9S1TvUuOdmvxZ1rrAxgYte4PpyRMt91HI4LgbpXrSREGURtfpiYiJYf1OInoLD55thHQSNPAQFbQwgC5GBk0aME8no7jNbMFWsbzeOlhB5gfArmwCarxjjzUwMJyrXwFl53csWYy6TgQ99OVx7M/w= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(185117386973197); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040176)(601004)(2401047)(13015025)(8121501046)(5005006)(13018025)(13023025)(13024025)(13017025)(3002001)(10201501046)(6055026);SRVR:BN6PR03MB2433;BCL:0;PCL:0;RULEID:(400006);SRVR:BN6PR03MB2433; X-Forefront-PRVS: 0079056367 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;BN6PR03MB2433;23:wLoDKLFPKZqcxGTVb4nu4ifkVpN7ogJo3thZtkJ2N?= =?us-ascii?Q?TRzPDk2f/oe+0NI82QDfprf4AuyTWk4XhrN0h7UfF2NTgluCsy6jGfGbZ/ZH?= =?us-ascii?Q?Yc5RrvZsUnNkOEhzXwacM1FZivHPSONP1osInCmT9qFLRoc/Oc7jyJTQNLr5?= =?us-ascii?Q?hlLkQrrpiGjDAajnHemAyqWGrzH8U0BfGlK/bqwyajy9dRqnZ++sil2ok2Ts?= =?us-ascii?Q?zdobZ7EDKdw6n/dETcz/AtwASrruGde6tzeSaxuKttuy9trKdS9UvaRVymTT?= =?us-ascii?Q?KRH9Eds1Ss1SqkF74/MByOb36G5jD3D7diYRn2KSOma/A+VXV4SO7yZ30P1l?= =?us-ascii?Q?h1sMi7NEMQhMgV4qKuBt3oeVyS56ZIBUiaTL8dN5c31R3LMXgWb5nXoqPWm7?= =?us-ascii?Q?rcRHhJbi0zZsbHEEAAKBls/xXSD2/C4v3nI2/0EAzyOlcX6jVVXX9AETmnY4?= =?us-ascii?Q?SwJaF6QeQN3FnDPhIbhrqDpm0PzSQ6dFA+NMC6iCGwu9bajjey8G/nqhsF6d?= =?us-ascii?Q?aKibAw7GbN6kGuk62ihGb6b888eeSdMVegMSooAjHQ3manP1Ux08y4HDnRJy?= =?us-ascii?Q?8Q9Gj+8gg/rKHMCEWPXkqZOvNOjKrpHjoAZfCOjF/WTTdu733oeA5jIBUk3E?= =?us-ascii?Q?Open7Sz6Kb+ka+Jf/QcYxTU5Np3bDdxIrPXuQ3woUw0Fu7X8L/czpwrNy/bk?= =?us-ascii?Q?2sR9bLc6GDObdB4uo1g1e3XKrkybkWmfhpQwohYo6PJhyXFHoYK6825qLxtI?= =?us-ascii?Q?tvy2jYkW8H6EFA1fvKxmRGW2T+rHFYS+K7/tfkqalP+ltSAPBNUwhcVPik2X?= =?us-ascii?Q?fHLE5vVLb+8OmnbnIOOPtQYnTa7KIuQhgqto90J5wK70rU0BN2Wys5LY6Qzz?= =?us-ascii?Q?EQxWyk4j48TlEF1Ch2WCO8JCiktis1WDD7Lf8Oubj6sRUvkDxTpNtFih64Ge?= =?us-ascii?Q?Lf7gFKAx6b5Sfdizd2FtbCiXVNs8O7IUZuvchOPP90oBBIpqTE8C8f1EJulL?= =?us-ascii?Q?/ygN1/Z7+/3dxuRw8brlUeEAQxkqqeqMKPSv8QLDCVU/KNXMoFNX22UyHYm8?= =?us-ascii?Q?QmUMCfGCDdz0MkqdTgXdDU0543iY9BaLlc4agTqlQL5sF87JFt+N3N8SvkmF?= =?us-ascii?Q?Px7GWR5Hc32YYn8EnzzsOBEDlv6cem08KbCbY8XNPvj93wHHYRhgWZ/B5183?= =?us-ascii?Q?Ahx1QFe4Su7pz8=3D?= X-Microsoft-Exchange-Diagnostics: 1;BN6PR03MB2433;6:vBw80tqnrC7Sw4cnpo9Z+xE1m1JXxte5/a5RHAY1uUPQuteVp8Sau8MvfJ24kYcD9moh/hzH/6JnZpeqseTfBLvb+weiKMpQRRR0ArM+/LA9lSPGbhkB2Q7OuCQDroyASabs/ck/mZ4Mf0EH/VTLnBQUiLXhMR00g4eRNsAlP77uDo/v5O65tHG9djEDOpRGtlWAZc0AsUw5HuYmGEE8Nhnmd8a1UQD46qiV5CJToI6X8rzgd2fcwA+ADB3Ovtkea1COpWRu6OLpHifLYtYTT5ThvtoTZIEYnAdsSHFxDMg=;5:Xu+5ywNnVAeD6QyrdHXLOoSbg/sZcbZqjnTEKmGeMfMO0W1MYiD39mD3soKVrLQiijeF6R4pocbqA5aR+orcRrcVfK+Ij2vN6+9Cz7dlDLvUkNa/EMBp5dX9xrr4UIOG2V1sax5tPdTCunGDmXrYszJ0YI9Z4bWI8m9ulkpAODM=;24:QqUSg1zdyY8Ohm/2fV/E3Z6HdwRvknYErm6HwNvjztgG/Mtv0ETs9YOQ6kIjJ021kkIANCQT01Ph0XiboDMEXhUyddQfi5yorJS74lQg1g0=;7:SeLdjmlXOMfnnO4lj0DIfnusJzmHwqj7e98mXm173WNEOSXq+s67pTtlDx0wW3lJ86+MuVvsvCEV08w2neE3jIIY39US3H8TFtScseGhO0eAsXQWOctH8vneMCjxiKKQpXzz/qhRpzwMZtGdn7db/fmYacp6FLnjP6s/9GvU/qXYvi8Rn0I5pLFx31dyEPV/vv0G+ruwe043/Tpv0JTWe7YPExRQZGdZ8BJoCZnMaZqDJnvrJXOzhkkmo+pBU2cWGs2uQdvJBV3nGcf0ayERZcNCJyYL7u91pQNLn5kuZTjtxGDB1o84jGuLZO65da77 SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Sep 2016 03:37:28.1842 (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.158.2];Helo=[az84smr01.freescale.net] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN6PR03MB2433 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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 drivers/irqchip/irq-qeic.c | 28 +++++++++++++++++----------- include/soc/fsl/qe/qe_ic.h | 12 ++++++------ 2 files changed, 23 insertions(+), 17 deletions(-) diff --git a/drivers/irqchip/irq-qeic.c b/drivers/irqchip/irq-qeic.c index 4f49d4b..98a8b38 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 @@ -266,13 +269,13 @@ static struct qe_ic_info qe_ic_info[] = { static inline u32 qe_ic_read(volatile __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, 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