From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752032AbcGFGMr (ORCPT ); Wed, 6 Jul 2016 02:12:47 -0400 Received: from mail-sn1nam01on0075.outbound.protection.outlook.com ([104.47.32.75]:13393 "EHLO NAM01-SN1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751458AbcGFGMm (ORCPT ); Wed, 6 Jul 2016 02:12:42 -0400 X-Greylist: delayed 100787 seconds by postgrey-1.27 at vger.kernel.org; Wed, 06 Jul 2016 02:12:42 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 v2 1/2] irqchip/qeic: merge qeic init code from platforms to a common function Date: Wed, 6 Jul 2016 14:01:39 +0800 Message-ID: <1467784901-11615-2-git-send-email-qiang.zhao@nxp.com> X-Mailer: git-send-email 2.1.0.27.g96db324 In-Reply-To: <1467784901-11615-1-git-send-email-qiang.zhao@nxp.com> References: <1467784901-11615-1-git-send-email-qiang.zhao@nxp.com> X-EOPAttributedMessage: 0 X-Matching-Connectors: 131122591588358131;(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)(199003)(189002)(85426001)(77096005)(19580405001)(189998001)(19580395003)(6806005)(92566002)(105606002)(229853001)(5003940100001)(69596002)(2201001)(33646002)(50466002)(586003)(48376002)(575784001)(2950100001)(86362001)(106466001)(8936002)(97736004)(2906002)(8676002)(36756003)(68736007)(4326007)(50226002)(81156014)(81166006)(104016004)(305945005)(8666005)(47776003)(50986999)(76176999)(87936001)(356003)(5001770100001)(7846002)(7059030);DIR:OUT;SFP:1101;SCL:1;SRVR:BL2PR03MB1889;H:az84smr01.freescale.net;FPR:;SPF:Fail;PTR:InfoDomainNonexistent;A:1;MX:1;LANG:en; X-Microsoft-Exchange-Diagnostics: 1;BN1BFFO11FD033;1:GGvf8vCsCZMUSuiBVS4hbjtyw0xBvp8+WrqNoPlPnVbAjvWhrrqmPu7PDM8otorv6TG+B/faq6IEqWv2xLS953dmVRu0jTl4Sqm2OKRdIXWVpIa9ubQB32icyYbB7/+kbr8ouEVuRpbZdxG1v//CZfIjwc9Elo6HFvQnYPRmhSenfA6fBLiPEZMY/gsaTkizktBvLXIG2NIMJclj3O1c5fpcKXuXnqN1hC43b7XvBiSntIDAvta0q3KbHUE3BvYLJG3Rd/lwqZT2AaeMd5Rn2rlHZcxJNKZfAznmDHM3pDgWUaS4NDUt2RPj/dIo7eVR9J//3zyq132y76hvEhu8odT8Uead8zqRSorY+fogXmhYXRTaFYjAXHW1s+BOhEoTnZhrSNylX8M+AJ+hE6FE1VLizEihOmEQ2+xnOxouIieN3BtRFBBMGluIFYxPypdCTn2+Zl4edDoYAbX58la5JGxMgqxdeQ4X87pxQ/v8wcOxx7nPJG0SzCHN+VtREakr9/xahqeWX6GG4frbyXOuvkCXZVP88yVCRXicQWcEG/fnoPtO7DjOkqm1egTLCFbqHuAGAWkF1K5TO4oNr49LdenH3ahKwc+lLV6nclla0YMaP8c2i87cRnc2NxGgNNYu87yl+gFUeFWNaCFU7b3Q8f00uTALWfMdbIUOUOhTsUpx5X3U1gWmkfEva5bKJ2uICOYM9krJvg/D4CtJgL54rLXaphqJNRyDw99FZRRa9ZWpHqMSN7M2+/71rWEHuDzt MIME-Version: 1.0 Content-Type: text/plain X-MS-Office365-Filtering-Correlation-Id: 718f43cc-1cee-468c-b692-08d3a564881b X-Microsoft-Exchange-Diagnostics: 1;BL2PR03MB1889;2:ntyqK6KaOcFrEcq+l/QdDp/lnm7rIVa8DA/JILe6MSE9nTnoOCwum8dFwtxOkjDu8OW0MF/tl8W3ELd4bQZvRwljTfgB1labf9IixNew963kxnA6AA1jzgmiMHR1eMuiFbaxWQ/K76XRA864UAhl3KCNqHoWl7dw3GqJWJeHV5yNiZSsccM/FYXtdL0QkjZv;3:G4Z4wvRoqzRo9lxEtHNeaZlLbSt9OCbEaKQ2IC+oMdTqMgPNmGzej6mInELcfv7+1jtxz2R4Q1zd/BjPxEvOB9B7Fme5WB/jrLUTBZjLcXLJ9kl/tc2N1II7SAFdE3TBux2ulptV8qxtWGRXV2/EWc/qR+9A8jsLjxAFo6E+YT2KuQMrry8Q2EexP0g0DmP9OZE+M2hLo8CRyrmFevLrluqAeS/SwGgi/pkCkLCNa4s= X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BL2PR03MB1889; X-Microsoft-Exchange-Diagnostics: 1;BL2PR03MB1889;25:T49Zh25POhJJToAB76j5jQ4rooScUbTyey8ji34/H8YXrHzZK9CSCZ0LQMYdxCU0fD2Sp4JXg+/411G/nuQqY5aCGptKIjMyMlJ+cXtAzHUw6fK7OJDM+gNqymPnHxaMyOMg2yxzSsIv70bDlocSACsZJL/Vk3iHLwlY+ItDn4O4lIm9/lpUGFl5Xnttsq06qbNFgZJQBvQsUy5bhpTJmDFWSt1x37GI62HSb2l1dQfqTTNSc2gV72QIhu+gwkdD73Z1qPtWB4tgNWNt9aIipq7UJIWTAH1W6XXRCSCVwuRBKPWHInJlbLj1kUazOw7cACq+e/r2YbxalKTu4JVmuqrwb1qldJJs8xfQD9wUxIju9HcbjugEKahenxK4OAp0a18ppZddPNhfLvGjKurS3u0h1bWzfU4MiyIKzMo9s9F3QFV+PaMTkd56hCj/b/oe9Ld4JlXMWmr8xVKCvq0qz2f5z9hI6pQsteKNNyDn4pFRageZTauH3xcXJQRQHhGrROeSk4sPk6PfbcSWUK83bslrgURw+pVngXPAWFoAQgC5vj2+FJFtSWBBWv061XkRWxO2dxWneJ23kWYmaAKJmBQbRij2dJrB29+tscBoTfjMglwpKpvNLgF2ZzM3spF9W1OXwmTIazfUf1JdUbR/ZXUBSk50EII6assAYttDZWDZ6x4g8gub9BqqxV8Lqz+hWhKfdA0teLK/8S/oDykMsw==;31:/c/y2o3g+7BlE0hcDGh3R1lxQceqwmfSAXT5H2gBMDzSLhstHZeN5/I1fQGnsT4wkXY2D7bJACILSJiAzG1wYMJpARkAloAl75i01Eq78Ah3l4+PWdWAYNiG6ImnhEfVLOqsCBXftkSgAUodcWCTPBuON+lFbWlzUuZIchBjz54k5tu9VuEhq6sDVkgZNoD8gpxQUjXYg3nMEkiyXSaeRA== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(185117386973197); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(601004)(2401047)(13024025)(13023025)(13017025)(13015025)(13018025)(5005006)(8121501046)(10201501046)(3002001)(6055026);SRVR:BL2PR03MB1889;BCL:0;PCL:0;RULEID:(400006);SRVR:BL2PR03MB1889; X-Microsoft-Exchange-Diagnostics: 1;BL2PR03MB1889;4:jsfddZ6YaMxJqHPW23q23MM/S+oqUzVr54gDvhh/nHMZMXewmZNuqR3KUH9YIlTNT/8M0mBC4UvJ2oP17jxDqK3w8Yfjnu+9201SBD+hz2LciD8wwef8urnunzWtpJG0Ny1Y0VihAsMfN+NWRnfdnzHnBEvURlV0cumMQG/7fSUV+NJm4cy5Y7yeC7FlrAZQdUIv4iFnAZinFtKtEYp8emVv12X4MMnZs9yut9CeKTt8ZjydSPOdgc02NBRur06hxBw03Tznc0+i+WoQ54t97I05lthLw/2VcrhvsaUIriGWusx2QxL0l4kUXYF1gyrnrzjmUpkFE4+1BfOlgxLYghg1sAIoMlXswXgG0fAF+MqdZ9GSkusG/lsxDzUKtQWC2pFKHBmnE4K6rfDxk7gp/EYHY8SecYksm+k2np5llKBGMD+3Y3et8LMBwsp7Yd+qwB+mRoZ+b/0jmzjBZu6gDgVMBe7RWb8xqaTEhRuugIpU6KYEca7SoHKzR8PaK1fj1iOOePK5d0VWaKzLWyPbzQ== X-Forefront-PRVS: 0995196AA2 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;BL2PR03MB1889;23:naGBrGyEylhzxZtYjjxX5p1w5SkP1+PK4CVH0MDkI?= =?us-ascii?Q?DPpE7QVrJepiIGOLXbe+kWfUt/I3O6oFlj9vs6JVMSq/+zVUynAZWV7QrFIs?= =?us-ascii?Q?yj3Y+zXz06E9C6SU6XzVQKKSW3s1XHks1UOTAhOoLCjKCtD5PyCkd3UoJ1Hx?= =?us-ascii?Q?bXAvtlgaEGryhVpE32SNMMa3MGfRuFycaSqCVqL5gaYnKrNXIkKn80vWe765?= =?us-ascii?Q?A2K1u/wV+6di+LL1NPKWtw//WkAFIU4T7L9D0UyyUfuX7V3arG3Rxd9I8oSt?= =?us-ascii?Q?nkVvDbkGd9mrM02X32Z2l2qWeeS4Soq4l5ACVlDDw8NOL+UAQ2tNSJoUvHb0?= =?us-ascii?Q?K57ZKiyJvetC+goVMuJv+Pndey3VARQgsH1X2kIgYUKzX5dHnhRUuksfMMix?= =?us-ascii?Q?evfqfuSy81N5PjeGDCQOsMelXX/PXG5ddgqsR80xul5YtkjfSs+xF51Z+Tng?= =?us-ascii?Q?5qL1bkWhNmS8HomUe00qNzZEzNQwc+Gwc9BkqqwfjCFUY2sStv/kk8Oo7OK3?= =?us-ascii?Q?bAZrpA9vIJhLcThpP0X/I3lTvVYV+1ShhOCVa5wiodRbZVy6bh437Ihv9srA?= =?us-ascii?Q?OhhlmshL38noZWHa+5pHDacCQrFba/Aria7Q/5WdXf9tNMbX5wZgz4UundNW?= =?us-ascii?Q?fHA4/iuoiQ4p/sAOfIlVGpYVmcK8yRtqAoiS8+jhCa1W8SKxPeDHFyLardWJ?= =?us-ascii?Q?d83WW6QgrGLPsM5udfsPbS3Dx2dFBKDraC2/fT/d8nuKFKg+fi6hbTtviUur?= =?us-ascii?Q?SWvKBp0s/dIfZwyHpnkLaDMgDkRumk68y3EWIqB7bg102lyFDZLe1q2/S49a?= =?us-ascii?Q?2wFX3QNOIcWGi03MCOFlQ6tOY5tvHvW8eTTKXwVPeSqTzfSp9dOTljU2cqBG?= =?us-ascii?Q?AHPDx8M3kIyJltPAc7mbErq1WD5+D9C5DFI7kr7oxLbVtHY6k5LsHr38vVwD?= =?us-ascii?Q?JoYMOY/8B9jg1LJUNrzUYWcQi9ZAJW9zR8IuC1ONvE3MZJ31zwEqLOUwiTg2?= =?us-ascii?Q?Ro3thhhfi8rKguU+UESz0f2FuGJf3WKmz4jNBPs1tJzUoaDX4T0J6jwzbyZB?= =?us-ascii?Q?JBlafOIbkze7hLwWQ0dyCXzElUTroU7cBLK+hegLieiLGJwGJWL3lmRjH+C/?= =?us-ascii?Q?sOIpCwwYb8AVI/yrT5jtltyiQ4C7maFEWli7W2uIneuIDS97etyy0zh9+npV?= =?us-ascii?Q?1LFVyIwYjbmbLg=3D?= X-Microsoft-Exchange-Diagnostics: 1;BL2PR03MB1889;6:e+MRqcD8w+U7BcPVTU5J3N+Vzd8khlI6jIxJKy/mmQiBZ/8TZBR6x+FBYerErdPNMAhJvzmaKh2R+ucam0KsgkoRpjqNwRPgRjnkIq2QvQXqBo6kpBiq4jk+spSdTtVgL8B1fO131r1hEkzVH+PI63MVcI4jVLSXzlEuGl1BZbkBOuXYjrGsFoVlsJWWxawniq8Td+aaP66Jo/DEVVzpcAD5AdW2AI5mwFGwI/ZLyn0n1hes9eU+TlNctJsCBSdUIITr+hFB626XD62oYJeuL7tgBjWp1wpkpi3ShGJ3Fa0=;5:ffw3kDrYjrsVeO0s3hCbbUaPCA0zSdiw5DxFn/KxB7zpvLGridjeiAFpFzS1Xm2/0eat/AyyotupUkI1To7lda5whOohgjb/Obxc7qkdtkx7nGsfKryE/JNYKo8lotpwHk1FLR0fMDjr/NKERf8FfpClkTCNYLecg4XqR9jj5Pc=;24:t6ZmqyAHWQwsuLozcv9fOFVITaMsBCTQZAAEyszFJQ+Y33QB5cFVmcEytNKAwDySWz4jXPASvKgoWzseO2NOVw2Poh7U5467QjJ+QDJrlMI=;7:13YarV2pKzeLF68PXBYUZNHg+VoutjMKcB+cRswnsXwo4ggPA99MhzMFIiSNRbJWRGWzc6gFZ/syCsa4yDe3qWTsFNKEDJOsgCoTwP6eYCifBFo4yWasmBh/XxQJ9y4URsRON8EmsdCkEtiLaQ2w4FEdIzGplg+dld2fuXlAJxEhniOMA8wo9EDZMncxueoIhhd60CbkbKBMGuuajjzJ/WGMMsGsOUp/VWReV3Yaj7KHUVuowWX5UY5FZ+FGgw3U SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Jul 2016 06:12:38.5862 (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: BL2PR03MB1889 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/qe_ic.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/qe_ic.c | 16 ++++++++++++++++ 6 files changed, 16 insertions(+), 68 deletions(-) diff --git a/arch/powerpc/platforms/83xx/misc.c b/arch/powerpc/platforms/83xx/misc.c index 7e923ca..9431fc7 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 a2b0bc8..526fc2b 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 f61cbe2..7ae4901 100644 --- a/arch/powerpc/platforms/85xx/mpc85xx_mds.c +++ b/arch/powerpc/platforms/85xx/mpc85xx_mds.c @@ -279,20 +279,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 3f4dad1..779f54f 100644 --- a/arch/powerpc/platforms/85xx/mpc85xx_rdb.c +++ b/arch/powerpc/platforms/85xx/mpc85xx_rdb.c @@ -49,10 +49,6 @@ void __init mpc85xx_rdb_pic_init(void) struct mpic *mpic; unsigned long root = of_get_flat_dt_root(); -#ifdef CONFIG_QUICC_ENGINE - struct device_node *np; -#endif - if (of_flat_dt_is_compatible(root, "fsl,MPC85XXRDB-CAMP")) { mpic = mpic_alloc(NULL, 0, MPIC_NO_RESET | MPIC_BIG_ENDIAN | @@ -67,18 +63,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 71bc255..603e244 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/qe_ic.c b/drivers/irqchip/qe_ic.c index ec2ca86..38960fc 100644 --- a/drivers/irqchip/qe_ic.c +++ b/drivers/irqchip/qe_ic.c @@ -509,4 +509,20 @@ static int __init init_qe_ic_sysfs(void) return 0; } +static int __init qeic_of_init(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_mpic, + qe_ic_cascade_high_mpic); + of_node_put(np); +} + +subsys_initcall(qeic_of_init); subsys_initcall(init_qe_ic_sysfs); -- 2.1.0.27.g96db324