get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

GET /api/patches/798474/?format=api
HTTP 200 OK
Allow: GET, PUT, PATCH, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 798474,
    "url": "http://patchwork.ozlabs.org/api/patches/798474/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/linuxppc-dev/patch/1502075236-24078-5-git-send-email-qiang.zhao@nxp.com/",
    "project": {
        "id": 2,
        "url": "http://patchwork.ozlabs.org/api/projects/2/?format=api",
        "name": "Linux PPC development",
        "link_name": "linuxppc-dev",
        "list_id": "linuxppc-dev.lists.ozlabs.org",
        "list_email": "linuxppc-dev@lists.ozlabs.org",
        "web_url": "https://github.com/linuxppc/wiki/wiki",
        "scm_url": "https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git",
        "webscm_url": "https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git/",
        "list_archive_url": "https://lore.kernel.org/linuxppc-dev/",
        "list_archive_url_format": "https://lore.kernel.org/linuxppc-dev/{}/",
        "commit_url_format": "https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git/commit/?id={}"
    },
    "msgid": "<1502075236-24078-5-git-send-email-qiang.zhao@nxp.com>",
    "list_archive_url": "https://lore.kernel.org/linuxppc-dev/1502075236-24078-5-git-send-email-qiang.zhao@nxp.com/",
    "date": "2017-08-07T03:07:16",
    "name": "[v10,4/4] irqchip/qeic: remove PPCisms for QEIC",
    "commit_ref": null,
    "pull_url": null,
    "state": "not-applicable",
    "archived": false,
    "hash": "c667d16c42272b662272f40f621b8dbc83f75b3a",
    "submitter": {
        "id": 68014,
        "url": "http://patchwork.ozlabs.org/api/people/68014/?format=api",
        "name": "Qiang Zhao",
        "email": "qiang.zhao@nxp.com"
    },
    "delegate": {
        "id": 1707,
        "url": "http://patchwork.ozlabs.org/api/users/1707/?format=api",
        "username": "scottwood",
        "first_name": "Scott",
        "last_name": "Wood",
        "email": "scottwood@freescale.com"
    },
    "mbox": "http://patchwork.ozlabs.org/project/linuxppc-dev/patch/1502075236-24078-5-git-send-email-qiang.zhao@nxp.com/mbox/",
    "series": [],
    "comments": "http://patchwork.ozlabs.org/api/patches/798474/comments/",
    "check": "pending",
    "checks": "http://patchwork.ozlabs.org/api/patches/798474/checks/",
    "tags": {},
    "related": [],
    "headers": {
        "Return-Path": "<linuxppc-dev-bounces+patchwork-incoming=ozlabs.org@lists.ozlabs.org>",
        "X-Original-To": [
            "patchwork-incoming@ozlabs.org",
            "linuxppc-dev@lists.ozlabs.org"
        ],
        "Delivered-To": [
            "patchwork-incoming@ozlabs.org",
            "linuxppc-dev@lists.ozlabs.org"
        ],
        "Received": [
            "from lists.ozlabs.org (lists.ozlabs.org [IPv6:2401:3900:2:1::3])\n\t(using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits))\n\t(No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3xQjjl49Ryz9s7g\n\tfor <patchwork-incoming@ozlabs.org>;\n\tMon,  7 Aug 2017 13:31:07 +1000 (AEST)",
            "from lists.ozlabs.org (lists.ozlabs.org [IPv6:2401:3900:2:1::3])\n\tby lists.ozlabs.org (Postfix) with ESMTP id 3xQjjl32Y5zDr47\n\tfor <patchwork-incoming@ozlabs.org>;\n\tMon,  7 Aug 2017 13:31:07 +1000 (AEST)",
            "from NAM03-DM3-obe.outbound.protection.outlook.com\n\t(mail-dm3nam03on0050.outbound.protection.outlook.com [104.47.41.50])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits))\n\t(No client certificate requested)\n\tby lists.ozlabs.org (Postfix) with ESMTPS id 3xQjZ60FX0zDqmW\n\tfor <linuxppc-dev@lists.ozlabs.org>;\n\tMon,  7 Aug 2017 13:24:29 +1000 (AEST)",
            "from MWHPR03CA0017.namprd03.prod.outlook.com (10.175.133.155) by\n\tBN3PR0301MB0900.namprd03.prod.outlook.com (10.160.156.142) with\n\tMicrosoft SMTP Server (version=TLS1_2,\n\tcipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1320.16;\n\tMon, 7 Aug 2017 03:24:25 +0000",
            "from BL2FFO11FD043.protection.gbl (2a01:111:f400:7c09::186) by\n\tMWHPR03CA0017.outlook.office365.com (2603:10b6:300:117::27) with\n\tMicrosoft SMTP Server (version=TLS1_2,\n\tcipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1282.10\n\tvia Frontend Transport; Mon, 7 Aug 2017 03:24:24 +0000",
            "from tx30smr01.am.freescale.net (192.88.168.50) by\n\tBL2FFO11FD043.mail.protection.outlook.com (10.173.161.139) with\n\tMicrosoft\n\tSMTP Server (version=TLS1_0, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id\n\t15.1.1282.16 via Frontend Transport; Mon, 7 Aug 2017 03:24:23 +0000",
            "from titan.ap.freescale.net ([10.192.208.233])\n\tby tx30smr01.am.freescale.net (8.14.3/8.14.0) with ESMTP id\n\tv773NpO8014527; Sun, 6 Aug 2017 20:24:21 -0700"
        ],
        "Authentication-Results": "spf=fail (sender IP is 192.88.168.50)\n\tsmtp.mailfrom=nxp.com; nxp.com; dkim=none (message not signed)\n\theader.d=none;nxp.com; dmarc=fail action=none header.from=nxp.com;",
        "Received-SPF": "Fail (protection.outlook.com: domain of nxp.com does not\n\tdesignate 192.88.168.50 as permitted sender)\n\treceiver=protection.outlook.com; \n\tclient-ip=192.88.168.50; helo=tx30smr01.am.freescale.net;",
        "From": "Zhao Qiang <qiang.zhao@nxp.com>",
        "To": "<tglx@linutronix.de>",
        "Subject": "[PATCH v10 4/4] irqchip/qeic: remove PPCisms for QEIC",
        "Date": "Mon, 7 Aug 2017 11:07:16 +0800",
        "Message-ID": "<1502075236-24078-5-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": "131465498641330526;\n\t(91ab9b29-cfa4-454e-5278-08d120cd25b8); ()",
        "X-Forefront-Antispam-Report": "CIP:192.88.168.50; IPV:NLI; CTRY:US; EFV:NLI;\n\tSFV:NSPM;\n\tSFS:(10009020)(6009001)(336005)(39450400003)(39860400002)(39410400002)(39850400002)(39840400002)(39400400002)(39380400002)(2980300002)(1109001)(1110001)(339900001)(50944005)(199003)(189002)(5660300001)(85426001)(575784001)(86362001)(8656003)(47776003)(104016004)(5003940100001)(33646002)(110136004)(38730400002)(54906002)(2906002)(68736007)(36756003)(4326008)(106466001)(105606002)(2351001)(48376002)(50986999)(77096006)(76176999)(498600001)(50466002)(626005)(97736004)(6666003)(305945005)(53936002)(81156014)(50226002)(2950100002)(6916009)(81166006)(189998001)(356003)(8936002)(8676002)(2004002);\n\tDIR:OUT; SFP:1101; SCL:1; SRVR:BN3PR0301MB0900;\n\tH:tx30smr01.am.freescale.net; \n\tFPR:; SPF:Fail; PTR:InfoDomainNonexistent; A:1; MX:1; LANG:en; ",
        "X-Microsoft-Exchange-Diagnostics": [
            "=?us-ascii?Q?1; BL2FFO11FD043;\n\t1:Cc/JGigcraiasErEPTN7eOIpN3kBBUbBXXEkqB386P?=\n\t=?us-ascii?Q?eMCpreeJN8iPPXyiSIQkJ+BGXLS5y8h////BZfyJOIWzX6MbgAYIRNBgkM47?=\n\t=?us-ascii?Q?PtCMAOEQFmnOspWcsWJqhh8NUfpWxYysii+83woCJOR4puLdABsKcYthR+AC?=\n\t=?us-ascii?Q?r0dAPiNqsmSjjkZKwGA7gQwKyD0jP5eOynT+zxJfNUvRx7RB4eDBdQ25FBo4?=\n\t=?us-ascii?Q?jcKMFYY7sh4IQ4BQgJJccPEu+zX322wnTprlr1w4wFZmaGN4Uz4hKeTxTNd8?=\n\t=?us-ascii?Q?Ys9ECBv/qXEODLGKTQSwVEPMbEqvtx5Hi4ZL4lwyqiO3HXGXH9WGBuE4rP2I?=\n\t=?us-ascii?Q?h8FN9ls72YAqNozBiFcIOVeinNEf10BCRxrIxDi34zvQafrAxiisox2wes6F?=\n\t=?us-ascii?Q?7bL5jP3DXYDr+wYcq3jjf/sa8e2ZcalMAKVMJ6i1Hg0ZtMVhmy/3f30MNQDC?=\n\t=?us-ascii?Q?eh44uSjqyz0ClUdU0KfyZxLSwJvM1+q42iMT7NEdLhLgSNK+Lrd0yFCXwbtL?=\n\t=?us-ascii?Q?xJNZws6zLrehAiCv/wtb2dkE2UAHnj0hMx3KxegEi6Vd4jT+MU9IiGkp4t9y?=\n\t=?us-ascii?Q?jfScYHDdiezQoJmKM5YP3z4lq1wOYCI+KIfJvv9wgr8URpnCKTUIkTE7Vnp6?=\n\t=?us-ascii?Q?4lV/iNE+BUIAlZ3eUJr5XjE0KdsOanxO63+rtUKxv3Pg5MnFiw4AQfBa6DSo?=\n\t=?us-ascii?Q?XZoNQgy3efZUWuebbYtv4X/OxvQIowUgdorCAXp+CeHpMniYNKd/TiIMmOTQ?=\n\t=?us-ascii?Q?S6VBx6xyTtClPlaKVcUK2khifh65YhtdJPTGQfP3PYcaFVmTnWs7uJJwYFBw?=\n\t=?us-ascii?Q?5N19yREr/Ed9rYBMhGwvjTzOL828mEPyrrDx0yUecndIO/rFozsJS2U6dnjk?=\n\t=?us-ascii?Q?ouVqukn+gNMY7I0153/84GrBvrURN5N0L0PQbM2iZpuzoJSAtCINi/+Nd/jL?=\n\t=?us-ascii?Q?k/aAv/7MyZb5flOWWGVjpgmBeCMDSQ9aIVsGgYeA=3D=3D?=",
            "1; BN3PR0301MB0900;\n\t3:GKEbdnbWEBK0ITX/1gLwHjxQUqXfMzG5JoUDGFq70WNeHRQGQixfF3u7ZwnCEqxWxS0ieISVdhIONJn+79B7Qsf16Z5RDDHGgiOVFYkqb1BGQlwWyJY4jqxpI4pWRr2fnhAYs9zkQ8RPLdsT/i1LL8dYD3c3WDt6OIK0JIh6LS/FXLyaqzX1mb4ocZ6Md0y+IZeBxoS/30e9/mRABZ0lLgW5XS/aypu2xFNfuD8kECpYFwv+Kat5x/e+QK3QSwMUr4MBAuE5KAvTnpeKtICJ4Pg7sSFOzbmy3jEWQKzP/La37RBIb02BNw0XbeNzQJujQE6cLgAGcyeOOS9PCvAhqgxbWh+ph9I0GqP8GSunmFk=;\n\t25:3E8/Y+y9OTOao6Q34hi+hZeANJo1fkMv3DzO0Sb+8RyB/vmsbdip8Tf+P+T0eud14gzk6oIHOj2PJ8EC0S60t1YoZkLAg+XXz+yYqnPxiHAQ7WZA9nL4Z2XEzGlHJ+vqicasL+8zCSYa+n/RU8DpSkB0+xT4qCLBW4+JfcdxI+BP8dnI7Wmjjxoq1btiqsORquNpTR8qumO7k02qFjFGExGct+fKzQNeTvhTLYDlcFeh7yBWPSWFyOiUlt2QXPHQ/uNzkYts7hcZwpWfVC45DgQE4di74F4xMc66iu4mnnnW8aoB1FCOhEJ/8Lf/yB7soqCZjBmzpmHPHyhRSCcIbw==",
            "1; BN3PR0301MB0900;\n\t31:nyMNshFyGTzJhQflrCa8eNyL3KBImOLpgFXR/iocKompVFvPHhFTbMqzyf5rRb0BienkETjgqr34qW249q64LkxVb2XOb6zqcLwifRXKsPDAsiwd11zM0aJm0CY2v5cXGsD46k87Ox3FQ5FUBj0LW6LZEWcrIvFIJ3Y/VuN0BGAPYiZVaiOcdWBF+SLyHKx/09PuOERsyScjmnAO0KKUUnauuhOQcXziwjN9ugmplM0=;\n\t4:48VQOub9xQB08W/vOtuzZ/mK+ZaXrEZJQf6WZWMAfN7GtbwjrsbqxMu8p7bYUlLwV4Mk++ZY49kTV9+lrnepVk2nejmaj72ztkjZp6vO6guoHMjIqdBl2fPQpCE4sfoKlxfM7Ajpd+zK7X2ehsHO2RGo77jYz8yunDYGcccVs19opAojIPYA49oF/M5fEoOVG6nje8geME9tULbEoClrWhe8UBZZlH+85pCPZKDxICZqwLvUYmG3Npvt1aK951TCGLiXds2o/85UfU/IWeX8XkHxfOfr0Zy/SNxUloZWXtjbqJ6vglz7GiTCVZo6uPmhNOS2PPo33/4RQ1PvG/34oA==",
            "=?us-ascii?Q?1; BN3PR0301MB0900;\n\t23:igaKLvRinLGtcYF8RyKyudBb3jN9Z4sBVsL+CYt?=\n\t=?us-ascii?Q?bnD7h10nyOFmhX+mvyHHp9QIr+2xTyX9iu4he4nYFPqtkfybls0/tPsYX5Mr?=\n\t=?us-ascii?Q?NePzHUFMJPB+5B11IaR/Ku76cQ3QU4iXGoFKtx+PBtSU3H9piXaY9NTxp01f?=\n\t=?us-ascii?Q?4DGAtjshYdLLDDm1GBLMU8lDrHZa6yPd/8R06Kw2ZNVXu5zuznwW41R6B6v7?=\n\t=?us-ascii?Q?8VFxqkz0l9XIpJqGWyS9ARDP9+XweO4c3CfuwoP5XQn07/mPuJmXVsqkTeKL?=\n\t=?us-ascii?Q?kJeT5dwXwWQO77cxEVMWcb7k4vY4D5mfMxR/MQd02TlhIyuP+0KkT1M4Py7O?=\n\t=?us-ascii?Q?/iP6i5MNr3mzio+jn7jKXWqeaZ3vX+qFhK2jGQ3caV4fyO7SHvaSC2XdVrbQ?=\n\t=?us-ascii?Q?4k/J0L2oXpOAthg8MHOZ7JQFIvQ2lvBW+nH9cdZ/ddc8GmC0YBZAuBy85eJV?=\n\t=?us-ascii?Q?mumakNhS0cf5fB2+RbsmIit5856URa1dIoFWAJVQ8JI6RhdvJcEMtoG9Papx?=\n\t=?us-ascii?Q?IdOGJA0gEeysWlwHHb28k4VjEmoBaQlL00cjMdVK+dP5x0HDtLZUK9XXxVvR?=\n\t=?us-ascii?Q?fmvr/vnlxOSeHXr6XQg+DW76929Ie0L5jNQkZjR3gkZr8a+Pr6EPCxFUTx3G?=\n\t=?us-ascii?Q?vJk0Iryot7Ico6sJz30lii1MPzaT93qPHBitby/sS8OGGLWbazSsKB9Mv+3I?=\n\t=?us-ascii?Q?Os28JIsMggxgCtzoksTufqBdFI4J+w1OiJ9x1y9fXm2Ky8UXLZq8+RZLt4kX?=\n\t=?us-ascii?Q?hIP99mbrAudYE00DHIO5bnAJPV0YTFlMP+IUXCZ8mw+U1T4inGFKCen+Fm97?=\n\t=?us-ascii?Q?DBuQw8QdMpgdtW3OkA9DBbefzSKrJbXP/gIrtNSTi+PV3cyUmP402jzCfpTH?=\n\t=?us-ascii?Q?9brPbQP22m+fsJSUQyV9ZqneSjev4+SH53EhxIpJO+deCHhEuh8XSm2j9GqC?=\n\t=?us-ascii?Q?NTiCwS7ToBU8rnmdewSpCwT//nWNHAxvnGf0HJHNdc6xew6tAEUfj+2lm8X0?=\n\t=?us-ascii?Q?QPrKLvC+kFji+ZiPSxM31huyJ1RxAnxcZfynEwsnHoTa3OQOsORLbsTEqeDh?=\n\t=?us-ascii?Q?h+GkuzAGuMiVOwCMipFIPAK4Ma8HMgSRHm+nIpunE5tLMMB/ebNu7LXBpMqU?=\n\t=?us-ascii?Q?1yt22uUBGyn0/2Hf9aByUJB4d8JxYai28a+YoLgCE+TVIFMd0HSDh91PPVXJ?=\n\t=?us-ascii?Q?tYni2JtfMM13aoosT78B6VAtbZZPyaz5lKyCiUAneBoWxCcI4H58QrFHL7WE?=\n\t=?us-ascii?Q?pNAILmtMsxdsIMOuOi8BiieKfmGdYbWH3+Iep/9pY3UnrwdvArGIXB3qBGLR?=\n\t=?us-ascii?Q?BLP0nLCYRDMPowwJ388jBN2N2K8NLvExgHcN3liY7fBIkhkEL7epgR/7L31Z?=\n\t=?us-ascii?Q?MpsN/dA=3D=3D?=",
            "1; BN3PR0301MB0900;\n\t6:75Cw2kLqXNZSNZsP2AKN0dgwYu1cMCdcTpN4rDJG5fRw8VG/Jd+7jXPBD1HC9Hu7AOzw2pEXJk0zsqoCBbOLxCr+YOYWyVJScZDDdFp/J0tjdAarCcrbRInx580xIaK7j+nLO8TR/mvZi04B9FCCWbQGNDQqUBNLOrOObIG9skmc4c/HqmZv+4+FX6sChguD/LNGHWDzKFrbGb0ycqbTUlP/Eh7hPQRdVLZHkeVfWW/dgn9VPDez1BBk4u/UIX6izDmTkQOHmS8x76eIDvBSJ3bmmOY6XjccMAaZCsoDME/NtiuzK8GOMdkCPyJYDjR4r48tKvn2fH6xXihYGpk6xA==;\n\t5:ZIEEMgyWc68UXwEMqq4Rcqp+Ybl9livOmOOx4suVGVAg3sggGVO+gfsyNSUKPux9KIIq1FN3xxk5FPA/xYB0E/qW7qElwAHDAufh6ky99/6dZ4Y5QzWPPKOHPeFeOlbcOKv7kytMihkeHM7EETfF1g==;\n\t24:p0H96i0PF8ZMn1E0V/5igzazMDHg9FQe+ZiHc3lc7XbM9aA7dZW7Yj8QaQ2lIqVDfYfQDeyw+HNDERXyaqwpNbQS7z9fQmBSSElqvEfcjvU=;\n\t7:z33M5rsk1UfalYbhAbvAkdRv4puSUT97FolGU7tgf37B1VKX6HsbHDYDAaP3BSdAhVHuNmSTsrrLZ9XOAelaxIV+880cQ2XL/VsbtQwRrVj7FOPViN5AYTb8mCckibzx0rxUfeYHVROhwngrtGNJMg4cM5TU2kCsPCaZ/xxJgMl/iNlyLUqZ8r/pi7xOyG81K6Zw3ZIFyQHgRwmQP02fYtYn7MYLGlFC22pP1mbepFY="
        ],
        "MIME-Version": "1.0",
        "Content-Type": "text/plain",
        "X-MS-PublicTrafficType": "Email",
        "X-MS-Office365-Filtering-Correlation-Id": "a63c7bfa-bacb-4688-0ffd-08d4dd43cd31",
        "X-Microsoft-Antispam": "UriScan:; BCL:0; PCL:0;\n\tRULEID:(300000500095)(300135000095)(300000501095)(300135300095)(22001)(300000502095)(300135100095)(300000503095)(300135400095)(2017052603031)(201703131430075)(201703131517081)(300000504095)(300135200095)(300000505095)(300135600095)(300000506095)(300135500095);\n\tSRVR:BN3PR0301MB0900; ",
        "X-MS-TrafficTypeDiagnostic": "BN3PR0301MB0900:",
        "X-Exchange-Antispam-Report-Test": "UriScan:(185117386973197)(101931422205132); ",
        "X-Microsoft-Antispam-PRVS": "<BN3PR0301MB0900CF3B1294B2B8AA0581A691B50@BN3PR0301MB0900.namprd03.prod.outlook.com>",
        "X-Exchange-Antispam-Report-CFA-Test": "BCL:0; PCL:0;\n\tRULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6095135)(601004)(2401047)(13018025)(8121501046)(5005006)(13016025)(100000703101)(100105400095)(93006095)(93001095)(10201501046)(3002001)(6055026)(6096035)(20161123565025)(20161123556025)(20161123561025)(20161123563025)(20161123559100)(201703131430075)(201703131448075)(201703131433075)(201703161259150)(201703151042153)(100000704101)(100105200095)(100000705101)(100105500095);\n\tSRVR:BN3PR0301MB0900; BCL:0; PCL:0;\n\tRULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(400006)(100000804101)(100110200095)(100000805101)(100110500095);\n\tSRVR:BN3PR0301MB0900; ",
        "X-Forefront-PRVS": "0392679D18",
        "SpamDiagnosticOutput": "1:99",
        "SpamDiagnosticMetadata": "NSPM",
        "X-MS-Exchange-CrossTenant-OriginalArrivalTime": "07 Aug 2017 03:24:23.9614\n\t(UTC)",
        "X-MS-Exchange-CrossTenant-Id": "5afe0b00-7697-4969-b663-5eab37d5f47e",
        "X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp": "TenantId=5afe0b00-7697-4969-b663-5eab37d5f47e;\n\tIp=[192.88.168.50]; \n\tHelo=[tx30smr01.am.freescale.net]",
        "X-MS-Exchange-CrossTenant-FromEntityHeader": "HybridOnPrem",
        "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "BN3PR0301MB0900",
        "X-BeenThere": "linuxppc-dev@lists.ozlabs.org",
        "X-Mailman-Version": "2.1.23",
        "Precedence": "list",
        "List-Id": "Linux on PowerPC Developers Mail List\n\t<linuxppc-dev.lists.ozlabs.org>",
        "List-Unsubscribe": "<https://lists.ozlabs.org/options/linuxppc-dev>,\n\t<mailto:linuxppc-dev-request@lists.ozlabs.org?subject=unsubscribe>",
        "List-Archive": "<http://lists.ozlabs.org/pipermail/linuxppc-dev/>",
        "List-Post": "<mailto:linuxppc-dev@lists.ozlabs.org>",
        "List-Help": "<mailto:linuxppc-dev-request@lists.ozlabs.org?subject=help>",
        "List-Subscribe": "<https://lists.ozlabs.org/listinfo/linuxppc-dev>,\n\t<mailto:linuxppc-dev-request@lists.ozlabs.org?subject=subscribe>",
        "Cc": "oss@buserror.net, Zhao Qiang <qiang.zhao@nxp.com>,\n\tlinuxppc-dev@lists.ozlabs.org, xiaobo.xie@nxp.com,\n\tlinux-kernel@vger.kernel.org",
        "Errors-To": "linuxppc-dev-bounces+patchwork-incoming=ozlabs.org@lists.ozlabs.org",
        "Sender": "\"Linuxppc-dev\"\n\t<linuxppc-dev-bounces+patchwork-incoming=ozlabs.org@lists.ozlabs.org>"
    },
    "content": "QEIC was supported on PowerPC, and dependent on PPC,\nNow it is supported on other platforms, so remove PPCisms.\n\nSigned-off-by: Zhao Qiang <qiang.zhao@nxp.com>\n---\n arch/powerpc/platforms/83xx/km83xx.c          |   1 -\n arch/powerpc/platforms/83xx/misc.c            |   1 -\n arch/powerpc/platforms/83xx/mpc832x_mds.c     |   1 -\n arch/powerpc/platforms/83xx/mpc832x_rdb.c     |   1 -\n arch/powerpc/platforms/83xx/mpc836x_mds.c     |   1 -\n arch/powerpc/platforms/83xx/mpc836x_rdk.c     |   1 -\n arch/powerpc/platforms/85xx/corenet_generic.c |   1 -\n arch/powerpc/platforms/85xx/mpc85xx_mds.c     |   1 -\n arch/powerpc/platforms/85xx/mpc85xx_rdb.c     |   1 -\n arch/powerpc/platforms/85xx/twr_p102x.c       |   1 -\n drivers/irqchip/irq-qeic.c                    | 188 +++++++++++---------------\n include/soc/fsl/qe/qe_ic.h                    | 132 ------------------\n 12 files changed, 80 insertions(+), 250 deletions(-)\n delete mode 100644 include/soc/fsl/qe/qe_ic.h",
    "diff": "diff --git a/arch/powerpc/platforms/83xx/km83xx.c b/arch/powerpc/platforms/83xx/km83xx.c\nindex d8642a4..b1cef0a 100644\n--- a/arch/powerpc/platforms/83xx/km83xx.c\n+++ b/arch/powerpc/platforms/83xx/km83xx.c\n@@ -38,7 +38,6 @@\n #include <sysdev/fsl_soc.h>\n #include <sysdev/fsl_pci.h>\n #include <soc/fsl/qe/qe.h>\n-#include <soc/fsl/qe/qe_ic.h>\n \n #include \"mpc83xx.h\"\n \ndiff --git a/arch/powerpc/platforms/83xx/misc.c b/arch/powerpc/platforms/83xx/misc.c\nindex c09a135..07a0e61 100644\n--- a/arch/powerpc/platforms/83xx/misc.c\n+++ b/arch/powerpc/platforms/83xx/misc.c\n@@ -17,7 +17,6 @@\n #include <asm/io.h>\n #include <asm/hw_irq.h>\n #include <asm/ipic.h>\n-#include <soc/fsl/qe/qe_ic.h>\n #include <sysdev/fsl_soc.h>\n #include <sysdev/fsl_pci.h>\n \ndiff --git a/arch/powerpc/platforms/83xx/mpc832x_mds.c b/arch/powerpc/platforms/83xx/mpc832x_mds.c\nindex bb7b25a..a1cadf4 100644\n--- a/arch/powerpc/platforms/83xx/mpc832x_mds.c\n+++ b/arch/powerpc/platforms/83xx/mpc832x_mds.c\n@@ -37,7 +37,6 @@\n #include <sysdev/fsl_soc.h>\n #include <sysdev/fsl_pci.h>\n #include <soc/fsl/qe/qe.h>\n-#include <soc/fsl/qe/qe_ic.h>\n \n #include \"mpc83xx.h\"\n \ndiff --git a/arch/powerpc/platforms/83xx/mpc832x_rdb.c b/arch/powerpc/platforms/83xx/mpc832x_rdb.c\nindex d7c9b18..6c66527 100644\n--- a/arch/powerpc/platforms/83xx/mpc832x_rdb.c\n+++ b/arch/powerpc/platforms/83xx/mpc832x_rdb.c\n@@ -26,7 +26,6 @@\n #include <asm/ipic.h>\n #include <asm/udbg.h>\n #include <soc/fsl/qe/qe.h>\n-#include <soc/fsl/qe/qe_ic.h>\n #include <sysdev/fsl_soc.h>\n #include <sysdev/fsl_pci.h>\n \ndiff --git a/arch/powerpc/platforms/83xx/mpc836x_mds.c b/arch/powerpc/platforms/83xx/mpc836x_mds.c\nindex 4fc3051..9234d63 100644\n--- a/arch/powerpc/platforms/83xx/mpc836x_mds.c\n+++ b/arch/powerpc/platforms/83xx/mpc836x_mds.c\n@@ -45,7 +45,6 @@\n #include <sysdev/fsl_pci.h>\n #include <sysdev/simple_gpio.h>\n #include <soc/fsl/qe/qe.h>\n-#include <soc/fsl/qe/qe_ic.h>\n \n #include \"mpc83xx.h\"\n \ndiff --git a/arch/powerpc/platforms/83xx/mpc836x_rdk.c b/arch/powerpc/platforms/83xx/mpc836x_rdk.c\nindex 93f024f..82fa344 100644\n--- a/arch/powerpc/platforms/83xx/mpc836x_rdk.c\n+++ b/arch/powerpc/platforms/83xx/mpc836x_rdk.c\n@@ -21,7 +21,6 @@\n #include <asm/ipic.h>\n #include <asm/udbg.h>\n #include <soc/fsl/qe/qe.h>\n-#include <soc/fsl/qe/qe_ic.h>\n #include <sysdev/fsl_soc.h>\n #include <sysdev/fsl_pci.h>\n \ndiff --git a/arch/powerpc/platforms/85xx/corenet_generic.c b/arch/powerpc/platforms/85xx/corenet_generic.c\nindex 1b385ac..9ca27b1 100644\n--- a/arch/powerpc/platforms/85xx/corenet_generic.c\n+++ b/arch/powerpc/platforms/85xx/corenet_generic.c\n@@ -27,7 +27,6 @@\n #include <asm/udbg.h>\n #include <asm/mpic.h>\n #include <asm/ehv_pic.h>\n-#include <soc/fsl/qe/qe_ic.h>\n \n #include <linux/of_platform.h>\n #include <sysdev/fsl_soc.h>\ndiff --git a/arch/powerpc/platforms/85xx/mpc85xx_mds.c b/arch/powerpc/platforms/85xx/mpc85xx_mds.c\nindex 06f34a9..8102e5f 100644\n--- a/arch/powerpc/platforms/85xx/mpc85xx_mds.c\n+++ b/arch/powerpc/platforms/85xx/mpc85xx_mds.c\n@@ -49,7 +49,6 @@\n #include <sysdev/fsl_pci.h>\n #include <sysdev/simple_gpio.h>\n #include <soc/fsl/qe/qe.h>\n-#include <soc/fsl/qe/qe_ic.h>\n #include <asm/mpic.h>\n #include <asm/swiotlb.h>\n #include \"smp.h\"\ndiff --git a/arch/powerpc/platforms/85xx/mpc85xx_rdb.c b/arch/powerpc/platforms/85xx/mpc85xx_rdb.c\nindex 000d385..f806b6b 100644\n--- a/arch/powerpc/platforms/85xx/mpc85xx_rdb.c\n+++ b/arch/powerpc/platforms/85xx/mpc85xx_rdb.c\n@@ -27,7 +27,6 @@\n #include <asm/udbg.h>\n #include <asm/mpic.h>\n #include <soc/fsl/qe/qe.h>\n-#include <soc/fsl/qe/qe_ic.h>\n \n #include <sysdev/fsl_soc.h>\n #include <sysdev/fsl_pci.h>\ndiff --git a/arch/powerpc/platforms/85xx/twr_p102x.c b/arch/powerpc/platforms/85xx/twr_p102x.c\nindex 6be9b33..4f620f2 100644\n--- a/arch/powerpc/platforms/85xx/twr_p102x.c\n+++ b/arch/powerpc/platforms/85xx/twr_p102x.c\n@@ -23,7 +23,6 @@\n #include <asm/udbg.h>\n #include <asm/mpic.h>\n #include <soc/fsl/qe/qe.h>\n-#include <soc/fsl/qe/qe_ic.h>\n \n #include <sysdev/fsl_soc.h>\n #include <sysdev/fsl_pci.h>\ndiff --git a/drivers/irqchip/irq-qeic.c b/drivers/irqchip/irq-qeic.c\nindex a2d8084..26bfcbd 100644\n--- a/drivers/irqchip/irq-qeic.c\n+++ b/drivers/irqchip/irq-qeic.c\n@@ -18,8 +18,11 @@\n #include <linux/of_address.h>\n #include <linux/kernel.h>\n #include <linux/init.h>\n+#include <linux/irqdomain.h>\n #include <linux/irqchip.h>\n #include <linux/errno.h>\n+#include <linux/of_address.h>\n+#include <linux/of_irq.h>\n #include <linux/reboot.h>\n #include <linux/slab.h>\n #include <linux/stddef.h>\n@@ -27,9 +30,8 @@\n #include <linux/signal.h>\n #include <linux/device.h>\n #include <linux/spinlock.h>\n-#include <asm/irq.h>\n+#include <linux/irq.h>\n #include <asm/io.h>\n-#include <soc/fsl/qe/qe_ic.h>\n \n #define NR_QE_IC_INTS\t\t64\n \n@@ -87,6 +89,43 @@\n #define SIGNAL_HIGH\t\t2\n #define SIGNAL_LOW\t\t0\n \n+#define NUM_OF_QE_IC_GROUPS\t6\n+\n+/* Flags when we init the QE IC */\n+#define QE_IC_SPREADMODE_GRP_W\t\t\t0x00000001\n+#define QE_IC_SPREADMODE_GRP_X\t\t\t0x00000002\n+#define QE_IC_SPREADMODE_GRP_Y\t\t\t0x00000004\n+#define QE_IC_SPREADMODE_GRP_Z\t\t\t0x00000008\n+#define QE_IC_SPREADMODE_GRP_RISCA\t\t0x00000010\n+#define QE_IC_SPREADMODE_GRP_RISCB\t\t0x00000020\n+\n+#define QE_IC_LOW_SIGNAL\t\t\t0x00000100\n+#define QE_IC_HIGH_SIGNAL\t\t\t0x00000200\n+\n+#define QE_IC_GRP_W_PRI0_DEST_SIGNAL_HIGH\t0x00001000\n+#define QE_IC_GRP_W_PRI1_DEST_SIGNAL_HIGH\t0x00002000\n+#define QE_IC_GRP_X_PRI0_DEST_SIGNAL_HIGH\t0x00004000\n+#define QE_IC_GRP_X_PRI1_DEST_SIGNAL_HIGH\t0x00008000\n+#define QE_IC_GRP_Y_PRI0_DEST_SIGNAL_HIGH\t0x00010000\n+#define QE_IC_GRP_Y_PRI1_DEST_SIGNAL_HIGH\t0x00020000\n+#define QE_IC_GRP_Z_PRI0_DEST_SIGNAL_HIGH\t0x00040000\n+#define QE_IC_GRP_Z_PRI1_DEST_SIGNAL_HIGH\t0x00080000\n+#define QE_IC_GRP_RISCA_PRI0_DEST_SIGNAL_HIGH\t0x00100000\n+#define QE_IC_GRP_RISCA_PRI1_DEST_SIGNAL_HIGH\t0x00200000\n+#define QE_IC_GRP_RISCB_PRI0_DEST_SIGNAL_HIGH\t0x00400000\n+#define QE_IC_GRP_RISCB_PRI1_DEST_SIGNAL_HIGH\t0x00800000\n+#define QE_IC_GRP_W_DEST_SIGNAL_SHIFT\t\t(12)\n+\n+/* QE interrupt sources groups */\n+enum qe_ic_grp_id {\n+\tQE_IC_GRP_W = 0,\t/* QE interrupt controller group W */\n+\tQE_IC_GRP_X,\t\t/* QE interrupt controller group X */\n+\tQE_IC_GRP_Y,\t\t/* QE interrupt controller group Y */\n+\tQE_IC_GRP_Z,\t\t/* QE interrupt controller group Z */\n+\tQE_IC_GRP_RISCA,\t/* QE interrupt controller RISC group A */\n+\tQE_IC_GRP_RISCB\t\t/* QE interrupt controller RISC group B */\n+};\n+\n struct qe_ic {\n \t/* Control registers offset */\n \tu32 __iomem *regs;\n@@ -265,15 +304,15 @@ static struct qe_ic_info qe_ic_info[] = {\n \t\t},\n };\n \n-static inline u32 qe_ic_read(volatile __be32  __iomem * base, unsigned int reg)\n+static u32 qe_ic_read(__be32  __iomem *base, unsigned int reg)\n {\n-\treturn in_be32(base + (reg >> 2));\n+\treturn ioread32be(base + (reg >> 2));\n }\n \n-static inline void qe_ic_write(volatile __be32  __iomem * base, unsigned int reg,\n+static void qe_ic_write(__be32  __iomem *base, unsigned int reg,\n \t\t\t       u32 value)\n {\n-\tout_be32(base + (reg >> 2), value);\n+\tiowrite32be(value, base + (reg >> 2));\n }\n \n static inline struct qe_ic *qe_ic_from_irq(unsigned int virq)\n@@ -375,8 +414,8 @@ static const struct irq_domain_ops qe_ic_host_ops = {\n \t.xlate = irq_domain_xlate_onetwocell,\n };\n \n-/* Return an interrupt vector or NO_IRQ if no interrupt is pending. */\n-unsigned int qe_ic_get_low_irq(struct qe_ic *qe_ic)\n+/* Return an interrupt vector or 0 if no interrupt is pending. */\n+static unsigned int qe_ic_get_low_irq(struct qe_ic *qe_ic)\n {\n \tint irq;\n \n@@ -386,13 +425,13 @@ unsigned int qe_ic_get_low_irq(struct qe_ic *qe_ic)\n \tirq = qe_ic_read(qe_ic->regs, QEIC_CIVEC) >> 26;\n \n \tif (irq == 0)\n-\t\treturn NO_IRQ;\n+\t\treturn 0;\n \n \treturn irq_linear_revmap(qe_ic->irqhost, irq);\n }\n \n-/* Return an interrupt vector or NO_IRQ if no interrupt is pending. */\n-unsigned int qe_ic_get_high_irq(struct qe_ic *qe_ic)\n+/* Return an interrupt vector or 0 if no interrupt is pending. */\n+static unsigned int qe_ic_get_high_irq(struct qe_ic *qe_ic)\n {\n \tint irq;\n \n@@ -402,11 +441,38 @@ unsigned int qe_ic_get_high_irq(struct qe_ic *qe_ic)\n \tirq = qe_ic_read(qe_ic->regs, QEIC_CHIVEC) >> 26;\n \n \tif (irq == 0)\n-\t\treturn NO_IRQ;\n+\t\treturn 0;\n \n \treturn irq_linear_revmap(qe_ic->irqhost, irq);\n }\n \n+static void qe_ic_cascade_mpic(struct irq_desc *desc, int is_high)\n+{\n+\tstruct qe_ic *qe_ic = irq_desc_get_handler_data(desc);\n+\tstruct irq_chip *chip = irq_desc_get_chip(desc);\n+\tunsigned int cascade_irq;\n+\n+\tif (is_high)\n+\t\tcascade_irq = qe_ic_get_high_irq(qe_ic);\n+\telse\n+\t\tcascade_irq = qe_ic_get_low_irq(qe_ic);\n+\n+\tif (cascade_irq != 0)\n+\t\tgeneric_handle_irq(cascade_irq);\n+\n+\tchip->irq_eoi(&desc->irq_data);\n+}\n+\n+static void qe_ic_cascade_low_mpic(struct irq_desc *desc)\n+{\n+\tqe_ic_cascade_mpic(desc, 0);\n+}\n+\n+static void qe_ic_cascade_high_mpic(struct irq_desc *desc)\n+{\n+\tqe_ic_cascade_mpic(desc, 1);\n+}\n+\n static int __init qe_ic_init(struct device_node *node, unsigned int flags)\n {\n \tstruct qe_ic *qe_ic;\n@@ -443,7 +509,7 @@ static int __init qe_ic_init(struct device_node *node, unsigned int flags)\n \tqe_ic->virq_high = irq_of_parse_and_map(node, 0);\n \tqe_ic->virq_low = irq_of_parse_and_map(node, 1);\n \n-\tif (qe_ic->virq_low == NO_IRQ) {\n+\tif (qe_ic->virq_low == 0) {\n \t\tpr_err(\"Failed to map QE_IC low IRQ\\n\");\n \t\tret = -ENOMEM;\n \t\tgoto err_domain_remove;\n@@ -475,7 +541,7 @@ static int __init qe_ic_init(struct device_node *node, unsigned int flags)\n \tirq_set_handler_data(qe_ic->virq_low, qe_ic);\n \tirq_set_chained_handler(qe_ic->virq_low, qe_ic_cascade_low_mpic);\n \n-\tif (qe_ic->virq_high != NO_IRQ &&\n+\tif (qe_ic->virq_high != 0 &&\n \t\t\tqe_ic->virq_high != qe_ic->virq_low) {\n \t\tirq_set_handler_data(qe_ic->virq_high, qe_ic);\n \t\tirq_set_chained_handler(qe_ic->virq_high,\n@@ -493,100 +559,6 @@ static int __init qe_ic_init(struct device_node *node, unsigned int flags)\n \treturn ret;\n }\n \n-void qe_ic_set_highest_priority(unsigned int virq, int high)\n-{\n-\tstruct qe_ic *qe_ic = qe_ic_from_irq(virq);\n-\tunsigned int src = virq_to_hw(virq);\n-\tu32 temp = 0;\n-\n-\ttemp = qe_ic_read(qe_ic->regs, QEIC_CICR);\n-\n-\ttemp &= ~CICR_HP_MASK;\n-\ttemp |= src << CICR_HP_SHIFT;\n-\n-\ttemp &= ~CICR_HPIT_MASK;\n-\ttemp |= (high ? SIGNAL_HIGH : SIGNAL_LOW) << CICR_HPIT_SHIFT;\n-\n-\tqe_ic_write(qe_ic->regs, QEIC_CICR, temp);\n-}\n-\n-/* Set Priority level within its group, from 1 to 8 */\n-int qe_ic_set_priority(unsigned int virq, unsigned int priority)\n-{\n-\tstruct qe_ic *qe_ic = qe_ic_from_irq(virq);\n-\tunsigned int src = virq_to_hw(virq);\n-\tu32 temp;\n-\n-\tif (priority > 8 || priority == 0)\n-\t\treturn -EINVAL;\n-\tif (WARN_ONCE(src >= ARRAY_SIZE(qe_ic_info),\n-\t\t      \"%s: Invalid hw irq number for QEIC\\n\", __func__))\n-\t\treturn -EINVAL;\n-\tif (qe_ic_info[src].pri_reg == 0)\n-\t\treturn -EINVAL;\n-\n-\ttemp = qe_ic_read(qe_ic->regs, qe_ic_info[src].pri_reg);\n-\n-\tif (priority < 4) {\n-\t\ttemp &= ~(0x7 << (32 - priority * 3));\n-\t\ttemp |= qe_ic_info[src].pri_code << (32 - priority * 3);\n-\t} else {\n-\t\ttemp &= ~(0x7 << (24 - priority * 3));\n-\t\ttemp |= qe_ic_info[src].pri_code << (24 - priority * 3);\n-\t}\n-\n-\tqe_ic_write(qe_ic->regs, qe_ic_info[src].pri_reg, temp);\n-\n-\treturn 0;\n-}\n-\n-/* Set a QE priority to use high irq, only priority 1~2 can use high irq */\n-int qe_ic_set_high_priority(unsigned int virq, unsigned int priority, int high)\n-{\n-\tstruct qe_ic *qe_ic = qe_ic_from_irq(virq);\n-\tunsigned int src = virq_to_hw(virq);\n-\tu32 temp, control_reg = QEIC_CICNR, shift = 0;\n-\n-\tif (priority > 2 || priority == 0)\n-\t\treturn -EINVAL;\n-\tif (WARN_ONCE(src >= ARRAY_SIZE(qe_ic_info),\n-\t\t      \"%s: Invalid hw irq number for QEIC\\n\", __func__))\n-\t\treturn -EINVAL;\n-\n-\tswitch (qe_ic_info[src].pri_reg) {\n-\tcase QEIC_CIPZCC:\n-\t\tshift = CICNR_ZCC1T_SHIFT;\n-\t\tbreak;\n-\tcase QEIC_CIPWCC:\n-\t\tshift = CICNR_WCC1T_SHIFT;\n-\t\tbreak;\n-\tcase QEIC_CIPYCC:\n-\t\tshift = CICNR_YCC1T_SHIFT;\n-\t\tbreak;\n-\tcase QEIC_CIPXCC:\n-\t\tshift = CICNR_XCC1T_SHIFT;\n-\t\tbreak;\n-\tcase QEIC_CIPRTA:\n-\t\tshift = CRICR_RTA1T_SHIFT;\n-\t\tcontrol_reg = QEIC_CRICR;\n-\t\tbreak;\n-\tcase QEIC_CIPRTB:\n-\t\tshift = CRICR_RTB1T_SHIFT;\n-\t\tcontrol_reg = QEIC_CRICR;\n-\t\tbreak;\n-\tdefault:\n-\t\treturn -EINVAL;\n-\t}\n-\n-\tshift += (2 - priority) * 2;\n-\ttemp = qe_ic_read(qe_ic->regs, control_reg);\n-\ttemp &= ~(SIGNAL_MASK << shift);\n-\ttemp |= (high ? SIGNAL_HIGH : SIGNAL_LOW) << shift;\n-\tqe_ic_write(qe_ic->regs, control_reg, temp);\n-\n-\treturn 0;\n-}\n-\n static int __init init_qe_ic(struct device_node *node,\n \t\t\t     struct device_node *parent)\n {\ndiff --git a/include/soc/fsl/qe/qe_ic.h b/include/soc/fsl/qe/qe_ic.h\ndeleted file mode 100644\nindex 6113699..0000000\n--- a/include/soc/fsl/qe/qe_ic.h\n+++ /dev/null\n@@ -1,132 +0,0 @@\n-/*\n- * Copyright (C) 2006 Freescale Semiconductor, Inc. All rights reserved.\n- *\n- * Authors: \tShlomi Gridish <gridish@freescale.com>\n- * \t\tLi Yang <leoli@freescale.com>\n- *\n- * Description:\n- * QE IC external definitions and structure.\n- *\n- * This program is free software; you can redistribute  it and/or modify it\n- * under  the terms of  the GNU General  Public License as published by the\n- * Free Software Foundation;  either version 2 of the  License, or (at your\n- * option) any later version.\n- */\n-#ifndef _ASM_POWERPC_QE_IC_H\n-#define _ASM_POWERPC_QE_IC_H\n-\n-#include <linux/irq.h>\n-\n-struct device_node;\n-struct qe_ic;\n-\n-#define NUM_OF_QE_IC_GROUPS\t6\n-\n-/* Flags when we init the QE IC */\n-#define QE_IC_SPREADMODE_GRP_W\t\t\t0x00000001\n-#define QE_IC_SPREADMODE_GRP_X\t\t\t0x00000002\n-#define QE_IC_SPREADMODE_GRP_Y\t\t\t0x00000004\n-#define QE_IC_SPREADMODE_GRP_Z\t\t\t0x00000008\n-#define QE_IC_SPREADMODE_GRP_RISCA\t\t0x00000010\n-#define QE_IC_SPREADMODE_GRP_RISCB\t\t0x00000020\n-\n-#define QE_IC_LOW_SIGNAL\t\t\t0x00000100\n-#define QE_IC_HIGH_SIGNAL\t\t\t0x00000200\n-\n-#define QE_IC_GRP_W_PRI0_DEST_SIGNAL_HIGH\t0x00001000\n-#define QE_IC_GRP_W_PRI1_DEST_SIGNAL_HIGH\t0x00002000\n-#define QE_IC_GRP_X_PRI0_DEST_SIGNAL_HIGH\t0x00004000\n-#define QE_IC_GRP_X_PRI1_DEST_SIGNAL_HIGH\t0x00008000\n-#define QE_IC_GRP_Y_PRI0_DEST_SIGNAL_HIGH\t0x00010000\n-#define QE_IC_GRP_Y_PRI1_DEST_SIGNAL_HIGH\t0x00020000\n-#define QE_IC_GRP_Z_PRI0_DEST_SIGNAL_HIGH\t0x00040000\n-#define QE_IC_GRP_Z_PRI1_DEST_SIGNAL_HIGH\t0x00080000\n-#define QE_IC_GRP_RISCA_PRI0_DEST_SIGNAL_HIGH\t0x00100000\n-#define QE_IC_GRP_RISCA_PRI1_DEST_SIGNAL_HIGH\t0x00200000\n-#define QE_IC_GRP_RISCB_PRI0_DEST_SIGNAL_HIGH\t0x00400000\n-#define QE_IC_GRP_RISCB_PRI1_DEST_SIGNAL_HIGH\t0x00800000\n-#define QE_IC_GRP_W_DEST_SIGNAL_SHIFT\t\t(12)\n-\n-/* QE interrupt sources groups */\n-enum qe_ic_grp_id {\n-\tQE_IC_GRP_W = 0,\t/* QE interrupt controller group W */\n-\tQE_IC_GRP_X,\t\t/* QE interrupt controller group X */\n-\tQE_IC_GRP_Y,\t\t/* QE interrupt controller group Y */\n-\tQE_IC_GRP_Z,\t\t/* QE interrupt controller group Z */\n-\tQE_IC_GRP_RISCA,\t/* QE interrupt controller RISC group A */\n-\tQE_IC_GRP_RISCB\t\t/* QE interrupt controller RISC group B */\n-};\n-\n-#ifdef CONFIG_QUICC_ENGINE\n-unsigned int qe_ic_get_low_irq(struct qe_ic *qe_ic);\n-unsigned int qe_ic_get_high_irq(struct qe_ic *qe_ic);\n-#else\n-static inline unsigned int qe_ic_get_low_irq(struct qe_ic *qe_ic)\n-{ return 0; }\n-static inline unsigned int qe_ic_get_high_irq(struct qe_ic *qe_ic)\n-{ return 0; }\n-#endif /* CONFIG_QUICC_ENGINE */\n-\n-void qe_ic_set_highest_priority(unsigned int virq, int high);\n-int qe_ic_set_priority(unsigned int virq, unsigned int priority);\n-int qe_ic_set_high_priority(unsigned int virq, unsigned int priority, int high);\n-\n-static inline void qe_ic_cascade_low_ipic(struct irq_desc *desc)\n-{\n-\tstruct qe_ic *qe_ic = irq_desc_get_handler_data(desc);\n-\tunsigned int cascade_irq = qe_ic_get_low_irq(qe_ic);\n-\n-\tif (cascade_irq != NO_IRQ)\n-\t\tgeneric_handle_irq(cascade_irq);\n-}\n-\n-static inline void qe_ic_cascade_high_ipic(struct irq_desc *desc)\n-{\n-\tstruct qe_ic *qe_ic = irq_desc_get_handler_data(desc);\n-\tunsigned int cascade_irq = qe_ic_get_high_irq(qe_ic);\n-\n-\tif (cascade_irq != NO_IRQ)\n-\t\tgeneric_handle_irq(cascade_irq);\n-}\n-\n-static inline void qe_ic_cascade_low_mpic(struct irq_desc *desc)\n-{\n-\tstruct qe_ic *qe_ic = irq_desc_get_handler_data(desc);\n-\tunsigned int cascade_irq = qe_ic_get_low_irq(qe_ic);\n-\tstruct irq_chip *chip = irq_desc_get_chip(desc);\n-\n-\tif (cascade_irq != NO_IRQ)\n-\t\tgeneric_handle_irq(cascade_irq);\n-\n-\tchip->irq_eoi(&desc->irq_data);\n-}\n-\n-static inline void qe_ic_cascade_high_mpic(struct irq_desc *desc)\n-{\n-\tstruct qe_ic *qe_ic = irq_desc_get_handler_data(desc);\n-\tunsigned int cascade_irq = qe_ic_get_high_irq(qe_ic);\n-\tstruct irq_chip *chip = irq_desc_get_chip(desc);\n-\n-\tif (cascade_irq != NO_IRQ)\n-\t\tgeneric_handle_irq(cascade_irq);\n-\n-\tchip->irq_eoi(&desc->irq_data);\n-}\n-\n-static inline void qe_ic_cascade_muxed_mpic(struct irq_desc *desc)\n-{\n-\tstruct qe_ic *qe_ic = irq_desc_get_handler_data(desc);\n-\tunsigned int cascade_irq;\n-\tstruct irq_chip *chip = irq_desc_get_chip(desc);\n-\n-\tcascade_irq = qe_ic_get_high_irq(qe_ic);\n-\tif (cascade_irq == NO_IRQ)\n-\t\tcascade_irq = qe_ic_get_low_irq(qe_ic);\n-\n-\tif (cascade_irq != NO_IRQ)\n-\t\tgeneric_handle_irq(cascade_irq);\n-\n-\tchip->irq_eoi(&desc->irq_data);\n-}\n-\n-#endif /* _ASM_POWERPC_QE_IC_H */\n",
    "prefixes": [
        "v10",
        "4/4"
    ]
}