From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932445AbbI2CQu (ORCPT ); Mon, 28 Sep 2015 22:16:50 -0400 Received: from mail-bl2on0125.outbound.protection.outlook.com ([65.55.169.125]:38366 "EHLO na01-bl2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S932276AbbI2CPz (ORCPT ); Mon, 28 Sep 2015 22:15:55 -0400 Authentication-Results: spf=fail (sender IP is 192.88.168.50) 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 v11 5/6] QE: use subsys_initcall to init qe Date: Tue, 29 Sep 2015 10:09:20 +0800 Message-ID: <1443492561-11538-5-git-send-email-qiang.zhao@freescale.com> X-Mailer: git-send-email 2.1.0.27.g96db324 In-Reply-To: <1443492561-11538-1-git-send-email-qiang.zhao@freescale.com> References: <1443492561-11538-1-git-send-email-qiang.zhao@freescale.com> X-EOPAttributedMessage: 0 X-Microsoft-Exchange-Diagnostics: 1;BY2FFO11FD001;1:slaD+GqG+H2aUT+GoCLULKA31CGIQXmPnh4r2mTs9kHqPssFWX1qDK/Sa/vkfdTN9VDOPzKOAeUFFzVRuXNN3fhWkQ9oSVnD0zgRlhpJE36YmZvd5whHErY1/cRcQtgGPvT2ks4lGS1c0w3IaO6rbvbC/vXvX/PeYllhCAEBZDMdXIuwInevfXuMhVMLSJBHtQtkEp9u9o30C89kHEYQGRD2y9zjEQP3rAPyrNCqIjLi2iFZUSa7L7TDeqOXDp5l5soXvW99EDhfVXJji2nVTvU4YCBG+tQjtY0ftD6VkM1l148kkYUgFPXOMC2Qtp7ncVsMhOmJrz71GAFG7TpODelFI2NwRfI+BD+QhGh22AGDqJIkSNCrlBNvbIO/m4FJgXUclmPH1vJ+A+vAFC+4tA== X-Forefront-Antispam-Report: CIP:192.88.168.50;CTRY:US;IPV:NLI;EFV:NLI;SFV:NSPM;SFS:(10019020)(6009001)(2980300002)(1109001)(1110001)(339900001)(189002)(199003)(6806005)(33646002)(19580405001)(77096005)(50466002)(48376002)(19580395003)(110136002)(107886002)(86362001)(189998001)(68736005)(2371004)(229853001)(92566002)(2351001)(104016004)(5003940100001)(87936001)(50986999)(5007970100001)(76176999)(46102003)(85426001)(5001960100002)(81156007)(105606002)(106466001)(50226001)(62966003)(5001830100001)(11100500001)(2950100001)(64706001)(4001540100001)(4001450100002)(97736004)(5001860100001)(47776003)(36756003)(77156002)(4001430100001);DIR:OUT;SFP:1102;SCL:1;SRVR:CY1PR03MB1488;H:tx30smr01.am.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;CY1PR03MB1488;2:I2XfgyO3+mfl4xyVgvGPbTvxfv8xv41MVnLmCeTTbVSKkYnK807GuItfjUQccCyeng4429osBPA4bNrLIxYyxgE0sV02WSid2ehv+Hf3fp7i0S6pgDd3/p5O/yNdh8XfwsNHthXiLjZhYsTb1yqF33ktFkESSUgvEcYO1f1VKs8=;3:W18ak6xwQWGy+tCwFYhsed1BF03Fn/RWBI7fzRR/U+Le6bauo+v8I1Pd9/t3sCsknu6zOCAEIgQzgSOFgI7MtlLhXutbRHkDHCQoTf3JfYtIxH8hyUjDnso6alxK4MA8PdTaeDVrPifnodwXdd9IvGEyqbnveGfdjlj6H/y/+uqfe9tAwW0kRF/LVUxftwIZlxrUDz7TZWCS8i2S69rSV5Sdx98MZu3GHopVqGHQvmM=;25:ov9Si9FaiQ7arfBEhOZk9XiiKF1k5rIhbfRbI+YAgezQjgA6dGHjuUWBi+7dk912fi49sYrIw2mHu5jW2TJb02ZKc/33r5/UibZGSo7PBBg+Uy6HehTNOEGBxhofSaONBCOZwdMSxWNk8/FQOChumn7RA5P+eVp3ZErOE4IFvQNxheKYhwp9zaxlF9ngBaebCDuFRs8uqA2nUjvu5i9PKvbhD7ZmJUK6X1M8lHgf4A8+Fqlj4zSCaDMrnvYqM/4A X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:CY1PR03MB1488; X-Microsoft-Exchange-Diagnostics: 1;CY1PR03MB1488;20:PVSXK+yN1pY2c+pjuJ3Dd5RwghT2ghxmu03hHvnjnSQbz4G1VEo9CmSIpn4zbn5BP82MZwuMe0km6MmbSSgNHbAbCBQyopix28n1sMToPHwvJNlWPsBdzGToEkCAqsL0DPfMe/DeuBKg5Vtp3map8hoey/PyQeBe92aHL9YEhP32Pbwl3bEQSgKEUS/A1nkCaBQHbXomygn2+wCVb346TG4JrvsuqgG/jR3nw6Usox4zr3EN1jjhkDYhnAqNvY0TyGubMrSQ6pErLRR9C7AATNtQlq4Ej7yoONOkNPhu0Dyxp4jqIzZf3s6klqwmXJC4Lfaj+UV0ttiUghQmrx+NNdlpEJQCXkbJKzgkGIt6u/4=;4:oJNxwvQ1BqX15OO9H+duGeqwdk+UC0wccZGhOf5CmEjiyWxGCWMLLbUKDya7wEzOCsHepYGLkcvFcYAYyJpfNqjO5mpC+rMeplLcNestZeQ7IvEoajKvJ9ZDEmLZfemzxQejEsOT4khQb7qtGfK2aAVgJoEIq/718mOOu2FYtMiAeiOQqe2wFNCEt7ajP+zu3d6O2tgHV/ErGc3WGtchNMI0fpyNY9gI4hqjIxOu8s0QjLR6YH3WwkT3g1wC73qFkEBHkmcFHvtlaKhluRYKK3uEQu+PdDwffB7+t/eujCFYo+NU8Rmi2C55/HCK6Vo44Fm3f86XN+0bkCWmE0M3CrWnd7qVvFzc3kLtp2YxS3s= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(601004)(2401047)(8121501046)(5005006)(520078)(3002001);SRVR:CY1PR03MB1488;BCL:0;PCL:0;RULEID:;SRVR:CY1PR03MB1488; X-Forefront-PRVS: 0714841678 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;CY1PR03MB1488;23:77mRvtqFre9darqCDExK3AcIWyzOWmloibBaa/qIQ?= =?us-ascii?Q?upt0aIoPfUtfHISNr+UaVDLcL/eIMUkSH/G0fv46TOXtQYDf8sdgb2jEwe8J?= =?us-ascii?Q?0P/CkE/zo/RybJzuHk3kiOG6f7lCbTT4CwhfRwKYDST9hw23rgrAbXxPWbyj?= =?us-ascii?Q?wFgFUgqlyEAME0xYOGz0LoStB2RuM1ImbzgRBNm+P2qVxS6jGHvzLIztfr/c?= =?us-ascii?Q?HG2RO2ZJSyOpLpyADlSZ/cxnYMsC12q/03OQPdTV8aUbUjPInfKbhT5W1IN6?= =?us-ascii?Q?hDQBEljsxn4KCP4DYz1yHdlHfl9n4uXUX6K4H/OJrO3bhoo8L8T7nUxixVDe?= =?us-ascii?Q?qNLbh+TgoyPMOMtHp1lpqE0kw/uQh6FX/DiQLsnoyBebyK4Xd4xAw5lhNXCf?= =?us-ascii?Q?j/v1htxSPNGgy8o00bRj5AkPKrlAz7PRbiUrKI8u/ayWGdEdJDoTvP6RmlOH?= =?us-ascii?Q?YEPxzdfLYO0ldXw2uDc/RjtyJXLQNGTSTSjG7v9tMLoZv2F7BUPQavGw6qLL?= =?us-ascii?Q?Kg/ZEFTiUDg9fCoeDPI5GA7hrr4cCsbKKwNe12SQMff645Nur2MIhCEQCjHm?= =?us-ascii?Q?nSZ6hgsZ+degIWoyyFY9OPwFB4FSu/jB8X4UudjpXtlPHfztbceJdSyid5JK?= =?us-ascii?Q?voiR6nbOWifgoc7oJOMmm1gDFNJBJemCEcM6fQDYWzmZaloGoojWhCU+USFD?= =?us-ascii?Q?2MdePy9LhXPTFPCr52kDgeCIaFM8RqVzAXusxDWeLaibDm12xcbty6PtDsZN?= =?us-ascii?Q?VYzQoX744q+ANzhP2V6P2WgI6RRwXWHIROzxo3gYP57xprriV4PTHJtcIGqb?= =?us-ascii?Q?qiTtDFY+UyoQbjEcOnEl/i8S2CdG6oAQiYc9992Uk2uBhdy0gG7bR1HzCrO/?= =?us-ascii?Q?iefnMJW4ylhPN5IPAcws/jRcrRbciChRXAJlfsLaNbxkxELJJN6Y1sxO+jh2?= =?us-ascii?Q?KWqJIqz5lZzSjTz/Nov7L7I7H7ye3wn/2yoV3gfmFRDXpgAwJT6p7x64e6Fe?= =?us-ascii?Q?EQYQqk+ow95vVXK89+QzhxhXXbVGSbJBC399zUDfU5j3SH0s7wU91/XA0rCQ?= =?us-ascii?Q?CXC/Xaj1Dk+jsDPiTyb/8toF5olomV3/T/wJPPOwAJ3WzTqo9XJTD+mFOeL+?= =?us-ascii?Q?Rn2eep6FudFLp+isQlXGjA3rbgs8rx7hgOwVQPbEmsWmhhgu4hz+jgpglKV2?= =?us-ascii?Q?Xq8IgBZHLEbAgw2a6yp7VVoNapRkPUAVc8+hfoQbz2BK1dmwxwRuvdf40eiC?= =?us-ascii?Q?3Ovu8QxsfjQ76ub8ZD52dhdNXGvjNz7wRdkSQrSNibEeNitdEWBGb7MgK/RQ?= =?us-ascii?Q?KnA/XFCKpttbgmf7ehORlg=3D?= X-Microsoft-Exchange-Diagnostics: 1;CY1PR03MB1488;5:5Yw0X6kvs1mqNgrRITGwgZaIt6quFHbVFSfZrS5X03tySQD3fE14to0tQfYhSpRilP4v64TS2X84PgGaK/HBikYxjNlSygKjrXhPyDDVnYEcoocYtbE3exw4eApjo7F1RlhlqrAXJgJHPBiq3X3wxg==;24:1ceMFxbzKDgUk9JYacRyiaWChFvGLlXcPaNYSTV0IsDBKnL3KVSYov9AgqhrCYhq5mTp3vJKjqptWACpfPTmneeB3YVDHl4HWRlosSJeuRk=;20:OX/tudTjc245VuRl3ZoQaNaa0HxOsEz0BG/Bk4GRdfHe21Z+FDrj0kLWoryzwsAY5rYM9LracPx4bdn/nvK2Fg== X-OriginatorOrg: freescale.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Sep 2015 02:15:51.8272 (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.168.50];Helo=[tx30smr01.am.freescale.net] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY1PR03MB1488 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 --- 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