From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754146AbdCNDRX (ORCPT ); Mon, 13 Mar 2017 23:17:23 -0400 Received: from mail-cys01nam02on0064.outbound.protection.outlook.com ([104.47.37.64]:42691 "EHLO NAM02-CY1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1753442AbdCNDRR (ORCPT ); Mon, 13 Mar 2017 23:17:17 -0400 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; From: Zhao Qiang To: CC: , , , Zhao Qiang Subject: [PATCH v8 2/4] irqchip/qeic: merge qeic init code from platforms to a common function Date: Tue, 14 Mar 2017 11:02:53 +0800 Message-ID: <1489460575-6193-3-git-send-email-qiang.zhao@nxp.com> X-Mailer: git-send-email 2.1.0.27.g96db324 In-Reply-To: <1489460575-6193-1-git-send-email-qiang.zhao@nxp.com> References: <1489460575-6193-1-git-send-email-qiang.zhao@nxp.com> X-EOPAttributedMessage: 0 X-Matching-Connectors: 131339350340629989;(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)(39860400002)(39840400002)(39450400003)(39400400002)(39410400002)(39850400002)(39380400002)(2980300002)(1109001)(1110001)(339900001)(189002)(199003)(9170700003)(6666003)(5660300001)(6916009)(2950100002)(48376002)(104016004)(77096006)(50466002)(86362001)(5003940100001)(50226002)(8676002)(81166006)(85426001)(8936002)(47776003)(50986999)(33646002)(8656002)(305945005)(76176999)(356003)(38730400002)(4326008)(36756003)(110136004)(189998001)(53936002)(105606002)(2351001)(106466001)(2906002)(54906002);DIR:OUT;SFP:1101;SCL:1;SRVR:SN2PR03MB2365;H:tx30smr01.am.freescale.net;FPR:;SPF:Fail;MLV:ovrnspm;PTR:InfoDomainNonexistent;MX:1;A:1;LANG:en; X-Microsoft-Exchange-Diagnostics: 1;BN1BFFO11FD018;1:JaaJXsXUmJaaFneefwAK0f5PuRZw2yShanJMOJi2r5G5bLdeCeDtNk3i/kMKa52sEJBApgotlg+L7bxPp5bmt4Wim2V7k2HtypNFIgoYvH8GlvUsYK0krImTUH/enkiChRKJashn6VSPr1m/MPScuSYEWSOA8iVzxDttXFdUmqN8xZ+kY+aEtrcaqXYCrg63l6mCA5acmQ3dHrVX4ldtIxRSSB5ueB6dbSXvyekgn6KHYt6ejkFCPw3VW7FWlmNNhpA72WuQl0f4kxWD8s6IpFI5c8VscV0qj6lIk5LQs2m51ysBLbDCtCOf3Fit/YvAVDCBDT86WYn6wvsy64M/hnwoC4pGE1nVBYsUIf28JJnMbb0gHyFRmm5wKR6nIOuRnYl8mG5RmMD9lni/ZqGe9ZAFuejmJabAGdnZbW3PrsJrHa++2VZbSRm2dhgTqgx+cDRbGcr/yHSOiKATsydmts/KM10S42zmhX3kb9hknASyxaYZIQEYAq+ehdlCHmk4Fi9tGz1SfoK/OOxbHcgQr9ZBo/ItTy3BszfEjVEuh1SBSizDww9ZLGeAClMNB892MdMF92v5kksEvo3BGCu/UkyxiO5JjQaXicF2j4sqXlg9VJYo4jKUw7eh5ZZ86S9RYIqkqsnD1RcGp85sClXm5IxNcx8vGcDZ+w1wjyl61hwq8tXZiDhC5Tc9QxFRmO69isP1KUBv3aHnpGzwQZkfdS/KXAYrIlbUmbVX3cvdkKE= MIME-Version: 1.0 Content-Type: text/plain X-MS-Office365-Filtering-Correlation-Id: db1786b5-b48e-4c7d-1484-08d46a889c8a X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001);SRVR:SN2PR03MB2365; X-Microsoft-Exchange-Diagnostics: 1;SN2PR03MB2365;3:XNWqZX6odyheLVvJxEZ9N2Ej/qY0Qqq8iFbYFNZBbKzFyN/M/7GR/lMrdaWtQELqcekopDQpOppATrK3j+wQevQQW9gSaDfdNKLKHBLAi7daMeA90c2eTAB6qyfHq0GVxaOopimK0wHl6u7KRZOQ0i07epj31QCkJm+y+jQEgA7LNY6QORtwcYoqeRT5HUwIc8rMlHnvfQhO5N1QRghxK6wH92V13zsSHT0t4oRz8P5MEPFIX2060kwd0+frSKschW2kQQNWAnjcRpv9GKk299i8wKT2W6Nx/rZCb+P9S78VKvf6P2OM/9qDL5ajYcXBren76Wbc+w6Cgl2TC+S4LHlk2jtOMmZ+DiNwEJFNAbnqQrBd3HFvNkSOIx7D2suT;25:Hg2KjF85n3vcFxboqYk5U0qDAbmX0U0qf924jKpkNCz97KAgpModP6U5FBJLPtqaRhXrzlZiAW54e4Amg302xP/dLiHDvPFS9BS7zMjnPRwfARhf3WJV9FSbt8vwSfrIFOltZM0HOCio88HMfxWcLBaz+Zw2A4LVM2uQzFqRL7bNDmaDd1F4+qJEHroDebWk3PXZnB7vNpCb/LvWOTt0rF42AWYDIGbFP7u/Azmer1aQeCOZsNajQf+/1jernBfyjlCMbL0+zwtu6cTD0Q/pgNkeCAhEf+arWMcMInNjePM9sGK3iyVtDfrvluTXcGARxvdeC0MzvOXSDqnOyg9eXf7uCH99TPo6NBez7wyV6XrgslpgDAW85nkU4Z8layd2ren4WPzrDEpqHgYNWjPcSEhQ1RkZ5Hxeg1xmD6pNVRCw+tMtd2h0fz3SlQQ3bdwUxPmwZ9/xKH12zk0c+rK5Fw== X-Microsoft-Exchange-Diagnostics: 1;SN2PR03MB2365;31:/40JCZbl8jY1oK9Fjtetmx1HswlbzNdHHR2RLRZThGQnw9B3JOcPOQbRwlJPshHskbeOqxPkdmzKCy1jCbpbOTD4jQ3QT5rEnZTL21XHNIYGLL9q/H1HwS2AnPT50sqCDPZqrrLCCUjXHX1IByPpUMJuGxJFooOYNuKNwHEwP4/FUbQCBHLxckxRja4BibQzNJPK1cXmllqv+pT6ET9vsK1ZZ4bjH6JPtDp8eIGOIb9xnBRt5InECNgBsq/Kwa+7a53nEdAJChKY/t7XA+2TEw== 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)(13018025)(13015025)(8121501046)(5005006)(13024025)(13017025)(13023025)(10201501046)(3002001)(6055026)(6096035)(20161123561025)(20161123565025)(20161123563025)(20161123559025)(20161123556025);SRVR:SN2PR03MB2365;BCL:0;PCL:0;RULEID:(400006);SRVR:SN2PR03MB2365; X-Microsoft-Exchange-Diagnostics: 1;SN2PR03MB2365;4:pybddjSLUNUfBzmXHgBIYYV+cayvq90GyOFBTWIKgCETZbswn2hnAxDvaMAY73ACFxAYvboQdHvjSZgfuISXly8v/cOXNx0Ori74V/EnWpCyglvELgdL8cX6ofuiDHfEp1aAynWvxcQpFPcijc6UDtkUnlfYIkKGgfnP7Be9fb5iba18bZ7PqocF9sMRs+cC1hvlFYQGRE8qvEVxI50zL6wNfgTxpx/U4oi2jETUQ8TeMkgieo2PrNY7gHhJrVbSJB6vJBFK+qFvavhxgbVSeTgJifQV0HbzX+egB5+ZMj9IVM2LUftntg3tLIBxMqqMwwJarR1KefgfEd/apP+Km99GvhIQG+lcqMVEz6ie+HKZ1/sEc7h0vUIGCkHppEgkm71QG1vLobsdxxA3Aoi3+tO2XBLP3M8lz/DpVb/IGzM/STSqHeMGBEym1eVyfCfvIdLBl09GvD+cUQSMMehExI2Ahw0I0NnelQFdMaYI6LZtuUw4vgDuuFxTyS3XSiIjvJrDR2Ca8ThaKAvViR4ZcX/UoBI+svj0DBdFNFgSZBLKydBuRZErih3n1qLQbM/p+e5xHt2eP9u3xySdGYnY9xvwIoQsUjBYpHNepEpXfl9n0q2sKa8gH3OKnyTIG/Zl2Fw2eo5JKJ4N8XjwsA+9XzucExtLjED3OMVPzkIK28ouRrOsSHzFNhkT0f1fRjzqNXGF+cYpfhJrzGJt1AnLjxR5Mv4j5oTqa9Qr3W2uP2LMa3z1472H9lI+ANN0KdBv X-Forefront-PRVS: 02462830BE X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;SN2PR03MB2365;23:NxsEX/2RcqmOg0gGgY3ahw1KiesuJSS31qPvKXoTi?= =?us-ascii?Q?zpvi2kjjlhtjZNCF1EgQ2WuxyZB1NeLxLzTG4VLZxEpuii2Gw/FWoxzUV+S0?= =?us-ascii?Q?3zPswHYGu2fLc7XGcnkcIjY99r7+Q7RqExzViDMiwjHh8aCZq0TD9TsWmBAH?= =?us-ascii?Q?c1d73TYuEaIQhMmBiYzr0R9v3/NXQdXUauUOUti7mNTNYLAbwsGu+eYAF3BX?= =?us-ascii?Q?vFqH9PLHHOq/9HfCOafDTWLGR+AHfO1cLuvQvZo0gvSdUZ1hiU1g71ab47gM?= =?us-ascii?Q?B7ewU7YHAUFH3+M4jriIXY4CWBHlUlZoOYo44nrp8F8/Uv6Yi5cMfCE6sHvy?= =?us-ascii?Q?FeuTNsINUDiKbtbikvm09Uua/XoSBAOqwSoXYKLtsOS0+gaMobv066LKCmyc?= =?us-ascii?Q?q42Q4/9lqOScbthvrDf8Y2AMgFK9/devzJhMy5O6x9LFGS3pc/7kdwdPlp+E?= =?us-ascii?Q?rhhgTLWnptzG2bCU2KiFUPT/n3TW3JfqOMdehcjObP6UWbXFA3Pj+Yk/Uise?= =?us-ascii?Q?ffmVUXe70xD2VzR4mKeWEld2fc5qSbY1P1xUGHU12VRj4lKTvSrrx/jB3Lar?= =?us-ascii?Q?+9r++oZeTOUbGKgQ8h4qsE8N6pEo5tWfZO2SASdu5QMJqs9x4hlKTRNwjuq6?= =?us-ascii?Q?2aXyPCMhAFtC3JrcyZajVZX55GdUAq1HW+XlMqAJrHY1OAYLZsyOSxc94zE7?= =?us-ascii?Q?besfOvUbKo45pC7FjuZJXCajMIBk4B/wgY2ywwF6qarqpt6F2hikACS8Z230?= =?us-ascii?Q?UlHIeSTn3I57FyL7bhKSu4jmsRYJDAx73i7toDvc1EwjISwpxVwVTbEOVERe?= =?us-ascii?Q?Qr7+V/ngou67cOr868DUaGYxGjAYJkU3FSrhuhblQzJl6/wmXAh877KgKr2m?= =?us-ascii?Q?P3KG5DGCuiR6VzNZKdPBi29bz0rxRwsiu31xlRUMY+AgHV8+4RiVQyAJtUY+?= =?us-ascii?Q?cX4H9dAm2IvjoCsA1ajoHdz4gi/WbBGkHWHfRGhnQOTNBUkYHP1j5MliMcek?= =?us-ascii?Q?dEf8n2wL1pIETeS1nxU4rxwBgYxgjRU6PGc4qQ3d9bE4Cx6LsPPUsqHWaLX2?= =?us-ascii?Q?2UK6vltQZPZLu3i4zzrr4Cyh6/qW0XZr/H2I2ps1bdBt1KukIUzH19IDWJLb?= =?us-ascii?Q?w0386qKtqO3ipOj5SjcAYqsLacffFTHQeG+jfAIztM6TOn7hLniju9e0WE6E?= =?us-ascii?Q?hs6CPOdwY/XjFgklbZz2oyp4mw9hhSazb4w?= X-Microsoft-Exchange-Diagnostics: 1;SN2PR03MB2365;6:b0OhjErO0GIMuEWFAkRAsNaPKEZpZaE2nnQWUU3+IUDhxFLHk6hKI8BhTLf7hSND2IS3dtXRDuNCtNKF0ykGNXHgohVlLJ6FGzzGrMG4zh3uye89uASdYIYnNrYNjlXErpeZMDd/A/lJVmw4QjWurl78p5Nu91wyZbTITzXn2lUxKL/n5Cx1zWT98CbUzTv0iPYE0y7F7AdSEXoGb0QBYr1OMK8MXR8ItN2azWTKGLnpLrjOJv9+f5bw3p/lYX3gWZ062wiE/PeCS3xufe/csJK8XKN+XMbRkST0qqqyPKkBsNdgUpBrX/tepU5z9QWdAe8TYVuUWat7YiSEAcJ13+Cc97vtdIOeYPM1IfyXiqW7JCti8jNVGn3Xoh7neACybgVSS/xqCYgYItNboSQ3Cx6a2LJAZkTMByxtM7CaGb0=;5:NdtVgfGBxDXwk1BHpBgpsewvKsICJXR6Doy5TtwzJ2iqIW1BwdQICqCav4z9w5Er6ewPc6wTxu2bcC9qdo66KNqnc1YEIzeTegwgitJCVZyPp0w5Cbleb57rC5ad80IpUoTtIkVYGVYLIjVhFeVOPpiLjKlDj9qS/rcfG0ftEjkEjJ9DUd0+l/xGGgy85H4v;24:kjvbuhdvRqHWISa4MIjSPVeg4K9j6mnU83k+J2jy5v6VFAj0AnetPet2qX+yKXCQ/SWdavUd77jJQAJFQwGbC3oQ2nvXtuPHl3Sa6iIzLIU= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;SN2PR03MB2365;7:YcuQk18HPD4yzP4qpMqPFovU713prD6MQSAM37djUou7t0SyiPNfjKDolkhWejT52H+UgKYiOpIdEmAlH0OfTtvX/ZKVxH6d9maBIl+M+ICJrTLuwyKrO3BwiKri5dSo+IDfbs7GOItvvEX/FRlaqFL/BeFHGHaj0FcOFRkKF9Pl1yov5SgI4m9FzdkTCqcsAD+XxTiGoVFEaqwU03E65MsLbzk14Woi/1jIwDo7Tc1NNbbC1YQYBEGgG82fcSYooocDk4zifadyt3hWEkPWLdopdMxpV8kO96ti0sXL/buCOPL2g85/yCF5gTl4U/YgXw3MAQ5UKwc8OZB6/MUoDQ== X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Mar 2017 03:17:13.8445 (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: SN2PR03MB2365 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The codes of qe_ic init from a variety of platforms are redundant, merge them to a common function and put it to irqchip/irq-qeic.c For non-p1021_mds mpc85xx_mds boards, use "qe_ic_init(np, 0, qe_ic_cascade_low_mpic, qe_ic_cascade_high_mpic);" instead of "qe_ic_init(np, 0, qe_ic_cascade_muxed_mpic, NULL);". qe_ic_cascade_muxed_mpic was used for boards has the same interrupt number for low interrupt and high interrupt, qe_ic_init has checked if "low interrupt == high interrupt" Signed-off-by: Zhao Qiang --- arch/powerpc/platforms/83xx/misc.c | 15 --------------- arch/powerpc/platforms/85xx/corenet_generic.c | 9 --------- arch/powerpc/platforms/85xx/mpc85xx_mds.c | 14 -------------- arch/powerpc/platforms/85xx/mpc85xx_rdb.c | 16 ---------------- arch/powerpc/platforms/85xx/twr_p102x.c | 14 -------------- drivers/irqchip/irq-qeic.c | 11 +++++++++++ 6 files changed, 11 insertions(+), 68 deletions(-) diff --git a/arch/powerpc/platforms/83xx/misc.c b/arch/powerpc/platforms/83xx/misc.c index d75c981..c09a135 100644 --- a/arch/powerpc/platforms/83xx/misc.c +++ b/arch/powerpc/platforms/83xx/misc.c @@ -93,24 +93,9 @@ void __init mpc83xx_ipic_init_IRQ(void) } #ifdef CONFIG_QUICC_ENGINE -void __init mpc83xx_qe_init_IRQ(void) -{ - struct device_node *np; - - np = of_find_compatible_node(NULL, NULL, "fsl,qe-ic"); - if (!np) { - np = of_find_node_by_type(NULL, "qeic"); - if (!np) - return; - } - qe_ic_init(np, 0, qe_ic_cascade_low_ipic, qe_ic_cascade_high_ipic); - of_node_put(np); -} - void __init mpc83xx_ipic_and_qe_init_IRQ(void) { mpc83xx_ipic_init_IRQ(); - mpc83xx_qe_init_IRQ(); } #endif /* CONFIG_QUICC_ENGINE */ diff --git a/arch/powerpc/platforms/85xx/corenet_generic.c b/arch/powerpc/platforms/85xx/corenet_generic.c index ac191a7..1b385ac 100644 --- a/arch/powerpc/platforms/85xx/corenet_generic.c +++ b/arch/powerpc/platforms/85xx/corenet_generic.c @@ -41,8 +41,6 @@ void __init corenet_gen_pic_init(void) unsigned int flags = MPIC_BIG_ENDIAN | MPIC_SINGLE_DEST_CPU | MPIC_NO_RESET; - struct device_node *np; - if (ppc_md.get_irq == mpic_get_coreint_irq) flags |= MPIC_ENABLE_COREINT; @@ -50,13 +48,6 @@ void __init corenet_gen_pic_init(void) BUG_ON(mpic == NULL); mpic_init(mpic); - - np = of_find_compatible_node(NULL, NULL, "fsl,qe-ic"); - if (np) { - qe_ic_init(np, 0, qe_ic_cascade_low_mpic, - qe_ic_cascade_high_mpic); - of_node_put(np); - } } /* diff --git a/arch/powerpc/platforms/85xx/mpc85xx_mds.c b/arch/powerpc/platforms/85xx/mpc85xx_mds.c index d7e440e..06f34a9 100644 --- a/arch/powerpc/platforms/85xx/mpc85xx_mds.c +++ b/arch/powerpc/platforms/85xx/mpc85xx_mds.c @@ -283,20 +283,6 @@ static void __init mpc85xx_mds_qeic_init(void) of_node_put(np); return; } - - np = of_find_compatible_node(NULL, NULL, "fsl,qe-ic"); - if (!np) { - np = of_find_node_by_type(NULL, "qeic"); - if (!np) - return; - } - - if (machine_is(p1021_mds)) - qe_ic_init(np, 0, qe_ic_cascade_low_mpic, - qe_ic_cascade_high_mpic); - else - qe_ic_init(np, 0, qe_ic_cascade_muxed_mpic, NULL); - of_node_put(np); } #else static void __init mpc85xx_mds_qe_init(void) { } diff --git a/arch/powerpc/platforms/85xx/mpc85xx_rdb.c b/arch/powerpc/platforms/85xx/mpc85xx_rdb.c index 1006950..000d385 100644 --- a/arch/powerpc/platforms/85xx/mpc85xx_rdb.c +++ b/arch/powerpc/platforms/85xx/mpc85xx_rdb.c @@ -48,10 +48,6 @@ void __init mpc85xx_rdb_pic_init(void) { struct mpic *mpic; -#ifdef CONFIG_QUICC_ENGINE - struct device_node *np; -#endif - if (of_machine_is_compatible("fsl,MPC85XXRDB-CAMP")) { mpic = mpic_alloc(NULL, 0, MPIC_NO_RESET | MPIC_BIG_ENDIAN | @@ -66,18 +62,6 @@ void __init mpc85xx_rdb_pic_init(void) BUG_ON(mpic == NULL); mpic_init(mpic); - -#ifdef CONFIG_QUICC_ENGINE - np = of_find_compatible_node(NULL, NULL, "fsl,qe-ic"); - if (np) { - qe_ic_init(np, 0, qe_ic_cascade_low_mpic, - qe_ic_cascade_high_mpic); - of_node_put(np); - - } else - pr_err("%s: Could not find qe-ic node\n", __func__); -#endif - } /* diff --git a/arch/powerpc/platforms/85xx/twr_p102x.c b/arch/powerpc/platforms/85xx/twr_p102x.c index 360f625..6be9b33 100644 --- a/arch/powerpc/platforms/85xx/twr_p102x.c +++ b/arch/powerpc/platforms/85xx/twr_p102x.c @@ -35,26 +35,12 @@ static void __init twr_p1025_pic_init(void) { struct mpic *mpic; -#ifdef CONFIG_QUICC_ENGINE - struct device_node *np; -#endif - mpic = mpic_alloc(NULL, 0, MPIC_BIG_ENDIAN | MPIC_SINGLE_DEST_CPU, 0, 256, " OpenPIC "); BUG_ON(mpic == NULL); mpic_init(mpic); - -#ifdef CONFIG_QUICC_ENGINE - np = of_find_compatible_node(NULL, NULL, "fsl,qe-ic"); - if (np) { - qe_ic_init(np, 0, qe_ic_cascade_low_mpic, - qe_ic_cascade_high_mpic); - of_node_put(np); - } else - pr_err("Could not find qe-ic node\n"); -#endif } /* ************************************************************************ diff --git a/drivers/irqchip/irq-qeic.c b/drivers/irqchip/irq-qeic.c index 9b4660c..346a7ee 100644 --- a/drivers/irqchip/irq-qeic.c +++ b/drivers/irqchip/irq-qeic.c @@ -598,4 +598,15 @@ static int __init init_qe_ic_sysfs(void) return 0; } +static int __init qeic_of_init(struct device_node *node, + struct device_node *parent) +{ + if (!node) + return; + qe_ic_init(node, 0, qe_ic_cascade_low_mpic, + qe_ic_cascade_high_mpic); + of_node_put(node); +} + +IRQCHIP_DECLARE(qeic, "fsl,qe-ic", qeic_of_init); subsys_initcall(init_qe_ic_sysfs); -- 2.1.0.27.g96db324