{"id":798473,"url":"http://patchwork.ozlabs.org/api/patches/798473/?format=json","web_url":"http://patchwork.ozlabs.org/project/linuxppc-dev/patch/1502075236-24078-4-git-send-email-qiang.zhao@nxp.com/","project":{"id":2,"url":"http://patchwork.ozlabs.org/api/projects/2/?format=json","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-4-git-send-email-qiang.zhao@nxp.com>","list_archive_url":"https://lore.kernel.org/linuxppc-dev/1502075236-24078-4-git-send-email-qiang.zhao@nxp.com/","date":"2017-08-07T03:07:15","name":"[v10,3/4] irqchip/qeic: merge qeic_of_init into qe_ic_init","commit_ref":null,"pull_url":null,"state":"not-applicable","archived":false,"hash":"c185e285a0f63a4d3dd3c7863c6e2445ce39b42f","submitter":{"id":68014,"url":"http://patchwork.ozlabs.org/api/people/68014/?format=json","name":"Qiang Zhao","email":"qiang.zhao@nxp.com"},"delegate":{"id":1707,"url":"http://patchwork.ozlabs.org/api/users/1707/?format=json","username":"scottwood","first_name":"Scott","last_name":"Wood","email":"scottwood@freescale.com"},"mbox":"http://patchwork.ozlabs.org/project/linuxppc-dev/patch/1502075236-24078-4-git-send-email-qiang.zhao@nxp.com/mbox/","series":[],"comments":"http://patchwork.ozlabs.org/api/patches/798473/comments/","check":"pending","checks":"http://patchwork.ozlabs.org/api/patches/798473/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 3xQjh92GRFz9s7g\n\tfor <patchwork-incoming@ozlabs.org>;\n\tMon,  7 Aug 2017 13:29:45 +1000 (AEST)","from lists.ozlabs.org (lists.ozlabs.org [IPv6:2401:3900:2:1::3])\n\tby lists.ozlabs.org (Postfix) with ESMTP id 3xQjh90TtPzDqmP\n\tfor <patchwork-incoming@ozlabs.org>;\n\tMon,  7 Aug 2017 13:29:45 +1000 (AEST)","from NAM01-SN1-obe.outbound.protection.outlook.com\n\t(mail-sn1nam01on0603.outbound.protection.outlook.com\n\t[IPv6:2a01:111:f400:fe40::603])\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 3xQjZ34D25zDqp4\n\tfor <linuxppc-dev@lists.ozlabs.org>;\n\tMon,  7 Aug 2017 13:24:27 +1000 (AEST)","from MWHPR03CA0050.namprd03.prod.outlook.com (2603:10b6:301:3b::39)\n\tby DM2PR0301MB0909.namprd03.prod.outlook.com\n\t(2a01:111:e400:501c::14) with Microsoft SMTP Server (version=TLS1_2, \n\tcipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.1.1320.16;\n\tMon, 7 Aug 2017 03:24:21 +0000","from BN1BFFO11FD001.protection.gbl (2a01:111:f400:7c10::1:125) by\n\tMWHPR03CA0050.outlook.office365.com (2603:10b6:301:3b::39) with\n\tMicrosoft SMTP Server (version=TLS1_2,\n\tcipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.1.1320.16\n\tvia Frontend Transport; Mon, 7 Aug 2017 03:24:21 +0000","from tx30smr01.am.freescale.net (192.88.168.50) by\n\tBN1BFFO11FD001.mail.protection.outlook.com (10.58.144.64) with\n\tMicrosoft SMTP Server (version=TLS1_0,\n\tcipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.1.1304.16\n\tvia Frontend Transport; Mon, 7 Aug 2017 03:24:20 +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\tv773NpO7014527; Sun, 6 Aug 2017 20:24:18 -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 3/4] irqchip/qeic: merge qeic_of_init into qe_ic_init","Date":"Mon, 7 Aug 2017 11:07:15 +0800","Message-ID":"<1502075236-24078-4-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":"131465498607083129;\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)(2980300002)(1109001)(1110001)(339900001)(199003)(189002)(2950100002)(2351001)(6916009)(6666003)(36756003)(5660300001)(5003940100001)(33646002)(47776003)(104016004)(50986999)(76176999)(305945005)(50226002)(77096006)(8656003)(105606002)(8676002)(86362001)(106466001)(8936002)(81156014)(97736004)(48376002)(54906002)(85426001)(626005)(189998001)(68736007)(4326008)(50466002)(110136004);\n\tDIR:OUT; SFP:1101; SCL:1; SRVR:DM2PR0301MB0909;\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; BN1BFFO11FD001;\n\t1:gvfmoCvqH5DE9g8dcAyniAi58772DjOcmwJWmXKPD?=\n\t=?us-ascii?Q?rN9B1k0QKmM/vllrT4OVuL3DiidA9nSfbLp4L0NkRA8iTB6sgvq6di2JX2Ab?=\n\t=?us-ascii?Q?NLSaGYZ1Ydv81B6zpUmIbjBeQpcMmbofMGqlffBMVogL0jGYcKTrhcudtOvL?=\n\t=?us-ascii?Q?6Ju53I3G7LrfClLyKj8LjqQZvypw1mvt9vKftCW2t7LC5i50MEib7gdp/UMD?=\n\t=?us-ascii?Q?ArjUJSH+hErDsCNHHyZskz4vDuPdzmjX/iHoi8CMWGAug0jFHrL5DrqmqXDF?=\n\t=?us-ascii?Q?A75avEtPRMJmrs0XEZMJUJ7jGqd/Y0V0Km8cxAsXcyJ601h3hk4u6ztwthVP?=\n\t=?us-ascii?Q?OAJHpATwWiUr+EWoLrQC9OlanYK5TJETWBTm6Xwd1ApQ4wzahTiLTxTiDl23?=\n\t=?us-ascii?Q?mJoNlfuivmJDgD3lbtiSJ9cjGTY6Qvu+XO66WTIIx4urjjuCquBJty9QVgpI?=\n\t=?us-ascii?Q?qlgJptdcPX2si4OiqgWvq/eAghyJbgtOvNN0gASa/smGMVMuIdsLuIkqZ2wW?=\n\t=?us-ascii?Q?7xm4kySIcxhnK0aaGg8Dg3UxbvtIZP0f/u8YCToxdUNGNrQSZcyUUYzIbSEN?=\n\t=?us-ascii?Q?1F2tMdFx7wwZ6gPynEOB4cefIxOoBScjkxNTwmsS0xBfo1BtiWatn6IkHKlV?=\n\t=?us-ascii?Q?LL1oyvejUYANoksQEo0kb87OO1NU5ugGhP0/afYrZhfwPzMJKmcyCzI3h7+V?=\n\t=?us-ascii?Q?oZHcka8oKkAN5m9BaOhn6Zr1trZXtQCP1vTCHfWMFk7BYkTDxFNvHILWdzU0?=\n\t=?us-ascii?Q?S9sQIeL0fTYp47YnKNPvvmiAaISVICQz/a7yuAabHCBEEKEHfVUkFgK7e30k?=\n\t=?us-ascii?Q?pHtLmJ9VGsnGc3H3faLDFDhROnN7QffrSKuSY+qNrNzQu2mw5utZOYCRQ0eC?=\n\t=?us-ascii?Q?6FcWcpJ6XAH9LcMSGifQXLPS034JaY3cf5mYO6E38/yWl+I8JEx7KU3w70hJ?=\n\t=?us-ascii?Q?dRVi45FOPUwzeBsgaHTQH7ZBqTE4DMDmVmB6z/mvg=3D=3D?=","1; DM2PR0301MB0909;\n\t3:1bA0KhXptu/6UqryhobYLjk3wWaYYMzZXdUvMptu5EuAYXyZ5bBzLyQDnTcFdhEG24VWoBt/aSFYHvNcPAOE9XCBN1tjCXVbu+rIRjvvz+Po+1ziFelcBFvhGFI5tAJyGKKJsZvFqP2ycHH04R0oQlE7l5PUT/fmG3HDc4TirwCb7TIY+vz5zxRko8n7y288ZI2M89k5TUNcsHDrloBmyypoG5u19kEYlVzGQ7Vj00Fb5pEp42Xifp3+unwaN/Oxd63/8XNK4+AE/5hpBJcKLxs0WdWId4woCRAOyuS8FLhmnRCKI6DE2rlcDTHehdkdBHhb8zAwvdm9yjsEMaOhoBvWo0CMKF9UNCUdhMCUzYw=;\n\t25:F2UsvXaT/r2kdZwl9IRCWY16csPDbCU8kI7nRURXpDl4XLX8yetznJPjwEsSTa3I4uLpB9NETQa8qyvVuJw0GidPWKU9QtjQImjdt1FvHoinhMFd8ZJ1cZKQwKDG/WajcTaN4xtPfeQQkLQXf2EQQSQ2gnP8nePe9w/Ehto4LM0j7w24JcVpgyovVls9B3vxy7SuxlNX8SYT4pzrNogFbdJf4j6Cq9HfezcikW/JSrD6FINUsd9xeEYoBwoTlSZ2gvyn/w4kGKNK8U/7KybnAaVKJgWXrtFeyK+/I4QwZw2TBbrA2ykajAGBJYOm37dty3Gc4jmhETmhB1qm3dwL8g==","1; DM2PR0301MB0909;\n\t31:O1lbLbVNMjLFRlVUhaTbnznwUDTmJlBAgv6Z4/WMiMTIRuy1hz2jweK5FuWA4QLIJLPw22bh0O7KZ8vEPKxYkWrs4CZ6sF4h9Xkbw/WaJQ2nAPykXzJr+ULUUj14rqP+xgGZAPyeiel3+7TS5M6eGLWnycpqOmfs1KTS7l+tN2E01xINV8jziz2lceNS0sgsT6YA+l+tQ2Xb6oc6rBrcXm3BvMb9rNusT0z85pPEuEU=","=?us-ascii?Q?1; DM2PR0301MB0909;\n\t23:lpM/rnKAySKFThSaR2SNP+BrzN/aJxznNFCO3+2?=\n\t=?us-ascii?Q?eFbwmZAium4BVwcmavt+U8DkpP1ttlESx3k1WVUpBKjTle4h6JTPioE0qs/n?=\n\t=?us-ascii?Q?FDKynM/fCBWUFmzDBtTjAHvB4x+CG1k2tYQkZYOBUeuBp6/JNf2RC0DBQbWI?=\n\t=?us-ascii?Q?kL6wAnDs4nK4Vy2HNWzGVpNiU3Ua0MwazUZalYyvFkVRfZHG63o0MKpTVx7r?=\n\t=?us-ascii?Q?Q/qpum7lpVnBakyuwkrIbrHKTQu6knFyG01O1oQpL1GWapVf+oIkLMALZtQj?=\n\t=?us-ascii?Q?lR40byFvQgJ9gktn1CRFZrQg0QR/f+h+dGmVbMbfgcYjxNB3pk/wpbDsFJ9L?=\n\t=?us-ascii?Q?eplLNWJSH3oBcCzA9Qn4q94AdmRkBQGTpfgdZqhk3kFHP1Z+6I9E42O0IMkp?=\n\t=?us-ascii?Q?eKDexjvXv5FUxuoMnbiz1nP6HJk+dZ4o5zdXAS3YTJTAvomVlYOps6yk6q2G?=\n\t=?us-ascii?Q?d7jpYdUuFn3G1BmrBq8FBJCKWwr2LFZZqzf2PMZFA+3UXROES6rEK+4w9zT3?=\n\t=?us-ascii?Q?9aPuZ/bon/xvZLQiKpi6MMn10la5+P4bvkQIzdWpu/8FSLNVP8rQPqore7Bp?=\n\t=?us-ascii?Q?RnEzLYkH5u9eHjrWRhLW6aH2QjUqDtJk3JoOL1ClzIQ30ql2xWj/C8VUd2o6?=\n\t=?us-ascii?Q?DVNwUVvY0JG/ZavMHVjnFXW2RnVjeYSAKrAPqBuabCqM+eHpA/YNl5NYa6Ab?=\n\t=?us-ascii?Q?oK312CIkr2eDChLjm8rncw/ix50yhgFlfD8x4HIO9Q80MQhAftS4QwDB3qrZ?=\n\t=?us-ascii?Q?ruhkqrG+hPqn6gyliuymtHaicx779/nI7fshHikbUeFX8CQufBnLDowyX5hn?=\n\t=?us-ascii?Q?q/5mC2LCRNQRB2//a2bQyJt9dvH5aXjSSjX+2YeJtQiVxmOt1PAHWElENC6l?=\n\t=?us-ascii?Q?ptYSzZEM8rn+ZGr8qoaomHQujoVLsljg50yt1IC/TI8xWeSulJmjUA0akJ+B?=\n\t=?us-ascii?Q?l6FwEMnuxm9DAkm7giLO2ZESkS3ItU1kuaBPNBuZcKA=3D=3D?=","1; DM2PR0301MB0909;\n\t6:2GiNipfcDyIB3PcTzZGfcTw1T76o4mCY9PALUWP6S7yRFm16WJEdzoCOISRVJSga3UkavWPRrDLA8DiLUoQpuxTPzcCGzP5xRrhlf7ZSednJC1Ck71esbGa765CFJ5MPTnNBEqAeXEFtldMeEMkUZFAVWQusSuDGd1lmua3Txu7EqiAGenmMmQ9Jzyaq3UshYtuQynEoY9zbuBPecVTXfPs4H7h9BzokytNS5bTXcbB1pX451BDosDFWd6KZcYmsS5g2HNaAeIUpiljEk3OgQXARUUfzv3CY84IoXGxRSQf+UvVeJfuh03K2oQSVK7gQaXOEVF28g9fCrB0nCnfkjA==;\n\t24:bKTmko3RhGfgeWzQYiQcRZGguogAH10HAvGv1Mj2fO6YedpeGT+tyhQXWskPOCoUTmCQg97qGGmEinax8GJvSgNonm0lWXDHKu+zC1/9B0s=;\n\t7:Xn1AGJuGDEdDAsrV/tVaewTV5o0Pl2VKyIrC9eoju8tD/kEj1Y+F3O6w0+TnUI8K8DPFlysyyZ3YEmu9WWfN5JpOByYMQkOBItskntlYw4GwERqJjo8Ms/Eecmn8kgdFdo3EkRnk6eEIwhdpj4Tu/jCqwJoQ0FNgwCHgSFq/ul5iq+PHmG6SksQsZLJkJvlbLw6Vd+GDl8NNnpmVWgYQnlxAwqq5Sf56FP7bzi/AJBQ="],"MIME-Version":"1.0","Content-Type":"text/plain","X-MS-PublicTrafficType":"Email","X-MS-Office365-Filtering-Correlation-Id":"87df90b6-679d-46eb-7d18-08d4dd43cb26","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:DM2PR0301MB0909; ","X-MS-TrafficTypeDiagnostic":"DM2PR0301MB0909:","X-Forefront-PRVS":"0392679D18","SpamDiagnosticOutput":"1:99","SpamDiagnosticMetadata":"NSPM","X-MS-Exchange-CrossTenant-OriginalArrivalTime":"07 Aug 2017 03:24:20.5211\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":"DM2PR0301MB0909","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_of_init just get device_node of qeic from dtb and call qe_ic_init,\npass the device_node to qe_ic_init.\nSo merge qeic_of_init into qe_ic_init to get the qeic node in\nqe_ic_init.\n\nSigned-off-by: Zhao Qiang <qiang.zhao@nxp.com>\n---\n drivers/irqchip/irq-qeic.c | 90 ++++++++++++++++++++--------------------------\n include/soc/fsl/qe/qe_ic.h |  7 ----\n 2 files changed, 39 insertions(+), 58 deletions(-)","diff":"diff --git a/drivers/irqchip/irq-qeic.c b/drivers/irqchip/irq-qeic.c\nindex 8287c22..a2d8084 100644\n--- a/drivers/irqchip/irq-qeic.c\n+++ b/drivers/irqchip/irq-qeic.c\n@@ -407,27 +407,33 @@ unsigned int qe_ic_get_high_irq(struct qe_ic *qe_ic)\n \treturn irq_linear_revmap(qe_ic->irqhost, irq);\n }\n \n-void __init qe_ic_init(struct device_node *node, unsigned int flags,\n-\t\t       void (*low_handler)(struct irq_desc *desc),\n-\t\t       void (*high_handler)(struct irq_desc *desc))\n+static int __init qe_ic_init(struct device_node *node, unsigned int flags)\n {\n \tstruct qe_ic *qe_ic;\n \tstruct resource res;\n-\tu32 temp = 0, ret, high_active = 0;\n+\tu32 temp = 0, high_active = 0;\n+\tint ret = 0;\n+\n+\tif (!node)\n+\t\treturn -ENODEV;\n \n \tret = of_address_to_resource(node, 0, &res);\n-\tif (ret)\n-\t\treturn;\n+\tif (ret) {\n+\t\tret = -ENODEV;\n+\t\tgoto err_put_node;\n+\t}\n \n \tqe_ic = kzalloc(sizeof(*qe_ic), GFP_KERNEL);\n-\tif (qe_ic == NULL)\n-\t\treturn;\n+\tif (qe_ic == NULL) {\n+\t\tret = -ENOMEM;\n+\t\tgoto err_put_node;\n+\t}\n \n \tqe_ic->irqhost = irq_domain_add_linear(node, NR_QE_IC_INTS,\n \t\t\t\t\t       &qe_ic_host_ops, qe_ic);\n \tif (qe_ic->irqhost == NULL) {\n-\t\tkfree(qe_ic);\n-\t\treturn;\n+\t\tret = -ENOMEM;\n+\t\tgoto err_free_qe_ic;\n \t}\n \n \tqe_ic->regs = ioremap(res.start, resource_size(&res));\n@@ -438,9 +444,9 @@ void __init qe_ic_init(struct device_node *node, unsigned int flags,\n \tqe_ic->virq_low = irq_of_parse_and_map(node, 1);\n \n \tif (qe_ic->virq_low == NO_IRQ) {\n-\t\tprintk(KERN_ERR \"Failed to map QE_IC low IRQ\\n\");\n-\t\tkfree(qe_ic);\n-\t\treturn;\n+\t\tpr_err(\"Failed to map QE_IC low IRQ\\n\");\n+\t\tret = -ENOMEM;\n+\t\tgoto err_domain_remove;\n \t}\n \n \t/* default priority scheme is grouped. If spread mode is    */\n@@ -467,13 +473,24 @@ void __init qe_ic_init(struct device_node *node, unsigned int flags,\n \tqe_ic_write(qe_ic->regs, QEIC_CICR, temp);\n \n \tirq_set_handler_data(qe_ic->virq_low, qe_ic);\n-\tirq_set_chained_handler(qe_ic->virq_low, low_handler);\n+\tirq_set_chained_handler(qe_ic->virq_low, qe_ic_cascade_low_mpic);\n \n \tif (qe_ic->virq_high != NO_IRQ &&\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, high_handler);\n+\t\tirq_set_chained_handler(qe_ic->virq_high,\n+\t\t\t\t\tqe_ic_cascade_high_mpic);\n \t}\n+\tof_node_put(node);\n+\treturn 0;\n+\n+err_domain_remove:\n+\tirq_domain_remove(qe_ic->irqhost);\n+err_free_qe_ic:\n+\tkfree(qe_ic);\n+err_put_node:\n+\tof_node_put(node);\n+\treturn ret;\n }\n \n void qe_ic_set_highest_priority(unsigned int virq, int high)\n@@ -570,45 +587,16 @@ int qe_ic_set_high_priority(unsigned int virq, unsigned int priority, int high)\n \treturn 0;\n }\n \n-static struct bus_type qe_ic_subsys = {\n-\t.name = \"qe_ic\",\n-\t.dev_name = \"qe_ic\",\n-};\n-\n-static struct device device_qe_ic = {\n-\t.id = 0,\n-\t.bus = &qe_ic_subsys,\n-};\n-\n-static int __init init_qe_ic_sysfs(void)\n+static int __init init_qe_ic(struct device_node *node,\n+\t\t\t     struct device_node *parent)\n {\n-\tint rc;\n-\n-\tprintk(KERN_DEBUG \"Registering qe_ic with sysfs...\\n\");\n+\tint ret;\n \n-\trc = subsys_system_register(&qe_ic_subsys, NULL);\n-\tif (rc) {\n-\t\tprintk(KERN_ERR \"Failed registering qe_ic sys class\\n\");\n-\t\treturn -ENODEV;\n-\t}\n-\trc = device_register(&device_qe_ic);\n-\tif (rc) {\n-\t\tprintk(KERN_ERR \"Failed registering qe_ic sys device\\n\");\n-\t\treturn -ENODEV;\n-\t}\n-\treturn 0;\n-}\n+\tret = qe_ic_init(node, 0);\n+\tif (ret)\n+\t\treturn ret;\n \n-static int __init qeic_of_init(struct device_node *node,\n-\t\t\t       struct device_node *parent)\n-{\n-\tif (!node)\n-\t\treturn -ENODEV;\n-\tqe_ic_init(node, 0, qe_ic_cascade_low_mpic,\n-\t\t   qe_ic_cascade_high_mpic);\n-\tof_node_put(node);\n \treturn 0;\n }\n \n-IRQCHIP_DECLARE(qeic, \"fsl,qe-ic\", qeic_of_init);\n-subsys_initcall(init_qe_ic_sysfs);\n+IRQCHIP_DECLARE(qeic, \"fsl,qe-ic\", init_qe_ic);\ndiff --git a/include/soc/fsl/qe/qe_ic.h b/include/soc/fsl/qe/qe_ic.h\nindex 1e155ca..6113699 100644\n--- a/include/soc/fsl/qe/qe_ic.h\n+++ b/include/soc/fsl/qe/qe_ic.h\n@@ -58,16 +58,9 @@ enum qe_ic_grp_id {\n };\n \n #ifdef CONFIG_QUICC_ENGINE\n-void qe_ic_init(struct device_node *node, unsigned int flags,\n-\t\tvoid (*low_handler)(struct irq_desc *desc),\n-\t\tvoid (*high_handler)(struct irq_desc *desc));\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 void qe_ic_init(struct device_node *node, unsigned int flags,\n-\t\tvoid (*low_handler)(struct irq_desc *desc),\n-\t\tvoid (*high_handler)(struct irq_desc *desc))\n-{}\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","prefixes":["v10","3/4"]}