From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753061AbbJNHXk (ORCPT ); Wed, 14 Oct 2015 03:23:40 -0400 Received: from mail-by2on0118.outbound.protection.outlook.com ([207.46.100.118]:63616 "EHLO na01-by2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1752527AbbJNHXB (ORCPT ); Wed, 14 Oct 2015 03:23:01 -0400 Authentication-Results: spf=fail (sender IP is 192.88.158.2) smtp.mailfrom=freescale.com; freescale.mail.onmicrosoft.com; dkim=none (message not signed) header.d=none;freescale.mail.onmicrosoft.com; dmarc=none action=none header.from=freescale.com; From: Zhao Qiang To: CC: , , , , , , , Zhao Qiang Subject: [PATCH v12 5/6] QE: use subsys_initcall to init qe Date: Wed, 14 Oct 2015 15:16:07 +0800 Message-ID: <1444806968-4627-5-git-send-email-qiang.zhao@freescale.com> X-Mailer: git-send-email 2.1.0.27.g96db324 In-Reply-To: <1444806968-4627-1-git-send-email-qiang.zhao@freescale.com> References: <1444806968-4627-1-git-send-email-qiang.zhao@freescale.com> X-EOPAttributedMessage: 0 X-Microsoft-Exchange-Diagnostics: 1;BL2FFO11FD050;1:oUDNYBKHfoNKfAPkrqBX+klmEFYrTUIHkXUcHv3dxK+9baATVjXZsk3tkhv8Zt6tpjvwZQ+V/ichK7/EIzXodkCaz2AkMaDoF9ZEhmlFhBUmYN1yJ3WN/gbPNA5t4y+J0qiVA55MZGGswWPp8nuF/Lu4hW+pBb8Sh8IHUxfozybOXTIKIYipWdfXMhMDX7DdDRhaAwrpytlIvVoNN7+wMxS77Xa1CQvBUAM8CRPu6wzJsUfceT6Jej/I5+JCIiwSNYZwSDEXOGNq7jRojcPqBJJOs+5BRliD0SefPpW2e9+v1ES7wcVKz3nGXU6FvEX3XV15JD10v9ffD6AXjUK0z+U9rAIdACkx8a21yTotoctcJAWAgXfe5WUwmCbcSOV1ksDmFFImzGtf2cPcbshAfw== X-Forefront-Antispam-Report: CIP:192.88.158.2;CTRY:US;IPV:NLI;EFV:NLI;SFV:NSPM;SFS:(10019020)(6009001)(2980300002)(1109001)(1110001)(339900001)(189002)(199003)(77096005)(189998001)(87936001)(104016004)(50986999)(107886002)(105606002)(69596002)(48376002)(5007970100001)(81156007)(36756003)(2371004)(19580405001)(64706001)(47776003)(6806005)(92566002)(11100500001)(2950100001)(97736004)(5001960100002)(19580395003)(229853001)(50226001)(106466001)(85426001)(76176999)(2351001)(46102003)(5003940100001)(86362001)(110136002)(50466002)(33646002)(4001450100002)(5008740100001)(4001430100001);DIR:OUT;SFP:1102;SCL:1;SRVR:CY1PR03MB1485;H:az84smr01.freescale.net;FPR:;SPF:Fail;PTR:InfoDomainNonexistent;MX:1;A:1;LANG:en; MIME-Version: 1.0 Content-Type: text/plain X-Microsoft-Exchange-Diagnostics: 1;CY1PR03MB1485;2:X3r1mbXmkuiKA+D828XlmrV2JkRaEf6xMa11GFQWyfns5cneTnBEfmrQ15Ue552Xgv3U1gc9BvPzi6WRfzyuMHwvYTserrYUePWLkx+rFZGRcVuFIrzqM8AlTrZAmmhNQFzLgnx9zFYNHwsL9NA9RrXKQsOhHa8vo7vPgpGzLr8=;3:wyjCe4E4L4hBArdvG7ARtcJmeHBhjLRUTMj59oq3YoC3AYMQcRddO5UOfWFLAVrVhRoKeENBQI3r1pr+gpXnnAqZixHtBOmnBvbNwbLgMhIe72kn9BZ79Jp9wAA1iAvSE355i0iOmPsbAkWUXeqxKvqtIdkqPMCW+dG8fcbojpClig6ujk0Qkq+ebDAiVcyeaUNGF27nA7KtKGqKR5RdwAI9LbycZjDP+H5KPyNpKas=;25:sjCIJuesqHmmbAWPYBD+rm62cIirIC2voGGZ8xYQauM+VRTBg+rXEGXuxY6CVRiNkH+eMnWD5mFEd0QkGqLMK7/wfSZIWHHDPyyhujg+6rgzQ1QwIvygM7KFSB4zXI0UM1a4ieVemGNh9O06ONSNRkEyQeaG817WseBCrEmrVB67l1dLJULE2CFZsgH9pfVTHNWjLBcFV2/PikFMWcoGdREc14B+GN9+pKEJOZ/Da6sSaEct8la4EKM6TZ2Pj453 X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:CY1PR03MB1485; X-Microsoft-Exchange-Diagnostics: 1;CY1PR03MB1485;20:qNBIE6ly/mnfJtFuj3Ft8jns9uCYF+uucFmTuIzTYpEh4Hwhml0hWN6KgoWUHKDj5eIw2JWgLprIkBmRt5bOmHJREzF635Yex8v4Emu2iAe7nEnGqhfwYWSr3H/UzudwrD7VHrUAdofM00DBxX0jSOXaZu0mzvwQAVureP5fyk5d9MSYe5ZiSi2tq+bzcK4HU07mUNkyo7gPkEdXcLPcWKj+G7jdnCZcsjFspwU20PyYjZ2Dc+K5SiTe8bv3SoZ5H0YXj0MHs96NvLvgIkF9oKZOSsLTtPGj8m+EM/Qfd5lKcEM9c4EJHc5/+eBOoNYOWgaO7sD1aKZYZuOphbMHQ3rtQJD3G4L8E0zL+pxxB+Y=;4:381GFTfswSaQTxTMgwvqhK0L9kO0kQl1E1NfbQBmyD/qJ84AB75pCRVWwYoOHYF+02R8fKuF6Bd8yj3PEidMxu0AMC4lKVkXZUuDBjcTE853SP3BPA/vRFitaRZ0LRRPGtjbvSz9IkKLMHmaT/kStTu3W4VRR/mSZoham+wYef/5fPlK0cgWkRF8Ph55vzCPj7oidx7W3POnPKdy4SbtOx5CBdfuBAcBn0dE3EYK1iYTH1XMqnOosQvRibMrRwWrBRQq78cpXF7FqKb6hiWt0TjCM6SSm6Agt7ROvlA4DLpXfidcNgpWddf8SP05lO0NmZyEuJ3oJ3k29k4d10XFTVWrVLYccOtJHRI/O34Q+Ag= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(101931422205132); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(601004)(2401047)(5005006)(8121501046)(520078)(3002001);SRVR:CY1PR03MB1485;BCL:0;PCL:0;RULEID:;SRVR:CY1PR03MB1485; X-Forefront-PRVS: 0729050452 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;CY1PR03MB1485;23:RXyo7qVBefdlOwuLO/VBAVWu7YxOHUitOV61+kta5?= =?us-ascii?Q?H+JZif2kvrqb3uvf7N5ycCNty7vyKVK0FSiKeg7livXF/ZgyOL/+QpxRaOTS?= =?us-ascii?Q?jNOvmECed2vKGfQxXDkOcvkyGj31SH16FA8fz2KE2FQKU58hSDnfc2EhFKN9?= =?us-ascii?Q?hWLtCvlJT1UZ/fS+5ecx0EMdybQunraUZo3dO8GhkoRqYqI7ZHzQU0CiT5Dn?= =?us-ascii?Q?GAM6viwwjeu5fQ5BjgRUgUpgrkmxgqCZdv3QK9m1iIGB7XIg2Q3vvk9w2m1U?= =?us-ascii?Q?C+JsPoa/Ym7BzcDzG+o8asGY1MQp7Ko8jOdt4QeExhnvUc7Y/C/uKa0rM8sf?= =?us-ascii?Q?dc5A+/QVQ3cqU7tqzQZuiAwe5dKn3JW3Lfi/1onns+WxS1makxgSMGGoYmB0?= =?us-ascii?Q?CCpT3CVvAN6HvpF6s2OhJUWxXuoCRK3CouCLBXEba3CWeItzCPdQkklD67oB?= =?us-ascii?Q?WDovEvkCyLbaJ+aGlTpFWHItPUrSFd7S2ljY/WUE25COg7P9+yXQJ9GVQdrD?= =?us-ascii?Q?Vziin79eM7yDA4hrAFNcWEdBVKsDyGWVFAG7GDnHNSLLTaoI87tlKIgD4j3n?= =?us-ascii?Q?+PLbQu3N0xm6CukR4t7VWSsMOkQYtSOiCCEE+2Xf0r8byUEZ292nqf2QoTZP?= =?us-ascii?Q?RGOcFRA4JSFFYfgB1Mi3vjvgKcHwMG+vDiokChXUqdQAV0fmGcl1lf/W9kqb?= =?us-ascii?Q?y8ITiQ6rUNB19ZSd9ULyHIwyp3XoeLPdTl4pfN/6GNArltj/oEneqG9o8WfP?= =?us-ascii?Q?VFMCQW+jJaeeIXOAM609xXMZKyv8WenYZBbM9TEck/Tj/ZRwV1h4xUm6lp3x?= =?us-ascii?Q?lfXFTrW8b4wPw+BYOPHdLosA0iBjMi1UsAOV2sM8kqKeiBpcygYAtIARIawv?= =?us-ascii?Q?SpRS1XzrP7riOe0c55nnRuBnbAV/W4niTrtzM3UVCWlWiqz8Hnk6erAthVkM?= =?us-ascii?Q?WpPG+Ey/FdeCluP7k+HwCSmNtQWb9vtUBKqJchqHlKN6u2ZVzcDH7O6kR9yZ?= =?us-ascii?Q?7WE40b0MTo1ltY5slckiWOmEzqIfZLguovIshL5PAkvRVCgXNnZ20dohcSu+?= =?us-ascii?Q?WJdlTGbPgJal3nNl9+JDIX7gxSgIAucO2VJcgHU7YTxRVjqG9zmX3WmXTcaR?= =?us-ascii?Q?CcYvA0NSRr98XraC94kvdD1Ydj0dhMtSGchfd/NRJCL/ARjTTSf0U716CsTw?= =?us-ascii?Q?Bn37ITE0orJryRG6vtY4dLHVAxoe8iZ5dEz?= X-Microsoft-Exchange-Diagnostics: 1;CY1PR03MB1485;5:h/BMHHxpCQSntKqiQdtvRWAfrEy0sLgOdrebQKXS4ya0aQ9ocDQlipnwJQsfs00K7+8VNVBUxz//eq7g2wxP81n/xoL8+bclv+0cuAhOG3BZ4BzmgGqEdiZeRQoKkeyPyOAFoHL6w/H7lP8wlXc+Pg==;24:wa3PEShP9vwbSeDlUaE5vhnkzELy0S1zZ6jbfY+BSubzIeG2HuQ7dRZiTAThkDUez4+xCkcCs6Gx9o3Qpvt+g33Xi5UjwYgob0gkadIIi2E=;20:HwIo9NcTM64fq8CpCa1uw4c2TAMVMC0bTMU2Dt++UHiA0aXOnNdGrFdIZM//mXZNlvOWU2KR1s3qZOTkkJQ94A== X-OriginatorOrg: freescale.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Oct 2015 07:22:58.9477 (UTC) X-MS-Exchange-CrossTenant-Id: 710a03f5-10f6-4d38-9ff4-a80b81da590d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=710a03f5-10f6-4d38-9ff4-a80b81da590d;Ip=[192.88.158.2];Helo=[az84smr01.freescale.net] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY1PR03MB1485 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Use subsys_initcall to init qe to adapt ARM architecture. Remove qe_reset from PowerPC platform file. Signed-off-by: Zhao Qiang --- Changes for v12: - Nil arch/powerpc/platforms/83xx/km83xx.c | 2 -- arch/powerpc/platforms/83xx/mpc832x_mds.c | 2 -- arch/powerpc/platforms/83xx/mpc832x_rdb.c | 2 -- arch/powerpc/platforms/83xx/mpc836x_mds.c | 2 -- arch/powerpc/platforms/83xx/mpc836x_rdk.c | 3 --- arch/powerpc/platforms/85xx/common.c | 1 - arch/powerpc/sysdev/qe_lib/qe.c | 15 +++++++++++++++ 7 files changed, 15 insertions(+), 12 deletions(-) diff --git a/arch/powerpc/platforms/83xx/km83xx.c b/arch/powerpc/platforms/83xx/km83xx.c index bf4c447..ae111581 100644 --- a/arch/powerpc/platforms/83xx/km83xx.c +++ b/arch/powerpc/platforms/83xx/km83xx.c @@ -136,8 +136,6 @@ static void __init mpc83xx_km_setup_arch(void) mpc83xx_setup_pci(); #ifdef CONFIG_QUICC_ENGINE - qe_reset(); - np = of_find_node_by_name(NULL, "par_io"); if (np != NULL) { par_io_init(np); diff --git a/arch/powerpc/platforms/83xx/mpc832x_mds.c b/arch/powerpc/platforms/83xx/mpc832x_mds.c index 8d76220..aacc43f 100644 --- a/arch/powerpc/platforms/83xx/mpc832x_mds.c +++ b/arch/powerpc/platforms/83xx/mpc832x_mds.c @@ -74,8 +74,6 @@ static void __init mpc832x_sys_setup_arch(void) mpc83xx_setup_pci(); #ifdef CONFIG_QUICC_ENGINE - qe_reset(); - if ((np = of_find_node_by_name(NULL, "par_io")) != NULL) { par_io_init(np); of_node_put(np); diff --git a/arch/powerpc/platforms/83xx/mpc832x_rdb.c b/arch/powerpc/platforms/83xx/mpc832x_rdb.c index eff5baa..0c7a43e 100644 --- a/arch/powerpc/platforms/83xx/mpc832x_rdb.c +++ b/arch/powerpc/platforms/83xx/mpc832x_rdb.c @@ -203,8 +203,6 @@ static void __init mpc832x_rdb_setup_arch(void) mpc83xx_setup_pci(); #ifdef CONFIG_QUICC_ENGINE - qe_reset(); - if ((np = of_find_node_by_name(NULL, "par_io")) != NULL) { par_io_init(np); of_node_put(np); diff --git a/arch/powerpc/platforms/83xx/mpc836x_mds.c b/arch/powerpc/platforms/83xx/mpc836x_mds.c index 1a26d2f..eb24abd 100644 --- a/arch/powerpc/platforms/83xx/mpc836x_mds.c +++ b/arch/powerpc/platforms/83xx/mpc836x_mds.c @@ -82,8 +82,6 @@ static void __init mpc836x_mds_setup_arch(void) mpc83xx_setup_pci(); #ifdef CONFIG_QUICC_ENGINE - qe_reset(); - if ((np = of_find_node_by_name(NULL, "par_io")) != NULL) { par_io_init(np); of_node_put(np); diff --git a/arch/powerpc/platforms/83xx/mpc836x_rdk.c b/arch/powerpc/platforms/83xx/mpc836x_rdk.c index b63b42d..823e370 100644 --- a/arch/powerpc/platforms/83xx/mpc836x_rdk.c +++ b/arch/powerpc/platforms/83xx/mpc836x_rdk.c @@ -35,9 +35,6 @@ static void __init mpc836x_rdk_setup_arch(void) ppc_md.progress("mpc836x_rdk_setup_arch()", 0); mpc83xx_setup_pci(); -#ifdef CONFIG_QUICC_ENGINE - qe_reset(); -#endif } /* diff --git a/arch/powerpc/platforms/85xx/common.c b/arch/powerpc/platforms/85xx/common.c index 7bfb9b1..0f91edc 100644 --- a/arch/powerpc/platforms/85xx/common.c +++ b/arch/powerpc/platforms/85xx/common.c @@ -105,7 +105,6 @@ void __init mpc85xx_qe_init(void) return; } - qe_reset(); of_node_put(np); } diff --git a/arch/powerpc/sysdev/qe_lib/qe.c b/arch/powerpc/sysdev/qe_lib/qe.c index c2518cd..3f9f596 100644 --- a/arch/powerpc/sysdev/qe_lib/qe.c +++ b/arch/powerpc/sysdev/qe_lib/qe.c @@ -671,6 +671,21 @@ unsigned int qe_get_num_of_snums(void) } EXPORT_SYMBOL(qe_get_num_of_snums); +static int __init qe_init(void) +{ + struct device_node *np; + + np = of_find_compatible_node(NULL, NULL, "fsl,qe"); + if (!np) { + pr_err("%s: Could not find Quicc Engine node\n", __func__); + return -ENODEV; + } + qe_reset(); + of_node_put(np); + return 0; +} +subsys_initcall(qe_init); + #if defined(CONFIG_SUSPEND) && defined(CONFIG_PPC_85xx) static int qe_resume(struct platform_device *ofdev) { -- 2.1.0.27.g96db324