From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752173AbdHCDzQ (ORCPT ); Wed, 2 Aug 2017 23:55:16 -0400 Received: from mail-bn3nam01on0083.outbound.protection.outlook.com ([104.47.33.83]:59534 "EHLO NAM01-BN3-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751932AbdHCDzJ (ORCPT ); Wed, 2 Aug 2017 23:55:09 -0400 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; From: Zhao Qiang To: CC: , , , , Zhao Qiang Subject: [PATCH v9 4/4] irqchip/qeic: remove PPCisms for QEIC Date: Thu, 3 Aug 2017 11:38:10 +0800 Message-ID: <1501731490-34402-5-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: 131462061073877614;(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)(39860400002)(39840400002)(39380400002)(39400400002)(39410400002)(39450400003)(39850400002)(2980300002)(1109001)(1110001)(339900001)(199003)(189002)(50944005)(6916009)(6666003)(2906002)(47776003)(2351001)(33646002)(5660300001)(36756003)(50986999)(86362001)(2950100002)(8656003)(575784001)(76176999)(106466001)(77096006)(626005)(104016004)(54906002)(4326008)(50226002)(8676002)(110136004)(38730400002)(8936002)(81156014)(105606002)(53936002)(498600001)(81166006)(48376002)(85426001)(305945005)(68736007)(5003940100001)(50466002)(356003)(189998001)(97736004)(2004002);DIR:OUT;SFP:1101;SCL:1;SRVR:DM2PR0301MB0911;H:tx30smr01.am.freescale.net;FPR:;SPF:Fail;PTR:InfoDomainNonexistent;A:1;MX:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;BN1BFFO11FD045;1:f4DDQ2lEvE7s1QIcS3FsbIMD4DDeB22d0xaRRL7Gp?= =?us-ascii?Q?y5OGtT+uir7y2mJVYDYaShv4DQE8JLLyjm0I79K7PYxNgsk2ZnYByPIWN3Wo?= =?us-ascii?Q?kuPqeU9DlbOW9hT0tk9X/sHNVr392Zlbz1aWAP2Vxzs7aKMeAn6adQItZGDG?= =?us-ascii?Q?MUQ5Wb44GJy6aLl6O5Zph642N+LJ5Dk/Wc7cry1YniQgnj00JIq/e0+c3kPR?= =?us-ascii?Q?gv1PIZGT4U8u4WDnwqsm0SYF3bAeVAGMyz5ptnNWzLrnw4SrR3AI7NsVQe2u?= =?us-ascii?Q?q6VAM6jEwsKYhk50ZOzqndiFQ8M8NTIyr+yQ81t8st+aMok0ll4mWBBOm5kJ?= =?us-ascii?Q?a3n4E4y6BgeRjA8jZhkr3h2kgTzqm6oKK3AXWZiAVb2UjpV99aKkQAwur4Qp?= =?us-ascii?Q?PIWeDA8KyoFDcbDICkPk4lz5sBaBbsCAulhQ4RVEgLk5mfsE+AzC9+SpCbmh?= =?us-ascii?Q?VOTLLhwTgAbtYyEFl5YnUkVoerIIgFTgwFAHoarq3FZYr5xfU97CxhrxcslB?= =?us-ascii?Q?KPjzQO1ol0gw8QFtRWMcm1CMvoodq77q1H+7J783HpSF9j5BJqwnjb+8rE5x?= =?us-ascii?Q?JVaf0vc2N6axsvJk8KrnKNzcGGGpFCngk2Naxi9uJMl6TLnUCSm7bL3jiDMl?= =?us-ascii?Q?Iryii+IiKE21OtInK1yYr8fF/xLeo48cJJgshwD5guNqm6410sWrzP1yZolb?= =?us-ascii?Q?Pj8Jkpe450G5sC3jQvUX3MiZ7BhLORKdqPjeH6S7en0RC0Z56BguXVYmcgjK?= =?us-ascii?Q?TM3AFyetcX9E8hbnTA2CrtB1Tez9DTB0kvAp8moA+wLY+lBJFgqm7IuUq2Nd?= =?us-ascii?Q?uJRrJp63VOdJbT7kDWwtBlUh7/k9bZMRxZPgrOubjyTLn3rUM8IHQiOcmbn7?= =?us-ascii?Q?ptmo4GcGurcS46VZlZWRe30LG3AzAr/SYexmi6BaYmNOq+iJ66QkGk/fjBJ7?= =?us-ascii?Q?xORuQBoXbxCKb3CDXJHpyU7Xl+0B5S/YAqOhz/jgA=3D=3D?= MIME-Version: 1.0 Content-Type: text/plain X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 19c46bf6-750b-458a-ca6e-08d4da236e36 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:DM2PR0301MB0911; X-Microsoft-Exchange-Diagnostics: 1;DM2PR0301MB0911;3:tHLw5SZlxig9FteSKRWTg8HspTzvxUZUkPKbwnaldITzew3Ab7oXOFPOqGvUkFH31DeEeC5t0Q1+Qvzsv/MX+4mTAKsZLPUSXadZXxO537sHJ4JFFkMgNpuZ9yCeC5bQCXJPaHhZ6oBoq41kUhy2xxnoyW40tN7rZ8hs+KXEzZc22B/cFg4f8NP/AjPJ9A4sZTkYLGYpAQr0jGG0CDM5lsmw9oaECd7sC4wmbREl0ZIJvQObU5p6mkw3FFIJyFCuswDSC40RP5ZA1etz+dkSUd4Q2FrYd7c8a1ggVm9SbJXhXuHTook2ilHC13Bj5skr/XXukHo6RN7dfflorSS5aIX7J0Qd+fB8ipOnww1zCjs06rAmDoKfm9+1EFJEDMh8n44kr4u/sImVFljBPi3YbM0lpqke7GhU4xXN0lj7RzvRynrlKh8QE9Fu1zKmVP0xep+SKNnncQs9iVNUp/ZUCag7yzzNsTANH8jMnujj+37Ki4MO7gshFoMJWAK9+eaQY80mTl5MtAvoCs/sC0tJZryrec82ulyBXcmtKY3gPCuMqJFzDkwaCZU0vn61qtNKa9RzB0edTvKGVw1X4715bjc4fHTQ0zIeokfOJZItVcWKvLOJuBdivcPUnf24MPrv72hvMeNhTLzErfttenRq97RwVix1EcqU2OosT2pPzBDzox9OXxMN1WYPJA5ZTe3xqjN8/A6QnjqtHpi1XVQNrlmgWqMl5+TLrPGG2Eg9JEouYcs9Q+ACosPRXF6P4L+X6UN+itG8sklfHazNLLzaiRqlr/jOnd1IH6gU/wUyY9fjBOjN1NJld27hYzpNwid3lygVB/ZmkUq/zz2qSnYtEna29iLNugCjNwn3BrmcMQW2ZMVbFNvwtCSBWHHAhrjX X-MS-TrafficTypeDiagnostic: DM2PR0301MB0911: X-Microsoft-Exchange-Diagnostics: 1;DM2PR0301MB0911;25:ndbiZsmu67A6FjzCIyziGelt/eeetXb37/FknrT+4jBPo6Ww/+Q75q5afHXcaPM3qnDZrsCHeWV5n2pKA7fl6wQMSTtTUJGmLcGmQR8paqUyevyNIqmBd9a5aIQvF1UPvX3zYg5lYLpp4TyUfPdwAXamM64EnWuSuXBhHUpxDO7HVouLHXWSyNp+9Bf93FcH/uzD5yPPz50Inbx74ycLV9iYdiS+O6qo8QSM+20N6RimxgKhXSM053kGMW0EuxlKh6yWUTbcEzkacZ7PBn1v2vlX4TNEAIUVlk/RYM/u01L3wKjZvKVr+5aVh9u9p+WWdbqKn7lnswy/BMYvpK8HyXSodpmEP5YSYbwzh5fjcQpYyhegCz/RzIAMaF1gRg1dGjP4kkZ6HNQkZXzQnaqz6hnK7JX9i5JXpmMjdHs7eAK/GajzcPAqm8KPi4NtfK/tQ11zlQ9JBRjZI8FCUdnwEjsh5NEbnBVgwK9jo3oQAEg3jZJggJEsyQoaWOz7gG8Mz6I/2rFgbSy0RjHln4NvIsrC6SDiyASZt7efiZ9P52f+MqyoEhwMfE2h92xhtiKaHY4gAb7ZKj90PL8LwoyMm+J9PvPI+F0oYc6Q1jceitG4KE2JEFWhrDazwFfzW5BZ6VZIv8Uz9deyyapm5AxBCsYfEx4fuvhMpqWtZwUAN5QAlLfr/gKLwXv/r2Z48DTsyk3AqCTz+tgqpZberrGQvxg3sy/vK/e9SHtFewOIi1zGKLi0osQaa2Amhqymlgr51kLV+RVKbw3ojUaDrYFLCPe4KwSVhTTzoXT/eNmzg4fgz7QakEcZ6uWmh5WerbH16yw+qW+el/uzXwiMg5IcrKAYbdpOWY6wIBb6BkHMoFJW2R5zwZ8DhUmLrohscRWGPNe0FcDBNy/3sOcUKnJozEj2hvjbRbqvyMt/Qf3KeT8= X-Microsoft-Exchange-Diagnostics: 1;DM2PR0301MB0911;31:Uk/K2SbXpNm462xGGmqmNeHo7GABoo6DOHUNGHdKDAltVNqqOwg99+RcCqg9UwFeCCquBkcmqEFE0j2VfMHGm+IsdwWcq7/7Cf8/nXRnpAH5+hZ6qoMuprORcTC1iMIem5jhSsYXo9BmFyXA2+4UiQ+4gOmuQCCQOIjrhxmKhZ7MZFx9EKfCMbZ8ux3HwAGk4E72UOy84QN7RuJ38EfoiXzbmcAMQPlP7yEiEWQGTERrelSWyzqP2W0wU73TZcDWqL8ZCi6c2TNtXZZFEZAOJjb7Bh7T0yoa3tyR5+XTLm3NuHWP5JIrenCso2sn6MW2z2eMjzjNvKwfOV93WhDkaQFFJPSvBjrVncNkgPAxA6zuhqsnEKEfwiJW82Jw+FpIRmSOazj6sq1ptqFJu2J7zdW+/RLqaSr2elWlmh4bIZFSSypUU/OxRjNOChWMv6skubDxNTjcb4qtcRM18iAlXGBxTvlii2xgGxgse+/x9KVFG9rwnCIb7Ss8akXV3ERjvN100bxOCEuoL+OyX0id/8WwkQlcFVOSMnQ5ZekM1G3W/4X/HDzJ84rEzlkk48NvwYELe8cfoC4bg8/MiqgxXNS32Y+Ms9AEFQEkcCN73G+qHeowbAVcsBniBEBNATyEKCa71JjQbEEAKaaog68FKKbTODUvf6C6rmXjCzHHU3ZB83fuL2FyjoyjftTMo8uGrZ8Eo0YOJ4Px9ze1cXMPyA== X-Exchange-Antispam-Report-Test: UriScan:(185117386973197)(101931422205132); 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)(3002001)(93006095)(93001095)(10201501046)(100000703101)(100105400095)(6055026)(6096035)(20161123559100)(20161123563025)(20161123565025)(20161123561025)(20161123556025)(201703131430075)(201703131448075)(201703131433075)(201703161259150)(201703151042153)(100000704101)(100105200095)(100000705101)(100105500095);SRVR:DM2PR0301MB0911;BCL:0;PCL:0;RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(400006)(100000804101)(100110200095)(100000805101)(100110500095);SRVR:DM2PR0301MB0911; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;DM2PR0301MB0911;4:pkPZf74cI5qWxXt7jpqb+w3ujLEaYcpJdFPDcLun?= =?us-ascii?Q?p60LbYsAYU0bLrDst7haA8D0au1HRiJJD9rEUL/aGXyp+PKTxHZ5Am/xJzK5?= =?us-ascii?Q?EzPJCRB7xCnPDCCYV27NusIMultRRVJduqvbGpbap9oAH2ql96RSC9F0dbhl?= =?us-ascii?Q?H+q3YARIII/GytksWOHK+tfhcl02VK+oEN0e5TBcw8NoLbPbvJTHx0GH63pk?= =?us-ascii?Q?Tu1vtBBEr7sDdJOZvzG4Mve6Q1o3EDRQtEbIOwx4mNeDQOjzDKU2PWYZ89L4?= =?us-ascii?Q?mBbysK+ESOafqbROLdKnG5jw3Y11yOSPe59A+fxZE6LoA5Zw6M+2okjOIKda?= =?us-ascii?Q?ZNBDorea9TtVPoKX+/QH//aYu/TZWVGH09/ISN9gLaXdKVUMDRmLHXtCA7Qx?= =?us-ascii?Q?FIz9ENAbsMRp7RxuB6iHvoMEF7NiHlqBTioBEQvrF5zrRgnIDt4JRIjEvVm8?= =?us-ascii?Q?ZTFhNy/74K7jUG91t0MYjlZaNMH927BTnvHDa3d4HuQ/Umhxufe4ZknzadES?= =?us-ascii?Q?3bGHXGCyXtumn66IuwJ0EOPNVZE8gW/eoi3m2l6wHulhQoYtLszzXjsI1IQZ?= =?us-ascii?Q?dQOCRxnY3jbeCZq0pOaFzGyLk1HnIdo8MduwwhYCPyOrpYrI+tGlCwYDDt/J?= =?us-ascii?Q?gYcgaZpHxb8Dpe00TV1vfiIReFKhgS1OPOT4+y1DIDjkpt2Py3tVlyaxiGE6?= =?us-ascii?Q?jGv3SrGA1ExP2BzPHVfNAZeQNQG+Jv5CbDSjPGA9mKoXfYLAft8HjxsjgwH5?= =?us-ascii?Q?UOA7k3o+QZc1EIn5OW/9iBy4mit/hbPOUAswmFFWQIaBpqx5JzAcGDCejrGu?= =?us-ascii?Q?eiWJCDZ0PvSklrInZBTJj/lxRl7yi2N6DJRw4sHkYqK+l9DaLVjZ5gntNneF?= =?us-ascii?Q?wP4pXjI+B94pV4k5nFEyhIv8KtFHTtIhs6Bz+jL1p8AvjW8Uim7k92G785uC?= =?us-ascii?Q?iTgCfqBXgRmZrKm3DmNJjfmkuMoRSfD3oL2kdj+V/jQIPNtHA7/zAmoszUSt?= =?us-ascii?Q?uGX5/P1Vx+W4NYDMn1V817S+j35RQkh6nv09+KwqQco6OmmPd3XVAcfr/ssr?= =?us-ascii?Q?Ev2K0PrA55yzSxSXSalNOd8ZHV4xVh4zRpYd4uTHcNEDCI8uP+twYiTdQ0Bg?= =?us-ascii?Q?Pohn+2vXvaMDpj9xVst2LtHOYhd1ic97wBKBICxjcvNwrMUr8liZswnGqUiA?= =?us-ascii?Q?zgD6wgr1p3kV0HnllBSsFKQwKWlqNRrfvD2NMhcaUdswKgSMky3n+ClKbfii?= =?us-ascii?Q?Q4vq2wVRZCNnCQ3wIeFxP60rphJbnM5uSghfmc87HORWb7MHPX1qgZmT5lAT?= =?us-ascii?Q?8g=3D=3D?= X-Forefront-PRVS: 03883BD916 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;DM2PR0301MB0911;23:cbnJVWoyW09lOiqRCdvRwUrR8IpAi7cA7+xSsRO?= =?us-ascii?Q?IkE/PseuJvfffuF5sC0qyGcCIflh2jPXsBJQx2tnmB/cRFq+/JLt6txZpeuV?= =?us-ascii?Q?Hp6iCH5CEtDokbn+5ewbWTQENC9I4n7bKFNLYZxU2la9+IJUKq1TntI3qCfC?= =?us-ascii?Q?J/vhzlGTTdVx+eGokrT89n5o/1juHFIGuUP4NH74vCZQDSBbqaiUGaUcOnQr?= =?us-ascii?Q?aLoOGDjcXR6sp0A6zosirug9pRdcIKHmysqePIXOQ3OKiJu98FU6SaociTav?= =?us-ascii?Q?FlYrWw3TLDM2pydfB7FXrHe3+mf/7DeWxOvlN81/araiJB4zkyJpEj8cB83f?= =?us-ascii?Q?GyzGCfsrR8sVeBVETm9FbawdWepOjX8fZQZjs2CH50gKcUzGjlX5GYOmPjQD?= =?us-ascii?Q?egHkpNAHwXZeXErZB0dnN81WxuvDTU9+3L7WV+KD4oK8nikKlUMA0ujBy1n+?= =?us-ascii?Q?9M5fPu4RKtUIUWfgYJ1LqgyhK6JFAOyOiUBuo53wtlniWV6pFFRvulwbSzou?= =?us-ascii?Q?IcgbQCFYi1n2uS3MbtR0xnH7T84qXyuT7MUy2zAeZ9empxkbyWRclBfxgTES?= =?us-ascii?Q?2VYX3XeRaDyRglpPTAwHCGnsK0/at/HYpkGRIi2uZMBkBjN1Tb8qNPfZPHP5?= =?us-ascii?Q?d9ztVH6LgN+nJA/fWrSDDxLMJtai45+bZ4fJvI2bfir/my4GR769Igdfe+QC?= =?us-ascii?Q?D7hAz6Mc3SzvAywn1JGfKC5kgR6m7JNJG+WUB4LK5L8PKZHdsgs2vhcaY6xj?= =?us-ascii?Q?IMTQxlS5zftiMj2F9w82LVEiWVnbAZqKgScnElAW/Wt2fbc2vaKYa+m3JJ/K?= =?us-ascii?Q?biQdm8vaOwIv+TWORZabSIcrceIrDtfEtka9fcLtLyeEcDT+XovzXJ5Fpa7Q?= =?us-ascii?Q?+Prge/QA3wqTROPnmj8tuxmEp/jYTVDeQ7M2fzOIZUA+Uhe3H6jqHyzGFyFw?= =?us-ascii?Q?7GQ718NwHHXANL20A5qv2rhu+zfN6GZ42P4013C+TYnl1g9XoVtNhZyC0q6t?= =?us-ascii?Q?WjvvABBP13LB+6BJpqC7BYYJlUTJxxWF5dWtfvlhA8AGa5yaUld31SnKo8qy?= =?us-ascii?Q?S/LXwzBwhNs1n3LBQtwzJZkZ04Q7onmCadPCR51y1EicMeUeaGLlaJrvz3ei?= =?us-ascii?Q?nYz3QUWOuUeURlYnmqshFCM9flMxWhlKxFCPnl3tfqdbOWwc2O2/vrFX4ay+?= =?us-ascii?Q?fwzBcCrExVqTb3aWPwzA05a5cidpWlVH/QGhXOhvx7nX0AkH0vsBJcnBqY7R?= =?us-ascii?Q?XoETSHvmcHH8/viWnFWIevemY47fkLVpaISwNqy4okl3KDUUE2bwMlM50qLk?= =?us-ascii?Q?qxnOfy009Cq57YRHBQs/dEPSleuahjlMfYmbCA+in7gt6u7P0LSL3+mX5liy?= =?us-ascii?Q?F+rlzMw=3D=3D?= X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;DM2PR0301MB0911;6:eiX5JIoTBFSsznxgbmhGiGtNAuWSw6gZGq3M5Vd2?= =?us-ascii?Q?LY2Brq8+LP8bulNpOsGkXXUuA01ngk0oqihEk5bMNTlkTnhh3s1hizfulYMu?= =?us-ascii?Q?lhT5SzqjA99JDj9hKgS+CQUNA72q00N7NeTwlKJ7VIT3Ap8kCjPgYeNLxv2C?= =?us-ascii?Q?mWS2wAXWzxWK6aEuFnNcyDOOnpSBp9hvZ+aPamvFtaKITIJ9fgGdEb5ZSABC?= =?us-ascii?Q?OZA97JbdR1/JpJ7xTdCxZ+tPxzmdoLbGHQt0PWTTl/AVyQ6NvEzuUyVN+Jxf?= =?us-ascii?Q?iTpVGBq+FnwCxYMbSU1DeSQzZGZfrokTAhKa7yQfa79P64R8QH6nDkxUNybH?= =?us-ascii?Q?b+nlTyghLLuNfG49DrtzXWZbLDlXaJRXB5WTmz7AA+8Vwzbz1MkzHBcCV69t?= =?us-ascii?Q?5PmW/vMxbonIcJR7KbOXoS7wffg4hwNe9X9xprlFLg5usuWCv4FtE4iSyQAC?= =?us-ascii?Q?jhSEom9gubj6mMAA2dsIGe/bq/noIEASqMH7uJ5nt1Qb/Eyb3ECe69lw2XRf?= =?us-ascii?Q?BovYNWF4QDKb64+tjjocsFHZagxLXki8LyTBRRcc+jtQVBDybB3zuSqNH99h?= =?us-ascii?Q?4L7jmqhu3SAZiiBXn19JhQQh02iilrgNGf814YDHewGxZivnOoQLLdeJzGQo?= =?us-ascii?Q?OZhT8vuX//coRUnz90DReaFQofZfEgDolhhzHh90kZlU6yj1EsDstxOzzztJ?= =?us-ascii?Q?PhUwB+6MpZ/rTD2FpIlZYUN86Ar1l174VZz8pemwa5ndtasCH6MOKgVdol/U?= =?us-ascii?Q?V7s9pF2D5veCaSEPhxX1UoqPCTMQIliZSoupKAFJo/ePVFszM56WkZ33ds/j?= =?us-ascii?Q?Fmr8LuhVDjLvVibMud029RNDseh2MfWRmKPd+Tc1wvlEtlROCHMBYDFiOVWV?= =?us-ascii?Q?DwrzQ8E/ri8iUNTDyS58YPA7QMfJ3ppffjEc3uZS3s+xfEoA1u27NSj2MESn?= =?us-ascii?Q?hizI5+3nYhc2ZsnSajscu0YaRZwdvphHzxRZzuAWpQ=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1;DM2PR0301MB0911;5:3AbUEcFH7WIJSczRA6dv/nXGY9CX20LHnfxzTs0NpMJkT3pI7lmwnoiFlf8WjmIwfdL5X059FIu/ICSCHq6K9zZS6sNY3pA036Pjr+FFcwAkyoVx2cF8TiilgJSgUId+o9Q805TkbO2WKY9/wuAqaC+FAZA2P9HqJk2Pm3e6CwhQ6GfprIjrqVXffrMcNY4XoQGpdursfLHUV0Z0A5i/IOldlNzoJW0awZqE0Olsi8YCXQ7M7vWXE+d9bg/d9t+B96nv31I2aoeMWmpuC+nfx1Lvt4Dt4E6J81lFmqhgYhRheWDP5s/K4sgIowsxpuW8TY3p5Gzng9TYrq6oWXXHVOQ4egJOui2f8HMJYCBoFAWmHiezKJMhl28y7N/24dOayr1ZhBjIi3icD9NJKY8Nmkmdq7T5RM6IAEKYL4u5KLnB0I3yD2vyTu1hk8BlnK/JKS2CNgr/ru85GUAKg3+r6FxLMSCztBSkcPO/fYg6lpCmJjwYPfGw2FDfNnEW6J76SHmFvatLaRcKiVRrhNuH5g==;24:unc/s84ZPEvFh19OkP1+KkEZK6K9sWMTPQKTdiTqXAQrG3GW3uMJBzM7nE6P23Na2oOJaRFtowCgmo/4UgltqI3bUxszQt+CuB0Ldci7OT4= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;DM2PR0301MB0911;7:1w0D/20/QajGtpCGPyIUJbZoR+L7i4yuW4/GFxdr6pds8cJjxSIi52VXeW21Oy1HwtO86pWQR47o6LrnIdOlWBlVd6IsE9RsgBMVyKKDlHMnttScYslmVMoMklD+qPHImHG0vqFXZopquvJeONtD5/PpMMYvKvLrwnkI/ky3E0CPr6miMhCguvJOHcQDOam/sWEdnLYDqDN3gZ88pITzzGoa+mbyNLsuXvxJ41/MUg+ErJ07FqG8RTUdwD9hDiD/8JtOuvIqT0l730QgzeNvktE21DYgdhTVoV9RlVkHv8V0uasvoB9/saAky4doMytZDRNXgzZce4SWL5aNOeP8wOZd259FylkFOd5mybO8G9WRNHj0Rq6YXUz77ypg/FrqZaxRry/ZIuhpJHMPRpbnWai9ShSO01hRhdHzXJ+DA6WQjTSCNdzIPn7x35RWvscS7ga0n+OXP0oZkvxaoCshcNvt8xp1CexGY2ymMNsl8JSaiokPIhGMbAmdVad4kdCo0YfgjaMin6k5BnPK1TcbX1XjwOfmxYVxne7OB4wSIbRPSzX1h5Fcy5Y31J7FuamXTLNCXP9I6N98LMU/cGl3k4+CvTDeWYYOe92/AO/UvEY6/s2Ug5UnkJFAKNJuAvNyfQangZiUmswFIRR5HZS/Bs6EULwS9y3S+seS6VuskwHE1OGhx0bzoKLgTWjaLT3WrAePGn2IPPdfGVtV8XyOgoPK1sidRAsmvaHMY944JfxjS9jIQJrg/4WWy6OA+5f5w2h519zzOpSJj34kmSR+X/F9X/3TwOm1mjXbCUxJjUA= X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Aug 2017 03:55:07.2005 (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: DM2PR0301MB0911 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org QEIC was supported on PowerPC, and dependent on PPC, Now it is supported on other platforms, so remove PPCisms. Signed-off-by: Zhao Qiang --- arch/powerpc/platforms/83xx/km83xx.c | 1 - arch/powerpc/platforms/83xx/misc.c | 1 - arch/powerpc/platforms/83xx/mpc832x_mds.c | 1 - arch/powerpc/platforms/83xx/mpc832x_rdb.c | 1 - arch/powerpc/platforms/83xx/mpc836x_mds.c | 1 - arch/powerpc/platforms/83xx/mpc836x_rdk.c | 1 - arch/powerpc/platforms/85xx/corenet_generic.c | 1 - arch/powerpc/platforms/85xx/mpc85xx_mds.c | 1 - arch/powerpc/platforms/85xx/mpc85xx_rdb.c | 1 - arch/powerpc/platforms/85xx/twr_p102x.c | 1 - drivers/irqchip/irq-qeic.c | 219 +++++++++++++------------- include/soc/fsl/qe/qe_ic.h | 132 ---------------- 12 files changed, 111 insertions(+), 250 deletions(-) delete mode 100644 include/soc/fsl/qe/qe_ic.h diff --git a/arch/powerpc/platforms/83xx/km83xx.c b/arch/powerpc/platforms/83xx/km83xx.c index d8642a4..b1cef0a 100644 --- a/arch/powerpc/platforms/83xx/km83xx.c +++ b/arch/powerpc/platforms/83xx/km83xx.c @@ -38,7 +38,6 @@ #include #include #include -#include #include "mpc83xx.h" diff --git a/arch/powerpc/platforms/83xx/misc.c b/arch/powerpc/platforms/83xx/misc.c index c09a135..07a0e61 100644 --- a/arch/powerpc/platforms/83xx/misc.c +++ b/arch/powerpc/platforms/83xx/misc.c @@ -17,7 +17,6 @@ #include #include #include -#include #include #include diff --git a/arch/powerpc/platforms/83xx/mpc832x_mds.c b/arch/powerpc/platforms/83xx/mpc832x_mds.c index bb7b25a..a1cadf4 100644 --- a/arch/powerpc/platforms/83xx/mpc832x_mds.c +++ b/arch/powerpc/platforms/83xx/mpc832x_mds.c @@ -37,7 +37,6 @@ #include #include #include -#include #include "mpc83xx.h" diff --git a/arch/powerpc/platforms/83xx/mpc832x_rdb.c b/arch/powerpc/platforms/83xx/mpc832x_rdb.c index d7c9b18..6c66527 100644 --- a/arch/powerpc/platforms/83xx/mpc832x_rdb.c +++ b/arch/powerpc/platforms/83xx/mpc832x_rdb.c @@ -26,7 +26,6 @@ #include #include #include -#include #include #include diff --git a/arch/powerpc/platforms/83xx/mpc836x_mds.c b/arch/powerpc/platforms/83xx/mpc836x_mds.c index 4fc3051..9234d63 100644 --- a/arch/powerpc/platforms/83xx/mpc836x_mds.c +++ b/arch/powerpc/platforms/83xx/mpc836x_mds.c @@ -45,7 +45,6 @@ #include #include #include -#include #include "mpc83xx.h" diff --git a/arch/powerpc/platforms/83xx/mpc836x_rdk.c b/arch/powerpc/platforms/83xx/mpc836x_rdk.c index 93f024f..82fa344 100644 --- a/arch/powerpc/platforms/83xx/mpc836x_rdk.c +++ b/arch/powerpc/platforms/83xx/mpc836x_rdk.c @@ -21,7 +21,6 @@ #include #include #include -#include #include #include diff --git a/arch/powerpc/platforms/85xx/corenet_generic.c b/arch/powerpc/platforms/85xx/corenet_generic.c index 1b385ac..9ca27b1 100644 --- a/arch/powerpc/platforms/85xx/corenet_generic.c +++ b/arch/powerpc/platforms/85xx/corenet_generic.c @@ -27,7 +27,6 @@ #include #include #include -#include #include #include diff --git a/arch/powerpc/platforms/85xx/mpc85xx_mds.c b/arch/powerpc/platforms/85xx/mpc85xx_mds.c index 06f34a9..8102e5f 100644 --- a/arch/powerpc/platforms/85xx/mpc85xx_mds.c +++ b/arch/powerpc/platforms/85xx/mpc85xx_mds.c @@ -49,7 +49,6 @@ #include #include #include -#include #include #include #include "smp.h" diff --git a/arch/powerpc/platforms/85xx/mpc85xx_rdb.c b/arch/powerpc/platforms/85xx/mpc85xx_rdb.c index 000d385..f806b6b 100644 --- a/arch/powerpc/platforms/85xx/mpc85xx_rdb.c +++ b/arch/powerpc/platforms/85xx/mpc85xx_rdb.c @@ -27,7 +27,6 @@ #include #include #include -#include #include #include diff --git a/arch/powerpc/platforms/85xx/twr_p102x.c b/arch/powerpc/platforms/85xx/twr_p102x.c index 6be9b33..4f620f2 100644 --- a/arch/powerpc/platforms/85xx/twr_p102x.c +++ b/arch/powerpc/platforms/85xx/twr_p102x.c @@ -23,7 +23,6 @@ #include #include #include -#include #include #include diff --git a/drivers/irqchip/irq-qeic.c b/drivers/irqchip/irq-qeic.c index a2d8084..21e3b43 100644 --- a/drivers/irqchip/irq-qeic.c +++ b/drivers/irqchip/irq-qeic.c @@ -18,8 +18,11 @@ #include #include #include +#include #include #include +#include +#include #include #include #include @@ -27,9 +30,8 @@ #include #include #include -#include +#include #include -#include #define NR_QE_IC_INTS 64 @@ -87,6 +89,43 @@ #define SIGNAL_HIGH 2 #define SIGNAL_LOW 0 +#define NUM_OF_QE_IC_GROUPS 6 + +/* Flags when we init the QE IC */ +#define QE_IC_SPREADMODE_GRP_W 0x00000001 +#define QE_IC_SPREADMODE_GRP_X 0x00000002 +#define QE_IC_SPREADMODE_GRP_Y 0x00000004 +#define QE_IC_SPREADMODE_GRP_Z 0x00000008 +#define QE_IC_SPREADMODE_GRP_RISCA 0x00000010 +#define QE_IC_SPREADMODE_GRP_RISCB 0x00000020 + +#define QE_IC_LOW_SIGNAL 0x00000100 +#define QE_IC_HIGH_SIGNAL 0x00000200 + +#define QE_IC_GRP_W_PRI0_DEST_SIGNAL_HIGH 0x00001000 +#define QE_IC_GRP_W_PRI1_DEST_SIGNAL_HIGH 0x00002000 +#define QE_IC_GRP_X_PRI0_DEST_SIGNAL_HIGH 0x00004000 +#define QE_IC_GRP_X_PRI1_DEST_SIGNAL_HIGH 0x00008000 +#define QE_IC_GRP_Y_PRI0_DEST_SIGNAL_HIGH 0x00010000 +#define QE_IC_GRP_Y_PRI1_DEST_SIGNAL_HIGH 0x00020000 +#define QE_IC_GRP_Z_PRI0_DEST_SIGNAL_HIGH 0x00040000 +#define QE_IC_GRP_Z_PRI1_DEST_SIGNAL_HIGH 0x00080000 +#define QE_IC_GRP_RISCA_PRI0_DEST_SIGNAL_HIGH 0x00100000 +#define QE_IC_GRP_RISCA_PRI1_DEST_SIGNAL_HIGH 0x00200000 +#define QE_IC_GRP_RISCB_PRI0_DEST_SIGNAL_HIGH 0x00400000 +#define QE_IC_GRP_RISCB_PRI1_DEST_SIGNAL_HIGH 0x00800000 +#define QE_IC_GRP_W_DEST_SIGNAL_SHIFT (12) + +/* QE interrupt sources groups */ +enum qe_ic_grp_id { + QE_IC_GRP_W = 0, /* QE interrupt controller group W */ + QE_IC_GRP_X, /* QE interrupt controller group X */ + QE_IC_GRP_Y, /* QE interrupt controller group Y */ + QE_IC_GRP_Z, /* QE interrupt controller group Z */ + QE_IC_GRP_RISCA, /* QE interrupt controller RISC group A */ + QE_IC_GRP_RISCB /* QE interrupt controller RISC group B */ +}; + struct qe_ic { /* Control registers offset */ u32 __iomem *regs; @@ -265,15 +304,15 @@ static struct qe_ic_info qe_ic_info[] = { }, }; -static inline u32 qe_ic_read(volatile __be32 __iomem * base, unsigned int reg) +static inline u32 qe_ic_read(__be32 __iomem *base, unsigned int reg) { - return in_be32(base + (reg >> 2)); + return ioread32be(base + (reg >> 2)); } -static inline void qe_ic_write(volatile __be32 __iomem * base, unsigned int reg, +static inline void qe_ic_write(__be32 __iomem *base, unsigned int reg, u32 value) { - out_be32(base + (reg >> 2), value); + iowrite32be(value, base + (reg >> 2)); } static inline struct qe_ic *qe_ic_from_irq(unsigned int virq) @@ -375,8 +414,8 @@ static const struct irq_domain_ops qe_ic_host_ops = { .xlate = irq_domain_xlate_onetwocell, }; -/* Return an interrupt vector or NO_IRQ if no interrupt is pending. */ -unsigned int qe_ic_get_low_irq(struct qe_ic *qe_ic) +/* Return an interrupt vector or 0 if no interrupt is pending. */ +static unsigned int qe_ic_get_low_irq(struct qe_ic *qe_ic) { int irq; @@ -386,13 +425,13 @@ unsigned int qe_ic_get_low_irq(struct qe_ic *qe_ic) irq = qe_ic_read(qe_ic->regs, QEIC_CIVEC) >> 26; if (irq == 0) - return NO_IRQ; + return 0; return irq_linear_revmap(qe_ic->irqhost, irq); } -/* Return an interrupt vector or NO_IRQ if no interrupt is pending. */ -unsigned int qe_ic_get_high_irq(struct qe_ic *qe_ic) +/* Return an interrupt vector or 0 if no interrupt is pending. */ +static unsigned int qe_ic_get_high_irq(struct qe_ic *qe_ic) { int irq; @@ -402,11 +441,69 @@ unsigned int qe_ic_get_high_irq(struct qe_ic *qe_ic) irq = qe_ic_read(qe_ic->regs, QEIC_CHIVEC) >> 26; if (irq == 0) - return NO_IRQ; + return 0; return irq_linear_revmap(qe_ic->irqhost, irq); } +static inline void qe_ic_cascade_low_ipic(struct irq_desc *desc) +{ + struct qe_ic *qe_ic = irq_desc_get_handler_data(desc); + unsigned int cascade_irq = qe_ic_get_low_irq(qe_ic); + + if (cascade_irq != 0) + generic_handle_irq(cascade_irq); +} + +static inline void qe_ic_cascade_high_ipic(struct irq_desc *desc) +{ + struct qe_ic *qe_ic = irq_desc_get_handler_data(desc); + unsigned int cascade_irq = qe_ic_get_high_irq(qe_ic); + + if (cascade_irq != 0) + generic_handle_irq(cascade_irq); +} + +static inline void qe_ic_cascade_low_mpic(struct irq_desc *desc) +{ + struct qe_ic *qe_ic = irq_desc_get_handler_data(desc); + unsigned int cascade_irq = qe_ic_get_low_irq(qe_ic); + struct irq_chip *chip = irq_desc_get_chip(desc); + + if (cascade_irq != 0) + generic_handle_irq(cascade_irq); + + chip->irq_eoi(&desc->irq_data); +} + +static inline void qe_ic_cascade_high_mpic(struct irq_desc *desc) +{ + struct qe_ic *qe_ic = irq_desc_get_handler_data(desc); + unsigned int cascade_irq = qe_ic_get_high_irq(qe_ic); + struct irq_chip *chip = irq_desc_get_chip(desc); + + if (cascade_irq != 0) + generic_handle_irq(cascade_irq); + + chip->irq_eoi(&desc->irq_data); +} + +static inline void qe_ic_cascade_muxed_mpic(struct irq_desc *desc) +{ + struct qe_ic *qe_ic = irq_desc_get_handler_data(desc); + unsigned int cascade_irq; + struct irq_chip *chip = irq_desc_get_chip(desc); + + cascade_irq = qe_ic_get_high_irq(qe_ic); + if (cascade_irq == 0) + cascade_irq = qe_ic_get_low_irq(qe_ic); + + if (cascade_irq != 0) + generic_handle_irq(cascade_irq); + + chip->irq_eoi(&desc->irq_data); +} + static int __init qe_ic_init(struct device_node *node, unsigned int flags) { struct qe_ic *qe_ic; @@ -443,7 +540,7 @@ static int __init qe_ic_init(struct device_node *node, unsigned int flags) qe_ic->virq_high = irq_of_parse_and_map(node, 0); qe_ic->virq_low = irq_of_parse_and_map(node, 1); - if (qe_ic->virq_low == NO_IRQ) { + if (qe_ic->virq_low == 0) { pr_err("Failed to map QE_IC low IRQ\n"); ret = -ENOMEM; goto err_domain_remove; @@ -475,7 +572,7 @@ static int __init qe_ic_init(struct device_node *node, unsigned int flags) irq_set_handler_data(qe_ic->virq_low, qe_ic); irq_set_chained_handler(qe_ic->virq_low, qe_ic_cascade_low_mpic); - if (qe_ic->virq_high != NO_IRQ && + if (qe_ic->virq_high != 0 && 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, @@ -493,100 +590,6 @@ static int __init qe_ic_init(struct device_node *node, unsigned int flags) return ret; } -void qe_ic_set_highest_priority(unsigned int virq, int high) -{ - struct qe_ic *qe_ic = qe_ic_from_irq(virq); - unsigned int src = virq_to_hw(virq); - u32 temp = 0; - - temp = qe_ic_read(qe_ic->regs, QEIC_CICR); - - temp &= ~CICR_HP_MASK; - temp |= src << CICR_HP_SHIFT; - - temp &= ~CICR_HPIT_MASK; - temp |= (high ? SIGNAL_HIGH : SIGNAL_LOW) << CICR_HPIT_SHIFT; - - qe_ic_write(qe_ic->regs, QEIC_CICR, temp); -} - -/* Set Priority level within its group, from 1 to 8 */ -int qe_ic_set_priority(unsigned int virq, unsigned int priority) -{ - struct qe_ic *qe_ic = qe_ic_from_irq(virq); - unsigned int src = virq_to_hw(virq); - u32 temp; - - if (priority > 8 || priority == 0) - return -EINVAL; - if (WARN_ONCE(src >= ARRAY_SIZE(qe_ic_info), - "%s: Invalid hw irq number for QEIC\n", __func__)) - return -EINVAL; - if (qe_ic_info[src].pri_reg == 0) - return -EINVAL; - - temp = qe_ic_read(qe_ic->regs, qe_ic_info[src].pri_reg); - - if (priority < 4) { - temp &= ~(0x7 << (32 - priority * 3)); - temp |= qe_ic_info[src].pri_code << (32 - priority * 3); - } else { - temp &= ~(0x7 << (24 - priority * 3)); - temp |= qe_ic_info[src].pri_code << (24 - priority * 3); - } - - qe_ic_write(qe_ic->regs, qe_ic_info[src].pri_reg, temp); - - return 0; -} - -/* Set a QE priority to use high irq, only priority 1~2 can use high irq */ -int qe_ic_set_high_priority(unsigned int virq, unsigned int priority, int high) -{ - struct qe_ic *qe_ic = qe_ic_from_irq(virq); - unsigned int src = virq_to_hw(virq); - u32 temp, control_reg = QEIC_CICNR, shift = 0; - - if (priority > 2 || priority == 0) - return -EINVAL; - if (WARN_ONCE(src >= ARRAY_SIZE(qe_ic_info), - "%s: Invalid hw irq number for QEIC\n", __func__)) - return -EINVAL; - - switch (qe_ic_info[src].pri_reg) { - case QEIC_CIPZCC: - shift = CICNR_ZCC1T_SHIFT; - break; - case QEIC_CIPWCC: - shift = CICNR_WCC1T_SHIFT; - break; - case QEIC_CIPYCC: - shift = CICNR_YCC1T_SHIFT; - break; - case QEIC_CIPXCC: - shift = CICNR_XCC1T_SHIFT; - break; - case QEIC_CIPRTA: - shift = CRICR_RTA1T_SHIFT; - control_reg = QEIC_CRICR; - break; - case QEIC_CIPRTB: - shift = CRICR_RTB1T_SHIFT; - control_reg = QEIC_CRICR; - break; - default: - return -EINVAL; - } - - shift += (2 - priority) * 2; - temp = qe_ic_read(qe_ic->regs, control_reg); - temp &= ~(SIGNAL_MASK << shift); - temp |= (high ? SIGNAL_HIGH : SIGNAL_LOW) << shift; - qe_ic_write(qe_ic->regs, control_reg, temp); - - return 0; -} - static int __init init_qe_ic(struct device_node *node, struct device_node *parent) { diff --git a/include/soc/fsl/qe/qe_ic.h b/include/soc/fsl/qe/qe_ic.h deleted file mode 100644 index 6113699..0000000 --- a/include/soc/fsl/qe/qe_ic.h +++ /dev/null @@ -1,132 +0,0 @@ -/* - * Copyright (C) 2006 Freescale Semiconductor, Inc. All rights reserved. - * - * Authors: Shlomi Gridish - * Li Yang - * - * Description: - * QE IC external definitions and structure. - * - * This program is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License as published by the - * Free Software Foundation; either version 2 of the License, or (at your - * option) any later version. - */ -#ifndef _ASM_POWERPC_QE_IC_H -#define _ASM_POWERPC_QE_IC_H - -#include - -struct device_node; -struct qe_ic; - -#define NUM_OF_QE_IC_GROUPS 6 - -/* Flags when we init the QE IC */ -#define QE_IC_SPREADMODE_GRP_W 0x00000001 -#define QE_IC_SPREADMODE_GRP_X 0x00000002 -#define QE_IC_SPREADMODE_GRP_Y 0x00000004 -#define QE_IC_SPREADMODE_GRP_Z 0x00000008 -#define QE_IC_SPREADMODE_GRP_RISCA 0x00000010 -#define QE_IC_SPREADMODE_GRP_RISCB 0x00000020 - -#define QE_IC_LOW_SIGNAL 0x00000100 -#define QE_IC_HIGH_SIGNAL 0x00000200 - -#define QE_IC_GRP_W_PRI0_DEST_SIGNAL_HIGH 0x00001000 -#define QE_IC_GRP_W_PRI1_DEST_SIGNAL_HIGH 0x00002000 -#define QE_IC_GRP_X_PRI0_DEST_SIGNAL_HIGH 0x00004000 -#define QE_IC_GRP_X_PRI1_DEST_SIGNAL_HIGH 0x00008000 -#define QE_IC_GRP_Y_PRI0_DEST_SIGNAL_HIGH 0x00010000 -#define QE_IC_GRP_Y_PRI1_DEST_SIGNAL_HIGH 0x00020000 -#define QE_IC_GRP_Z_PRI0_DEST_SIGNAL_HIGH 0x00040000 -#define QE_IC_GRP_Z_PRI1_DEST_SIGNAL_HIGH 0x00080000 -#define QE_IC_GRP_RISCA_PRI0_DEST_SIGNAL_HIGH 0x00100000 -#define QE_IC_GRP_RISCA_PRI1_DEST_SIGNAL_HIGH 0x00200000 -#define QE_IC_GRP_RISCB_PRI0_DEST_SIGNAL_HIGH 0x00400000 -#define QE_IC_GRP_RISCB_PRI1_DEST_SIGNAL_HIGH 0x00800000 -#define QE_IC_GRP_W_DEST_SIGNAL_SHIFT (12) - -/* QE interrupt sources groups */ -enum qe_ic_grp_id { - QE_IC_GRP_W = 0, /* QE interrupt controller group W */ - QE_IC_GRP_X, /* QE interrupt controller group X */ - QE_IC_GRP_Y, /* QE interrupt controller group Y */ - QE_IC_GRP_Z, /* QE interrupt controller group Z */ - QE_IC_GRP_RISCA, /* QE interrupt controller RISC group A */ - QE_IC_GRP_RISCB /* QE interrupt controller RISC group B */ -}; - -#ifdef CONFIG_QUICC_ENGINE -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 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) -{ return 0; } -#endif /* CONFIG_QUICC_ENGINE */ - -void qe_ic_set_highest_priority(unsigned int virq, int high); -int qe_ic_set_priority(unsigned int virq, unsigned int priority); -int qe_ic_set_high_priority(unsigned int virq, unsigned int priority, int high); - -static inline void qe_ic_cascade_low_ipic(struct irq_desc *desc) -{ - struct qe_ic *qe_ic = irq_desc_get_handler_data(desc); - unsigned int cascade_irq = qe_ic_get_low_irq(qe_ic); - - if (cascade_irq != NO_IRQ) - generic_handle_irq(cascade_irq); -} - -static inline void qe_ic_cascade_high_ipic(struct irq_desc *desc) -{ - struct qe_ic *qe_ic = irq_desc_get_handler_data(desc); - unsigned int cascade_irq = qe_ic_get_high_irq(qe_ic); - - if (cascade_irq != NO_IRQ) - generic_handle_irq(cascade_irq); -} - -static inline void qe_ic_cascade_low_mpic(struct irq_desc *desc) -{ - struct qe_ic *qe_ic = irq_desc_get_handler_data(desc); - unsigned int cascade_irq = qe_ic_get_low_irq(qe_ic); - struct irq_chip *chip = irq_desc_get_chip(desc); - - if (cascade_irq != NO_IRQ) - generic_handle_irq(cascade_irq); - - chip->irq_eoi(&desc->irq_data); -} - -static inline void qe_ic_cascade_high_mpic(struct irq_desc *desc) -{ - struct qe_ic *qe_ic = irq_desc_get_handler_data(desc); - unsigned int cascade_irq = qe_ic_get_high_irq(qe_ic); - struct irq_chip *chip = irq_desc_get_chip(desc); - - if (cascade_irq != NO_IRQ) - generic_handle_irq(cascade_irq); - - chip->irq_eoi(&desc->irq_data); -} - -static inline void qe_ic_cascade_muxed_mpic(struct irq_desc *desc) -{ - struct qe_ic *qe_ic = irq_desc_get_handler_data(desc); - unsigned int cascade_irq; - struct irq_chip *chip = irq_desc_get_chip(desc); - - cascade_irq = qe_ic_get_high_irq(qe_ic); - if (cascade_irq == NO_IRQ) - cascade_irq = qe_ic_get_low_irq(qe_ic); - - if (cascade_irq != NO_IRQ) - generic_handle_irq(cascade_irq); - - chip->irq_eoi(&desc->irq_data); -} - -#endif /* _ASM_POWERPC_QE_IC_H */ -- 2.1.0.27.g96db324