From patchwork Mon Aug 7 03:07:14 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Qiang Zhao X-Patchwork-Id: 798472 X-Patchwork-Delegate: scottwood@freescale.com Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from lists.ozlabs.org (lists.ozlabs.org [IPv6:2401:3900:2:1::3]) (using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 3xQjfH3ml1z9s7g for ; Mon, 7 Aug 2017 13:28:07 +1000 (AEST) Received: from lists.ozlabs.org (lists.ozlabs.org [IPv6:2401:3900:2:1::3]) by lists.ozlabs.org (Postfix) with ESMTP id 3xQjfH2Z9mzDrDf for ; Mon, 7 Aug 2017 13:28:07 +1000 (AEST) X-Original-To: linuxppc-dev@lists.ozlabs.org Delivered-To: linuxppc-dev@lists.ozlabs.org Received: from NAM03-DM3-obe.outbound.protection.outlook.com (mail-dm3nam03on0087.outbound.protection.outlook.com [104.47.41.87]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 3xQjYy2J49zDqnm for ; Mon, 7 Aug 2017 13:24:22 +1000 (AEST) Received: from BN6PR03CA0003.namprd03.prod.outlook.com (10.168.230.141) by CY1PR0301MB0907.namprd03.prod.outlook.com (10.160.165.18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.1.1304.22; Mon, 7 Aug 2017 03:24:17 +0000 Received: from BL2FFO11FD017.protection.gbl (2a01:111:f400:7c09::161) by BN6PR03CA0003.outlook.office365.com (2603:10b6:404:23::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.1.1320.16 via Frontend Transport; Mon, 7 Aug 2017 03:24:17 +0000 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; Received-SPF: Fail (protection.outlook.com: domain of nxp.com does not designate 192.88.168.50 as permitted sender) receiver=protection.outlook.com; client-ip=192.88.168.50; helo=tx30smr01.am.freescale.net; Received: from tx30smr01.am.freescale.net (192.88.168.50) by BL2FFO11FD017.mail.protection.outlook.com (10.173.161.35) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.1.1304.16 via Frontend Transport; Mon, 7 Aug 2017 03:24:16 +0000 Received: from titan.ap.freescale.net ([10.192.208.233]) by tx30smr01.am.freescale.net (8.14.3/8.14.0) with ESMTP id v773NpO6014527; Sun, 6 Aug 2017 20:24:14 -0700 From: Zhao Qiang To: Subject: [PATCH v10 2/4] irqchip/qeic: merge qeic init code from platforms to a common function Date: Mon, 7 Aug 2017 11:07:14 +0800 Message-ID: <1502075236-24078-3-git-send-email-qiang.zhao@nxp.com> X-Mailer: git-send-email 2.1.0.27.g96db324 In-Reply-To: <1502075236-24078-1-git-send-email-qiang.zhao@nxp.com> References: <1502075236-24078-1-git-send-email-qiang.zhao@nxp.com> X-EOPAttributedMessage: 0 X-Matching-Connectors: 131465498570937409; (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)(39400400002)(39850400002)(39380400002)(39450400003)(39860400002)(39840400002)(39410400002)(2980300002)(1110001)(1109001)(339900001)(199003)(189002)(97736004)(86362001)(356003)(50986999)(76176999)(305945005)(498600001)(189998001)(47776003)(68736007)(8656003)(2906002)(50466002)(104016004)(2950100002)(6916009)(48376002)(53936002)(54906002)(110136004)(38730400002)(5003940100001)(77096006)(5660300001)(81156014)(81166006)(85426001)(8676002)(50226002)(8936002)(2351001)(626005)(36756003)(105606002)(106466001)(4326008)(33646002); DIR:OUT; SFP:1101; SCL:1; SRVR:CY1PR0301MB0907; H:tx30smr01.am.freescale.net; FPR:; SPF:Fail; PTR:InfoDomainNonexistent; A:1; MX:1; LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BL2FFO11FD017; 1:jm/ryj6g0OfRjKNjYQaJleSo7ZahQj3NEcJhja92mA?= =?us-ascii?Q?7ITahYNO7ARUZIKVC/ty9i9hcECXICBQ2O/MmAjYiQkwlPHJqTDvG4TZVhbR?= =?us-ascii?Q?5KU9enhJZGXgVoqubEf/PItUBrhVvkyLO5Lc7jKFOM6Fg6IfiwIzzGki3tym?= =?us-ascii?Q?dIMgy1Ud/X9jZu03uyqRJWj/Qi5W1VCVXJNd6HN3DCpRtNNgsuL6aZEouWl/?= =?us-ascii?Q?hsqDbhSGezVP1VYg5EPH+Hkwx79GWxpT149SZ+Dd0I+mYmxA85uhw/GUSvPY?= =?us-ascii?Q?Adle4iEdwNJ/y/IP8YGHNkLrioqtCruW+hBvN9mIXNP/ZnwSHPc9OJQaO41l?= =?us-ascii?Q?nrkVC4gpnPC235sSRYLW3jFX54Bw+IjyWDutynGMlULcBPS0TuKDEJrUrEyS?= =?us-ascii?Q?88HfdbX9De2ukaS4uqOzCqYjGjEQLugfaJR8kE5yAjERZRiH9dyBV8T6skYv?= =?us-ascii?Q?2ebF7bRQFJTTR69/T7xjzKq/ySxPWaY8BOocq2pHcyzkd4IzCICAvIthzkYO?= =?us-ascii?Q?RKM3oPZTh54HxrY2FZymp+4eTdsw9yhggj4mMd3R0dnSmKktLlZpu1zFIS8Y?= =?us-ascii?Q?T31bl7D2chmeTaQEs4qNUUp1Kj/U3psvVyIbvLFWDaPbdKMexD6I9BK2hFTP?= =?us-ascii?Q?9uD5W5V1yX/o7TTIjZKTpZ4Fr+d/8LT269ENyGenHdZyC56f0s83qkyAigqg?= =?us-ascii?Q?0k67La6+WsTsx95cIZNo7NUOUlU+W7L7pZ+X65v8UivL28CyEeMj6wn0Apkl?= =?us-ascii?Q?83xg3J0VuMGYLXZ+fBSjS5WZHsT3V4RN01K5ehZ/W+JI2UFj/+eq02jX5S2C?= =?us-ascii?Q?BXB7Q47JgUzuk+RDb/B71bxqUByBjemKnZMJBEHj4glaa/lXeajZfU8LIpa9?= =?us-ascii?Q?sWCYpedF4LPqt9D2U0qSSCNRUOhybWT5/3vbRukFQa5QFDIS7dQ++aMufQea?= =?us-ascii?Q?+Z1/vS7vXdC5sl8kOBtVZsGPPWeC9EYCmb3NOHwQ=3D=3D?= MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: de8106d0-b210-4a64-f2df-08d4dd43c8fe X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(300000500095)(300135000095)(300000501095)(300135300095)(22001)(300000502095)(300135100095)(300000503095)(300135400095)(2017052603031)(201703131430075)(201703131517081)(300000504095)(300135200095)(300000505095)(300135600095)(300000506095)(300135500095); SRVR:CY1PR0301MB0907; X-Microsoft-Exchange-Diagnostics: 1; CY1PR0301MB0907; 3:pF81tLhQMWp3f6D98his11Ry3ad+DM1VtbhxL+lGW9YclqnZOElpiHzK8NJjSbGlYSjQDlbVMZrf2z/PBORSBLdej54werE57N2NWWwKtiNgC4HykZthj9ytIBX/TqGGRstJjkTQp3tv+tXNdkHKvEhZdS0zHtK1tgk7VB3acuhB4RubfXLZIrUB4Iu5+UPYYKUa0ozJ+fTAu5VG76Cq3J4eFLCHl3ztwoQTVru0PpWCHS7IsWSZQ4pNnYGOp8c4s9nz+FIh8M9LNa6JbbZRgJd/PVFWZJc0lZIIOnKXN4FaXpMGchgwEzjjhAOZuWCAraQWMrn5KE7OBQOf4oBdtQTYefSn4u0lDq/eYm+9XA0=; 25:WCYkAZYzF/5lzwVAIwM/+7lFkNvIv2sJdtkgSXO28JhWAuUQoIBfhMPDIm1DTg9ftgriFH77/thQarzw11lqEZKcxRkcKlu6pzjWKezyx7f1mQFxeOYHcv7unTHrd8nHxE0WdVD973Y4OQaeckrYMASaLHucp9XwK8nsw+SpyR3uVQuq4SBs1pXjsDO9IfPBZO78Qqo0dcTAL6lnervGRPK3oOF0w+qEhIFGSZqMGHyFsQLpqnWbmpu+IoG4XLxCk/2ZiaP0FjQ7lwvS1VQ2jQTTp43ggxfjBwqZlLOM9BxKlZRkyEQjPr3nuq7gP/ymy6iYDSK0Wr5EWm595Wwnnw== X-MS-TrafficTypeDiagnostic: CY1PR0301MB0907: X-Microsoft-Exchange-Diagnostics: 1; CY1PR0301MB0907; 31:w9o3mFtu16R7RTNSNviafajQorkvK+pz2IQpGxtH02qL2YXi85uoogE7140sttkYsYEW7pii99zspBmNtqNRvKsCBloTbYBI/oSaeRzAB+M272fj/FK6ybTHxO4YafiioujetvoKRDto/+TbavglFtdWpkjukGHMSGGlsD8sTWVCQ6FfAW8uVuj98fMTHHlzvDHoI99EUNpm4UVInnNHj+7ByKQ8+ieWewIXdLF2kCc=; 4:sj0pDVG4k0DdHO0zobqzgQX9URrzb4qBtseDuMePTtNmeLm4GyZJfph2JOVRXbD+/9+1lrwNj/39hbkXJT4RR58EKtJQDVFsLWZOX1LUBjZE5kr2vfzCX0wYNAZYf8FkxIkokS1ECoI8fWIEI77ukC454d9lBPcrLgnBQEWBMG4UMTmNEYUPOnqC/d/xp2FWkXUEAqvmYgKklVAGy+Sl9wZK3e4802xDjScCsvxeAb5icChfI9YKXImV05DyDm9YCp8NsGcttVwabBzZoz01N+aZhSKJlA+Cwi3Jg9yVUig= X-Exchange-Antispam-Report-Test: UriScan:(185117386973197); X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6095135)(601004)(2401047)(13016025)(13018025)(5005006)(8121501046)(10201501046)(3002001)(93006095)(93001095)(100000703101)(100105400095)(6055026)(6096035)(20161123563025)(20161123561025)(20161123559100)(201703131430075)(201703131448075)(201703131433075)(201703161259150)(201703151042153)(20161123556025)(20161123565025)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:CY1PR0301MB0907; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(400006)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:CY1PR0301MB0907; X-Forefront-PRVS: 0392679D18 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; CY1PR0301MB0907; 23:dj6iKJSyRH4y9NrdhnOjGUihGzf+SYcCEuk7ZEO?= =?us-ascii?Q?zo28MfV4fheFvcDL8UsNMHH3U9J22w/yUdPGPMJikchDLFCeN8BLRR/fUQHM?= =?us-ascii?Q?Qjh8aYFT34j2gNIh9aWZTTHcXDW4hUP/fGu6KCtfC1DEYDYPGGVjFcdTZRWJ?= =?us-ascii?Q?OOAa9XB1rhpjt2U81jHqk0vwGD7gW7AVuwzKTq2s8KxSe8R/Jkb+RVfxZ0XG?= =?us-ascii?Q?6ffWMd++coaGZwe2hHbyFeMqKWfXgZ6IYrM1XeuLFAykGOvAjk2T313nMFCH?= =?us-ascii?Q?dAkF5Jxnx6kay9ksCK1+yYDpnVTtpN3Jz/Pe3Fn9DMTzoBfvSxdJDaBHOESw?= =?us-ascii?Q?bVf52rGZOo76NEcXW4bucDgo3rYv4nNmafLSaI2jJFVMl2cvpXoPhGu5v3Li?= =?us-ascii?Q?vsE2YGHwVgQhVqb4zwU+axpVmT/FFyvoTkQaMlx18KWfTBT4Dp7CxvRrPNrh?= =?us-ascii?Q?iOEKGERAaVfrM1jjKjfkyEBubAnL16+80GIm8pmZLaLYss0kN+BEoQuKGFyS?= =?us-ascii?Q?NgS222aJgGkDV67rQn5mPdi4xYQG/j7MTH8fn346VBOhxQUrt0Q5vjOe9CBl?= =?us-ascii?Q?YRvVzHai+lCJkxT535YOKvJfeVn7DIIbgJC4B2ZyW3rsW/l/UOnAIoDuF6ST?= =?us-ascii?Q?TEzbv1E7LJ+rXtjkQjEPkLRWy/h0vegIRajaj123LzR7k5YPtnpF5dj9gVRl?= =?us-ascii?Q?NX//wYRiCujTV/ukpWXWVwNGLLS8pLsnixgqZr8gZ0C/S3HBsoHq4I/nztCk?= =?us-ascii?Q?2XYnhDnfJvvUwKIJAJGebgruyQV+Lj7uh8qGY2vWuRsVX8uUgEzQ7ZXIR8/J?= =?us-ascii?Q?F2Fzhcx9P08Ddb21gXY08/yqBm5dKqqW3ofL+YALYHGGSj54dS4oRPKUx7jg?= =?us-ascii?Q?8oiZDfd5fJAQLrPtP2TTCxs6n4g1g6MQPE5Wa9ojChCS+Y03nCs57dr6+IVG?= =?us-ascii?Q?P3az0zB2j4HyOnaHVdtIjBjVICfJXrfmG/XhtkYaZD3IUqxvDScQ4SQkaOFY?= =?us-ascii?Q?qxj6h2YgSgufk7S3mbshOG9JJg5qpZ1dH2LzPQaZfoVAHb52LExyYz3rHgJp?= =?us-ascii?Q?8do+tKLa1IHaNOE8aiibdpynmcbyDF9QixOVSOheTGYQQOu9f+5uxYVHc6Qa?= =?us-ascii?Q?FvEgsPvN1MtqCmPo3Kdf1PVzrKvNVTVKiB1oKYDWp3hbBd44FbZyCJV1ro73?= =?us-ascii?Q?Jnyj7PXcQW4BLgS3CObH6ehgQn8xcpmdlWFm++bUtt00JNYhcNymIge0TJdw?= =?us-ascii?Q?SJdqri8obOtyc/Vrg9JTesMFkwY0y+rQd96SuB1ZR?= X-Microsoft-Exchange-Diagnostics: 1; CY1PR0301MB0907; 6:v7FCaSnzxNOxxuYB2zXsEnJ1diuX2oSJuQD6X/WfTW5sQnHT+hJCeETq0oH3rls/+yVSqdkXcco90krChpa8LtebAFeJCNtA5wbOt3gxRm+NMKi3JoAixzTTqXQATshsNR4Rp7isvHkOv6ZhZU0tln76AaRMGJhwojVqpSGODJmwd2hUSVYoFH+0lSqGChv5hTLDl+Ik8d5oHJHRmD2DmZ0fSDe0cT+H7fuC/Oa3SV8Sl3uHKn4QAeeFdTctFA0xIXkfynp45x2FAApnv2GHm8E3pXAGTwtaHL5yYW364WthM9Wrt96vCbb/YworIe124wYsiXP+qH3dkEi9s7YBUQ==; 5:rAFnZaiaZVXeSd8BXTAafMMQherxur0Xk78dmaZtndM0RJkoPps5dQnTwN7XFznlVjkl2rlbMbTS1yuyjpEg8CeDXg/cDygIvwiGr/zc7yqxnYo64VmyrG+lq3/kNkUrtQYLWtM70g9K4L6LVwJRaw==; 24:S/iKup0v5pIUIVRH7QTaw3BpygD65t/uHZKka5LTw4cUY8N0P1TZ1N/OQAkHE6CG6cQ9vE83Ld5EBFHrqY3M0F+wD6bHl/0JvSiQ4kXFcL8=; 7:qAiE1ycMUsB5wFEt2UrqHWoJmQz+YQqjAaV0k1QRlxVwLYZZomb0yxstk6RhTMjH1eW1Vg4UInKeMXRV0aU01FB15EemIU8LTx939VGpMb5FocOtz5MMHdXO0wrCBNGtVbrNGkUi9kpn5WVPK+DaZAYWdpiI2PdzFtDkV1W4r2UNyExSPBjTR2HB4RxLvpL0FrcMbEf9mB9U1YRqOUj5Ur4HYf4ITLkK+qLyQxklj1o= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Aug 2017 03:24:16.9065 (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: CY1PR0301MB0907 X-BeenThere: linuxppc-dev@lists.ozlabs.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Linux on PowerPC Developers Mail List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: oss@buserror.net, Zhao Qiang , linuxppc-dev@lists.ozlabs.org, xiaobo.xie@nxp.com, linux-kernel@vger.kernel.org Errors-To: linuxppc-dev-bounces+patchwork-incoming=ozlabs.org@lists.ozlabs.org Sender: "Linuxppc-dev" 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 | 13 +++++++++++++ 6 files changed, 13 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..8287c22 100644 --- a/drivers/irqchip/irq-qeic.c +++ b/drivers/irqchip/irq-qeic.c @@ -18,6 +18,7 @@ #include #include #include +#include #include #include #include @@ -598,4 +599,16 @@ 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 -ENODEV; + qe_ic_init(node, 0, qe_ic_cascade_low_mpic, + qe_ic_cascade_high_mpic); + of_node_put(node); + return 0; +} + +IRQCHIP_DECLARE(qeic, "fsl,qe-ic", qeic_of_init); subsys_initcall(init_qe_ic_sysfs);