Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752197AbdHCDzg (ORCPT ); Wed, 2 Aug 2017 23:55:36 -0400 Received: from mail-sn1nam02on0048.outbound.protection.outlook.com ([104.47.36.48]:44929 "EHLO NAM02-SN1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1752050AbdHCDzF (ORCPT ); Wed, 2 Aug 2017 23:55:05 -0400 From: Zhao Qiang To: CC: , , , , Zhao Qiang Subject: [PATCH v9 3/4] irqchip/qeic: merge qeic_of_init into qe_ic_init Date: Thu, 3 Aug 2017 11:38:09 +0800 Message-ID: <1501731490-34402-4-git-send-email-qiang.zhao@nxp.com> X-Mailer: git-send-email 2.1.0.27.g96db324 In-Reply-To: <1501731490-34402-1-git-send-email-qiang.zhao@nxp.com> References: <1501731490-34402-1-git-send-email-qiang.zhao@nxp.com> X-EOPAttributedMessage: 0 X-Matching-Connectors: 131462061035517593;(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)(39380400002)(39850400002)(39450400003)(39840400002)(39860400002)(39410400002)(39400400002)(2980300002)(1110001)(1109001)(339900001)(189002)(199003)(189998001)(5660300001)(8676002)(86362001)(81166006)(50226002)(2351001)(6916009)(498600001)(106466001)(105606002)(77096006)(356003)(81156014)(2906002)(47776003)(8936002)(626005)(2950100002)(305945005)(104016004)(76176999)(4326008)(53936002)(54906002)(5003940100001)(97736004)(50466002)(48376002)(33646002)(8656003)(38730400002)(110136004)(68736007)(50986999)(36756003);DIR:OUT;SFP:1101;SCL:1;SRVR:BY2PR0301MB2119;H:tx30smr01.am.freescale.net;FPR:;SPF:Fail;PTR:InfoDomainNonexistent;MX:1;A:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;BN1AFFO11FD028;1:nMCjUrldGokyjT/kqiPrlaNsedTwF54QytCfZt1n1?= =?us-ascii?Q?qmdd2Ri/e93NFo84XM7VgE9fdclG63qwyuphNDcHv1hr5kJfS7JmCSpl+Yg9?= =?us-ascii?Q?4gN9Tr7UdDjI9mjD/JG7nVid+OYlGP/fTa2KXxhRkIT/1VLZQgGuU/Rx7Igg?= =?us-ascii?Q?oUthsXdVB7PGN4Q5zqS4u58iMfM2BhOm2sWwEJ3ogPB3SX80oTqmmtarpLhB?= =?us-ascii?Q?ITwqOfIJsiumofMpdAsEaQdDctKdRZjW6Cg6YvYF4L4f2GmNRCJIYlTQBpAh?= =?us-ascii?Q?gscvr2A0GZhVx0mm7PYqV+zv9rJ1BjFRtpzIA8w4UivlF+w3PEhZhJrLdrVu?= =?us-ascii?Q?OzfRmxPaAJK41fxJ3MBYBY2K+lGHBVNGkweKV+kEqj6RDxk2ekq10wGMUSzo?= =?us-ascii?Q?+aVnC/oMcaIfQ+u7jh1HFS0PrFBkL3XoL1LidEY7WmYA0OuitGhdCrx9yYWX?= =?us-ascii?Q?55w58KoE7BHm/OADETkJ7fdTDHsh97brTjOd996Elcc1FcatE9k5X08JBxV3?= =?us-ascii?Q?sLxvQmCTfT7HSz/NfhEXwbS5COI9sxzs/OkpL3ROfqQPJNpViYncs89G6I7b?= =?us-ascii?Q?Jm/txeIsl+JxmnRHgYfhzQxhRoqJHLwwxf0m3eH+0NntoLa3nnOOrd0zNT0+?= =?us-ascii?Q?zpcVouV/hDfE69Z4U6m0LWc9L5wVj9gcp0uH8UE+FJDZRxK7KQLn1cj/6uYw?= =?us-ascii?Q?OMcE6IgVVXL5pjgYsXUb9drlhB2/zPUINIQCq+lPRq1sb3mo/I6XGNPY+ycq?= =?us-ascii?Q?fp432EQZe8RrPl0hPuyGxNTlsG24WFLSRMY/G9e4unhaM+UeloGzyYHXBFzG?= =?us-ascii?Q?hXqYar5HIu4O0x6tw+/sfiGhSXSqPTVENMS4q9Oz3CxB/BXouFLiHvS+LlKA?= =?us-ascii?Q?xjTYj7YlbxRBVe9KUjQPpD98vxqsJswgLdDNN0RbNTM1n9OMCwGQpAZs08A/?= =?us-ascii?Q?FniNikyLpmYKhpnjcaOS9W3XrDhiBA5eIsmvzjwrA=3D=3D?= MIME-Version: 1.0 Content-Type: text/plain X-MS-Office365-Filtering-Correlation-Id: 1ddd425a-f9f4-4713-7699-08d4da236bed 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:BY2PR0301MB2119; X-Microsoft-Exchange-Diagnostics: 1;BY2PR0301MB2119;3:8W597LEc7H+kz29+b/5JaxJYJ4Ai6KwzHKI3+wF/tPMg4Wt8V+fmSyVwVYt80b88FIzBGJTImIbWyom6z+kUK65uyG+DGKyGUHwFMF+s30kgy4gWOm2FudAVKPCfA2WjfwatpEzSR2FD4Uize2K8rNkDaQ4jdPjdagGG/Yo7+VC+aAp9kTY2JXVrbCiNXSRIXrJ9NAFfHiQE0qFvb32XXQq08ZD80Jsg2bzheP6XihVd++BT9tCuAMTVJ6ana89STrIVT3Hekljutnq+W0sIshrm5bmBTWKmTXXI7JSemUOhWeZf9xI7sNIXNALc/DzSTAcULULHK/tVd4VvTZKlG/LXzVu1ISqEXZA8fZq8dXbDS+erxR9Oy802PlauLFcVucqbQpJM5rx2+4e1XgqKxCnDMwYj0ph/EtukSh7vmnYfViFo0KlWFzLeHOToCoTMI0c4s71Vux9UvcExQpvEaGgwmd0F6WXmdT+H/qPXz7OPg8AN/kFyebZuIwlwLKaxvv/SMlRTz5e2+7GwnDBNdnuiCXa1ypx4F2EEQPXfv2/A2Z/dDLaRkuXp3mYdP8K65AzB+Hu036FIPXixI6vV1lqJHwTrEPsQe7JskvmOzbyKAwINChXp0GoY+ECDE3PSPQCXvbAEqUmj6H+Jhbzb+vK9Frrm14G8Zx2KRd2DZKxvgXnjJUQ6zWVrONlebk9M1EW5aHJ/EZNSOQE8u2xntoxHizkfkSvMYQelXOnVpHeaP+zcYA9oc3Sa59ndov5MnE9HpGzSVOB0CRGtl/gHco5huVG7mB4STXfd4BQE8uk/eclyiG4WF80ibeIQBQg8ndlXf92rZmj9Tu4qHfOqgny1kd+Rxd8WWlNkByZ82W9SEIspwMghjJKzelXqQ5Pz X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BY2PR0301MB2119: X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;BY2PR0301MB2119;25:vXdKJ63C9ilmoYN0E4wk8wxtI4ExQUFMSmdSTRG?= =?us-ascii?Q?/KSn9AtprZiaUx64G3i9nInlOcRDasaZtpEET0oVqyh6Gtn6unLAW2Ohzr4l?= =?us-ascii?Q?6rg0zGCBfA4Ki/pzIIZGBPSO8IgBtoiV/ppPXUhx8mDMHYcoJpwKMsaFtZEH?= =?us-ascii?Q?8Da1WmPBgVt+w+8/Aedzw18jQYvi/uFBj6QVJ5Jx3+kADD/7OIik9e3ILouB?= =?us-ascii?Q?yG1qwX4/U5MokFtioJBacLLsPY9S4WF24aqf/cCP1KZbrEuNCwTvwwf/rLEL?= =?us-ascii?Q?kpFt8ai7GkixwSZXPmwkPYihSNV8eRPvQFAneA/t3Fmh9JQ+KJt9SQba+r2S?= =?us-ascii?Q?DPc8jeK3fAfAZnW0WEU+WBBL2SR7j13BDWbSs4hj1kD5x8A11dCcVIfmCCJi?= =?us-ascii?Q?USzk+sssIM+/SLr5OFMlzJrmN+BdHQrCH7WmYTM2kgkwEQO6piWTEcJBSUfN?= =?us-ascii?Q?G3fX9FTYAyVRyfTcvzzEnL6t6JrTDubmY9JYnea5rt3Gu82imWVciyc+FIFm?= =?us-ascii?Q?pMEET97vNFot3zlEMO6aSOOOgfwdPNiVALyFg7vKenAGn+MY7TayTdFDEROA?= =?us-ascii?Q?7BB1n6VrhJloa2OPcZJtEBETA9vSLkpwXUJUltNUbIB1LWyLejT6399QAwgb?= =?us-ascii?Q?Ady9zNhhu4R57KKa433eb28jGyIbcmGjhkLn4qtJn9BgVRLAoV1wU5EFBHKS?= =?us-ascii?Q?uhdsrucwrJMZAFJDUkTbhFN+FHx2k+P25gQY6UedBRj6ro8rRbr6ZvYh3OE/?= =?us-ascii?Q?5nYnKoY+vt5dtBcT4r7cjC9ZAzg/FvMM2bRs/5mHd3U/u9yFOf+rHfpsmxfk?= =?us-ascii?Q?+ZE1Hf5iYIR9+y3XEmSQy4eZGM5RvpixVfevYppPAT0r1BW+rR+o0l93yyun?= =?us-ascii?Q?jHoBOsQ6cooBAcsDdRi1DsOpe7BockNo8VLblq9NY47cSIBTrIntChpoIHLy?= =?us-ascii?Q?dA4LGvkvdtO34jTMDKvTAFAvFMqvFcCxOCWJ9vcsZgA=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1;BY2PR0301MB2119;31:txjCIAbzlBIZwl0u8T6QYRBtVia7qhD9tpPhbY+dk3m4peRrBWIdndZlh1oVk9ww2ojoVh68C4HH+z9JPWi5UoUICmMj9e7OG+FOC3kdCoUXKqH4/atUvMTVnZCXarvNIBusEPzwL+k8STOgMJPgOev7AJmi5Udmht5u3OPvNNrTbIvmCT7+hnhelyQvO05ZIuxlqe4reMBvvlx9ekYnhZZdAsCh0pbxEoAdn2hq2Ym2BOJ+/WhlenBFS/m7lgYMWYfxW9n18yY/+fwFPa7Q1jPQlWas2vrlm6gDNbNE1UcHQJFo5MXvTJPtL0uF7VTvTseWZhIXH2J3hd4PFlB58G6G0BCzEMmfQnz9qZhlKJRdwt88ixSmpqt24kMLctoPqsVElRRJ5S37lWbtaZ0ZmYzZaRrDcC71t/mMB/6AvSoOKTERaClxg8ouhrpTn4t91Sbuh5YctadjM8Qb0gocXgWWIVKvha1WmNV2vbIhQIUbSD9hZuzvdlF1iuxPi5hXvDZrhSKpxnD+HamWqO5Xh+++iH1YWr8xRyFjzdJ8l3X/JlUGlfmPpKIyseOabBW7uFuyC88cQuVmRQmkzS1JMNgyNpwvUlVMtPinv9pWYUSx9Iflz5wKAahOXldMsR0euRShj6jlh0aVb3PSI4MuU8IPPMzCiG9h0EclFz/V5s4z1S5BqapGpwazPfzRzkRBxDYvE2VTwTRz2GltTDGGVA== 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)(8121501046)(13018025)(5005006)(10201501046)(93006095)(93001095)(100000703101)(100105400095)(3002001)(6055026)(6096035)(20161123561025)(201703131430075)(201703131448075)(201703131433075)(201703161259150)(201703151042153)(20161123559100)(20161123556025)(20161123565025)(20161123563025)(100000704101)(100105200095)(100000705101)(100105500095);SRVR:BY2PR0301MB2119;BCL:0;PCL:0;RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(400006)(100000804101)(100110200095)(100000805101)(100110500095);SRVR:BY2PR0301MB2119; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;BY2PR0301MB2119;4:R343eeR9SImrNSBWikyodRZvMlsp/Tnx1xdajsL1?= =?us-ascii?Q?S++JnpJV2DJjvecqJ93k7JbLC0BJvdb/lLT8TveqaqlseUPfBJ+i37ZEuGKJ?= =?us-ascii?Q?l1pPWo1tLzAHGC88oypwVdAH0KdSfZcoSQUmXF4CoJjlaPsRgpXrM9M11zXQ?= =?us-ascii?Q?Y5CFd5Q7KYtJnbcswl42B0mgO99m+ZwP0hgWAcNe3YomO45d479oXCsig977?= =?us-ascii?Q?5yA+3JR1EVYOrqrDiFxkm1OyWIw0J9ht8IratdiGxWjus4D1PtgWB523/5qq?= =?us-ascii?Q?Z4McMd1GqbkecR8MZ1Eaa8C27VbkJHkWA7jvzNv5cG5VqrtSTJCSGzC1IBF4?= =?us-ascii?Q?91sh50Oh/0tAXJM5ESFZ2EWcxrix0nlcr/2EAUJuX+yfbDqOUbgyhlWHEPv/?= =?us-ascii?Q?gAkjhy7y3rEdj7J+YC53ntvHfWXl9Chq41zpotoovoq8U3mWwcxrmvxnxsfF?= =?us-ascii?Q?IB6a8Z+/Ly/kB0zvBUEhWZ/qNMMYOxQ6KkDhBtSxiX009ZV1SXQW7XfRbn8h?= =?us-ascii?Q?MIpL8B2FNrw4CB39sPjkaTlzisDK8zZHUbUXvnTC79MxWswjRTiBq/PGTWFR?= =?us-ascii?Q?yJlmeJY7APTPmmZKUsQTg7JqN0X327v+aJdUAspP1ye4YiDEBrEAeODo/Gmp?= =?us-ascii?Q?SxuaZTQ2PKoibEjg5tQDMjtXZ/nJtf4JvX99IRscibMdDTkyw8OujCMiQ2pp?= =?us-ascii?Q?6HE945zlXbptMPZpYkqfkPkPZTdlidhPaEYL/5z6UgJM2tgqRPX+flG6T3BL?= =?us-ascii?Q?xpbWvswKUsdbzt08DMSeh/weOW8SAiQwdmj+wx7WYIE5IXPy1+64cGORULcm?= =?us-ascii?Q?EiX7UkbzSSxXzJ7VXvHZEEQCHLhyoGgXPwzkNH4RTBZJ8EHmHyA24oazo/41?= =?us-ascii?Q?16mQUSutIiPvtq6RWnDlP3u9jiZftNY+G1tZJULBUG1WnFfnPcbRI5OR0/LL?= =?us-ascii?Q?YaYZOmL7UTD2dOfiZ1aasxvNQRFp2fUCodwaleJLCKYIP8ih0bNyAP7ojfAt?= =?us-ascii?Q?KhP6GNtHpDbEWHfzjq4P0WZlyyIAxMul2k75AkkdXK2OlmpBRZDqV2Fb8/pQ?= =?us-ascii?Q?f4ipXGs9bSoBN1ldsIiypWwqUZFoQ1Y8DxYuJKRGbuf2shnzE9cXnQn7f2bw?= =?us-ascii?Q?X2OMpwg1mjAwbGR1983xJ/AICwTp9tp6aidTWxMzE62gA4QAFhGCITgoT6RG?= =?us-ascii?Q?UVu1bfwJloWMVrAs0usrHG+DqZuJojAgAWztbbc0qEe5WtYZ8UkkNVZ5Nrzs?= =?us-ascii?Q?9R44A5aTqQpYXolaCXyqwGfUBXJEOjy1lhWMkt6k?= X-Forefront-PRVS: 03883BD916 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;BY2PR0301MB2119;23:6a0Hal6mfIUlBB7+JnNugdS5fbhoQRtBmDwy+0Z?= =?us-ascii?Q?Cze7NvC6htl+OuN/VHgSCkbp0VouVgr6BKy8bg6O1Y0/VBOKRlxAqho+WLlb?= =?us-ascii?Q?w4ghkm5Nya20vx0cmvYrlUgAA0au8L+wlX6kT+cojRm46wTqDVS4mDmBvZsQ?= =?us-ascii?Q?TFp4/JImrY+LrOiDExnIRFpbq0p1FKxZmLedcu9O3+3/VRVVvE96vXmNG4NP?= =?us-ascii?Q?zLP2Rzz7zBlwKdEP1nQfROHs68WJ4qfvQ2DYlDe6idYthvQ/7yUhcWLWpbRi?= =?us-ascii?Q?A1kJey362Zhk1BU8ZdCvWdPL/0aM2wcWKtOS4mwKL9ybEybZKVyQHvuAYrdo?= =?us-ascii?Q?ZKoshk4B8ApWjnARycJuV8u9js9DcxZxFBWrI/JGn3hxCnyw0NoSPgWKrSm7?= =?us-ascii?Q?x+6RIA9kvl8GmGHMduxN62zBDWFa3+M8l8jbEx1YVb7EwtG9r8IidTtpWRPO?= =?us-ascii?Q?3CYaY3zGaD1x9PNNDvF0YvwU4NVHKP7U3+63g7LRAqvp1/wRtWggl24yIJhw?= =?us-ascii?Q?3TXJOxxH8sXxwzjhB4s2tfA49tF87eMgo0l0VMpZAJGSmwPFhqtAYJF5RkUY?= =?us-ascii?Q?GEmiKYRc6R7/ZfsVH4movAaEJ9m50F92RV71kZples2QE/GZo9Dp/2uCXqBA?= =?us-ascii?Q?Skf4gk1q4ptsFmXXlgCRCnPlQ2YNWjvKHWNveYK//eI2gmJcr5on1T3cauC4?= =?us-ascii?Q?x2DHwlsOBi26RkpIFvxEc82nkiezKR4AJiiKgwzfWKcUoQhlPx4gyAqWmlNd?= =?us-ascii?Q?6k/5dzi5sk6cga5Y6WhvB7Aywxc0XU/CNkS2MxIi19XxIC46VKW07Qun9aLd?= =?us-ascii?Q?WZhlqSpTkm7ma8yWH/xrAxWHZw+pRzvwe7nQOsyKRdHg39Xm4ARbHZvliBkv?= =?us-ascii?Q?pvMVf/sGqk/+2yQQq6yKpGek6dEX0AM9l/RUOh3ceEULhYNuuN1qW046DhWB?= =?us-ascii?Q?3NHKDQwX9Ct+5Ljx9vnX8vLrdZ6pT4XxDJL7eu04bdGqFOOLORF/HvDb53H6?= =?us-ascii?Q?rij8idQQFrPnUEc1HdupxOiiM2tdQi1n4l65gS498Jd56rM42IX5rcEGox/C?= =?us-ascii?Q?SAFMkhUj8FQPL/rgWWKDlVj2b5SdqAYdzjkiSnwB1DGS28od2Q3JBywdGu57?= =?us-ascii?Q?9FacHs/0WmcgWII/Ny0NDfcge/JjeqMObzG39IBcxPuEaEpJ9oadbU1yMzAi?= =?us-ascii?Q?XmD1gMttarPoPVkkKJueRuSihaQem7Yyj/vVdDPa8nMs7u7ZbrkuoPNFh/eY?= =?us-ascii?Q?RxHISect5xhMIclNmT4Q=3D?= X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;BY2PR0301MB2119;6:ctP8EQ/fmXhDst1OhYSZgZoYTUvqrv1LD+oDftsE?= =?us-ascii?Q?Af8PFU4tuke9vndqhxWVhfS9zmumr8Tfn0T8G72vEOg8S9zo8+1MZ5nfMUKO?= =?us-ascii?Q?N0lxvvJf4ji6aFXF5EkYr5U3VwwkZDkNjxof2f8437nJE/01L95HxJflgZJg?= =?us-ascii?Q?8TE+k4YdRQVAr2yh4MATBKJyNTnpoqPHxyTFrtUQkRarPUsqhmt+ytsGBUmU?= =?us-ascii?Q?30ylbneqCWkt9ekcCxnjQhd2ByCgIqbyydxXMfTI9imtCLasKT9FGrsJdPbT?= =?us-ascii?Q?qH12glqEEP3JaA1xhx/Yk9ZYDccZ0WZ+6qofSd48fNoIMXkHtNUxyrS7jv5w?= =?us-ascii?Q?c9u8ygQeU+ZmhPPCcgWYG9/9zoJLum69VPvQ/jgqjMvPs9IxBbhFSzxdjnYm?= =?us-ascii?Q?Cbwtm6AXf4eGZGVPjEGXgYm+6MmtYLvc5y6UD5liAKMtLSMNrQw3gYGgYJHA?= =?us-ascii?Q?yQ2oPdIh9xfBiyGjIeITB+Pnr8dxYVmdWn4HkcvtRDMvkgR418P1+0jTfZhL?= =?us-ascii?Q?YYw6luOc4biSaf5d2YU46rtjZGzHiHXp1cHTHC30khd/mXTKG9ic1FW1fykB?= =?us-ascii?Q?7izkaiKw4yM8uUkDHbYsJqeLrLc0fGAGDQ+jwcH2mlp2KDhfACxY7co8BgkH?= =?us-ascii?Q?cR6ccwQF3oqXQfnhFu86st50quSXFU2wDg6VRm9KGrntbiut2gO5rmJTVkjK?= =?us-ascii?Q?CXbbAlms5ecbloTB/Iw5y/OBJ+glK0EC6acehI3n/AMM9DWySirEdDLQAYXc?= =?us-ascii?Q?motpX80KmClg7c0vG2teRbSGTeKbyWbcl+ouCZfIBbF1ZcRZTBOpwkjoBosF?= =?us-ascii?Q?HeQz4ZYsrtsR5EUqkpOpKraVa+1ckPB7nS2PvVmDS0U6KUKMkoqEKRZ/96gM?= =?us-ascii?Q?VnJnxvZPcJ8Qt9Zp+0voN7vUfzJt9r73Y/k35rT94gK7jDIiIRnhS2S8Nw/Y?= =?us-ascii?Q?vhiAkIoosvqi7ZmEmzQmS60kUGYoIGqD9N25B7bfuw=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1;BY2PR0301MB2119;5:dyHG6yYQtIoAzGpQg/ORmgLaASNWqPE8RV9tU0EP95KggR09apedBEl/yyVw2MM+TtU/I/N/kBMpaNMXcaAg/sEaH/I26yXY2rFDzIryt+7t0axBBBA5aOABsUN68Gc37yR9+XbF+uetnozK/OrbCB8gEH7lYkh6k9Yh4RZ632PWxl3YcHMu1VejFRHQMt0tX1ufhALTRxWFNv8wlmQmZzWEw65y3elTkpka0uT+Epdq3OIg1dZfhyixWjMVGyFAz4oF+BAFHTOKcJ6xrvMSVCllcEPOQmu2wIzFO6RgSR+OYTyRFmby8cu58xDZWm5ePR79qb1QjzjySHKetxD8o3VCgdAc3ZlYvXLPf+Abbs/hhVAkOj5xX9izflaFinhBa+Dc+UpP7GTAi/urkrLI2cmMc09CjsxpnmoBBe5uYQ2pjSBVYkbAHlVd8YtZ8VSMnfxLqC96O/O7lnvPuY4Yo50zDB+N3W3wwluuuvCHExCp9Jd8XVqVVzzm/dWMObv0eF5gWTfLXjfv+tCTearVmw==;24:RmfyOmYyVwWp+DWPfN37IzIgbBTd7QKx/iZSJd4un9d8xEKCGWjZowqGl+STaHDAwJRCWjYIkoz+UVO/fMA0a+6YW+0OJufGHLV6TCdBpfs= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;BY2PR0301MB2119;7:hkiDaEkI/AlLKbofiL9UC6H3vyYMbtBGS4hz77zOaX1jq2SIlJK9ZPd3P0KgphJEPDyA9KV+o/j3HVkcYEdCwgnpRtpRaW1sBbJt5zRJDoIPQZLQK3tycc4OqxTD+wbqSQbeC4dnFxxFD8XdGTlR+sEOYtBx0TSRs+BC+iotoMl/O2oniHuzSO54r/nYt6Xo8pCc0y72u2psfshwJxLis44t/qg4tMEGbJroLiKyb6Y32A7F3fu1e4EN2rbKWQ38V/FQ9iQJjTgf6rO+ghWfqtbtOwFLUUou3Dz4W+WP20e/eaSUfafjhV0ZqbK2BYpZiF06RGGn2/aff88vD9e4j06YbvBCtBtsMQRnW9xy7wWfuMfLA649xlDQZ7VH0smCj2chJSnWNpfWbtSR6YaElarnfAS1QmS+3Qm0TCE9RljbVml8ZDCl8lJF4bX2pPWGesS8wm72l9gSzyezBrzSqUdnE/fDAUZziZDrEx6VD7kfx+Qlyp+v3gx5FOnca1uquvDeThcoAH1kpFwOW/H12Zq4QRP6TSEIunYLJFbphtHKEgeJk6XM1e0YOBTpj8yFLOuM/fMQQkW7LfQHLzIOhWZltgNfurT+qExW25zSasU78RsaRr3eOTIatRFV1SdBycLYM1sjTPV6PrvdyA/t3LdLrXWu9nlxPx9iYwyjx4II21Rfmdirya5GEPp1Vn0jzui6K9mdq2C6yLP+TnAtNgNx/0XjHODqZtrvQs0wv36vn3onRPNt4gjkNyBxsxt/YDv89Mq6vurXsX6gPoQHbgYnEolVhWI35Q6EWiyQoLk= X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Aug 2017 03:55:03.3801 (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: BY2PR0301MB2119 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 5017 Lines: 175 qeic_of_init just get device_node of qeic from dtb and call qe_ic_init, pass the device_node to qe_ic_init. So merge qeic_of_init into qe_ic_init to get the qeic node in qe_ic_init. Signed-off-by: Zhao Qiang --- drivers/irqchip/irq-qeic.c | 90 ++++++++++++++++++++-------------------------- include/soc/fsl/qe/qe_ic.h | 7 ---- 2 files changed, 39 insertions(+), 58 deletions(-) diff --git a/drivers/irqchip/irq-qeic.c b/drivers/irqchip/irq-qeic.c index 8287c22..a2d8084 100644 --- a/drivers/irqchip/irq-qeic.c +++ b/drivers/irqchip/irq-qeic.c @@ -407,27 +407,33 @@ unsigned int qe_ic_get_high_irq(struct qe_ic *qe_ic) return irq_linear_revmap(qe_ic->irqhost, irq); } -void __init qe_ic_init(struct device_node *node, unsigned int flags, - void (*low_handler)(struct irq_desc *desc), - void (*high_handler)(struct irq_desc *desc)) +static int __init qe_ic_init(struct device_node *node, unsigned int flags) { struct qe_ic *qe_ic; struct resource res; - u32 temp = 0, ret, high_active = 0; + u32 temp = 0, high_active = 0; + int ret = 0; + + if (!node) + return -ENODEV; ret = of_address_to_resource(node, 0, &res); - if (ret) - return; + if (ret) { + ret = -ENODEV; + goto err_put_node; + } qe_ic = kzalloc(sizeof(*qe_ic), GFP_KERNEL); - if (qe_ic == NULL) - return; + if (qe_ic == NULL) { + ret = -ENOMEM; + goto err_put_node; + } qe_ic->irqhost = irq_domain_add_linear(node, NR_QE_IC_INTS, &qe_ic_host_ops, qe_ic); if (qe_ic->irqhost == NULL) { - kfree(qe_ic); - return; + ret = -ENOMEM; + goto err_free_qe_ic; } qe_ic->regs = ioremap(res.start, resource_size(&res)); @@ -438,9 +444,9 @@ void __init qe_ic_init(struct device_node *node, unsigned int flags, qe_ic->virq_low = irq_of_parse_and_map(node, 1); if (qe_ic->virq_low == NO_IRQ) { - printk(KERN_ERR "Failed to map QE_IC low IRQ\n"); - kfree(qe_ic); - return; + pr_err("Failed to map QE_IC low IRQ\n"); + ret = -ENOMEM; + goto err_domain_remove; } /* default priority scheme is grouped. If spread mode is */ @@ -467,13 +473,24 @@ void __init qe_ic_init(struct device_node *node, unsigned int flags, qe_ic_write(qe_ic->regs, QEIC_CICR, temp); irq_set_handler_data(qe_ic->virq_low, qe_ic); - irq_set_chained_handler(qe_ic->virq_low, low_handler); + irq_set_chained_handler(qe_ic->virq_low, qe_ic_cascade_low_mpic); if (qe_ic->virq_high != NO_IRQ && qe_ic->virq_high != qe_ic->virq_low) { irq_set_handler_data(qe_ic->virq_high, qe_ic); - irq_set_chained_handler(qe_ic->virq_high, high_handler); + irq_set_chained_handler(qe_ic->virq_high, + qe_ic_cascade_high_mpic); } + of_node_put(node); + return 0; + +err_domain_remove: + irq_domain_remove(qe_ic->irqhost); +err_free_qe_ic: + kfree(qe_ic); +err_put_node: + of_node_put(node); + return ret; } void qe_ic_set_highest_priority(unsigned int virq, int high) @@ -570,45 +587,16 @@ int qe_ic_set_high_priority(unsigned int virq, unsigned int priority, int high) return 0; } -static struct bus_type qe_ic_subsys = { - .name = "qe_ic", - .dev_name = "qe_ic", -}; - -static struct device device_qe_ic = { - .id = 0, - .bus = &qe_ic_subsys, -}; - -static int __init init_qe_ic_sysfs(void) +static int __init init_qe_ic(struct device_node *node, + struct device_node *parent) { - int rc; - - printk(KERN_DEBUG "Registering qe_ic with sysfs...\n"); + int ret; - rc = subsys_system_register(&qe_ic_subsys, NULL); - if (rc) { - printk(KERN_ERR "Failed registering qe_ic sys class\n"); - return -ENODEV; - } - rc = device_register(&device_qe_ic); - if (rc) { - printk(KERN_ERR "Failed registering qe_ic sys device\n"); - return -ENODEV; - } - return 0; -} + ret = qe_ic_init(node, 0); + if (ret) + return ret; -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); +IRQCHIP_DECLARE(qeic, "fsl,qe-ic", init_qe_ic); diff --git a/include/soc/fsl/qe/qe_ic.h b/include/soc/fsl/qe/qe_ic.h index 1e155ca..6113699 100644 --- a/include/soc/fsl/qe/qe_ic.h +++ b/include/soc/fsl/qe/qe_ic.h @@ -58,16 +58,9 @@ enum qe_ic_grp_id { }; #ifdef CONFIG_QUICC_ENGINE -void qe_ic_init(struct device_node *node, unsigned int flags, - void (*low_handler)(struct irq_desc *desc), - void (*high_handler)(struct irq_desc *desc)); unsigned int qe_ic_get_low_irq(struct qe_ic *qe_ic); unsigned int qe_ic_get_high_irq(struct qe_ic *qe_ic); #else -static inline void qe_ic_init(struct device_node *node, unsigned int flags, - void (*low_handler)(struct irq_desc *desc), - void (*high_handler)(struct irq_desc *desc)) -{} static inline unsigned int qe_ic_get_low_irq(struct qe_ic *qe_ic) { return 0; } static inline unsigned int qe_ic_get_high_irq(struct qe_ic *qe_ic) -- 2.1.0.27.g96db324