From patchwork Mon Mar 6 12:57:37 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Robert Richter X-Patchwork-Id: 9605965 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id 2D53E6046A for ; Mon, 6 Mar 2017 12:59:10 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 1E7DC28236 for ; Mon, 6 Mar 2017 12:59:10 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 11B772833C; Mon, 6 Mar 2017 12:59:10 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-1.9 required=2.0 tests=BAD_ENC_HEADER,BAYES_00, DKIM_SIGNED,DKIM_VALID autolearn=ham version=3.3.1 Received: from bombadil.infradead.org (bombadil.infradead.org [65.50.211.133]) (using TLSv1.2 with cipher AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id 62ECB28236 for ; Mon, 6 Mar 2017 12:59:09 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-Id:Date:Subject:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=sluZnLw/VCeU7rslgztTXEzXBHsUhVWWHnb3G91TEpk=; b=SImcOj2nc2q/ce WjxhdES4DvZ6dQnB5B9F4OfujXEsrafhqC2RODw42nRt73R5J+he2Ru5AT2HyLo6gZ2IYDOKT7X6v HQC6JdsfUyIiJ9a+7EEofYlHgKjXPwYqSBzUl6E5wWlczNCNM7NxM+X1cv5ClWcl0ZVPpAajXx1XK kHozqg7r8eh0UWE6x5xGVu75V/cLX5DiJpZA+W4SeU5fJSDpdsmsMt/Fy7MT8/RDktPZyHCbY940V hCPM9ZFNGC+wijCRIIvOX2LXjaBnUPB0iGrXGo+2jt98VFO51olVF2G3xRJVJ1wLZCYVa6fIpL+gN 503ahr17jIy+JmvKLFjg==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.87 #1 (Red Hat Linux)) id 1cksED-0006sw-T2; Mon, 06 Mar 2017 12:59:05 +0000 Received: from mail-sn1nam01on0061.outbound.protection.outlook.com ([104.47.32.61] helo=NAM01-SN1-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.87 #1 (Red Hat Linux)) id 1cksE9-0006Z2-0Q for linux-arm-kernel@lists.infradead.org; Mon, 06 Mar 2017 12:59:02 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=CAVIUMNETWORKS.onmicrosoft.com; s=selector1-cavium-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=nJ8PHlKVh6D5uY27KCjJohQq6OQNts+Z2m0fSP+m46k=; b=DuHJqtECvvgmtGxYfPFX+P4NaFJ1LY1pG2gr11QokFVXMYj6ERJd+FDrdS5rjPbB64ZRgm5z1wEV7llP0FHC0qQGd0jQyuecGPJynqnOY+u/D2vqLFM14sou2LKSHgx1784/kd/5TKJz3RAB+5SocxA+uxAJg3MjNd0hzWwQrRw= Authentication-Results: arm.com; dkim=none (message not signed) header.d=none; arm.com; dmarc=none action=none header.from=cavium.com; Received: from rric.localdomain (92.224.60.20) by SN1PR07MB2351.namprd07.prod.outlook.com (10.169.127.17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.947.12; Mon, 6 Mar 2017 12:58:39 +0000 From: Robert Richter To: Marc Zyngier Subject: [PATCH v2 6/8] irqchip/gic-v3-its: Initialize its nodes later Date: Mon, 6 Mar 2017 13:57:37 +0100 Message-Id: <20170306125739.19445-7-rrichter@cavium.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20170306125739.19445-1-rrichter@cavium.com> References: <20170306125739.19445-1-rrichter@cavium.com> MIME-Version: 1.0 X-Originating-IP: [92.224.60.20] X-ClientProxiedBy: VI1PR0501CA0018.eurprd05.prod.outlook.com (10.172.9.156) To SN1PR07MB2351.namprd07.prod.outlook.com (10.169.127.17) X-MS-Office365-Filtering-Correlation-Id: b02e6730-23a7-4c18-0eaf-08d464908385 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001); SRVR:SN1PR07MB2351; X-Microsoft-Exchange-Diagnostics: 1; SN1PR07MB2351; 3:JWM0j3K7ygmN+Ev9BpravTwG1HM9IExvMk8A7apkZYmhvSVkSB0f+QVACuB20uSgTtmW+BCJ9JcDWaTseBj/icqFZ/BePzhC0GoEOyyNOAxhY2uG4aISMXo9Pdt1opnMM7z1b7e6eLPaRFEUJ2SJKcNqftvLzJfpzmellGhHmC0vVPRbi0ZVEzUwMvnFF2Z/HCkE8ISutoDbrltQ4TJKqTJR4wpHPaT5XeMeavKCANCM8SBppdjSLShLZZyoxHEhxOnUAupfiqI9Cfr4zss1Hg==; 25:D/EJQDHz/dWBZycg6LjA1CMq9Cp2B/WOC/Y3Yq67ugRoclkgnLPcjp4NUCTVUARgkqELepmWmVgAoa+vpBfWt1OfeccxDNM5Jz5Y2/aQqdGyPVUxGkU7HW0eIn+IS/9cPWjU6kwXahGexTvGUMj8kuFnSB3CeiNF42I+PHWvXCkNc/JZfBH4lKSaBW9qBUMwvvRqhgcqiEoDW6BICQb/ynyx99eM/FPZWA03iXE8FbUQjoTGrDBQa7UxYi06PhA6RFOPVkuJXTmzH88w1PFVsuDBZeoc97fYFcBEU5ltLGfXy++dNNtZI+CVo8j2tFNvQLQ7007OlLQRgxQMcmR3q6kyYWXdCiEbQwk/oCfT46CY0FQjyzP0MfbXEvlK823Bwr9BFYvXCxpMf0d4jH/VQCBsUVnShewF9E8h/CAuRsLS0heX7lV6pPJscbOQTpzqg2E4sY2AfjddTjvyq+w+DQ== X-Microsoft-Exchange-Diagnostics: 1; SN1PR07MB2351; 31:6L0+uP+MNYFgVlM/Nn26xQ/9wCYpBKYermmIzS1hv8C7+1q6pIEKovuUjkWf7f3U/DvtTwrIUQVgxg+8j5PVoSmqI+j+5NHbhAmKPy/44Bv8gjRbNr3ds+xt9pXPeg5jmym3HxB840NXa2l2CKIAvlEjW5m3ODA0F1+9ZJj0JETvqnR3Ay93rZe5nmbk/6DKdKtnbf6DNRmm8SixlCpc+sD20wBesd+M71b3JJRg3F51jAySXU2GhSl6faKDJirM; 20:W8mH+tCJztiuD4SCy7lKpbMAnvyaVvr+VJCuJNgSftv1ucVspA9q38TI18gijafV7+xzTg15ZtaiY781DhcLyQpYyRSEnZJ/ZQfCdJN++xctjnUaLlFICGmmeI3KhpAwXm94656f//JBMYK1ZDTdZF8VFJoL7BMPtVvIPCWxJEEhXN+Y1TqGw6roIulqhwcBRfEOx5f2gG7WABGWNXhpd0D5bux7q2Z462ourqwmDsEPvPTbunC8QtIe9BeI5P1j2NpSiJimShc+kMRNDyoRWs7q14B4VcRA1Ex790KAaN9PPBnH51PJqGBXP3yXtZfuA8HTNSxeWG6IqSYfXwvD/yPOCvh1pW2dIqXgPvYjY7x/ztQVSomncJq8sWQy6Wf/xjkDyiZ0W3SLUKw2f6+fJ/EORhvCZQhPvlT71/GcGTayBJY3oW3A8HxLRMJh+lRiH7WCOuonUowhEPyRPXbcm9FeX72cbd8mJZqQ0ymyJqVTUmdPCzmZD2Dm562zGM0O X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040375)(601004)(2401047)(8121501046)(5005006)(3002001)(10201501046)(6041248)(20161123562025)(20161123564025)(20161123555025)(20161123558025)(20161123560025)(6072148); SRVR:SN1PR07MB2351; BCL:0; PCL:0; RULEID:; SRVR:SN1PR07MB2351; X-Microsoft-Exchange-Diagnostics: 1; SN1PR07MB2351; 4:Rw3L5xtH3r3bgjuPvDQREYAfjwYT4wbI9rW/UJ6dG8HqDckWs995ZoVbVF3XIqiOrH+Jxs9JuFNJM9GPcdw2+aGfApVlFUe+1UDQffWzAJEv69EfuPPwoQOl6hDhSMRZ7E61zOWWCJPHjxNX5Excj0zmz3h746ERAth02AGuXDeOXds1w9591NC+WZlMzDSjijAyx0iWqAs0ziMJr75YCSJwbVixm+Tu+J9uI8z2pI84oARtAzAbkmGU2VofxEM1TV6isugNLBb7XjxzHn8lvWkvMAnIxeTyjXgNNB2rd2iaGpJSgCqsr+tdfPLy5+TalFgAZv/NMw6gakrkNJofydPV2vhEQhb69QR0bTIxap3Z3owPhnCKaPCXIwLiXCpBYFC4n7QRHaYKQNd2l47jZGbSm1jE8PJ/eEiiUZCziBC8zSx2LZBDhZK9t6CWKX67TdGK2dBTIzyq9IWOW4ccnfZ9B0IyReisSbAkCoBcVYQLr1huiFQU+DuLzRewenHqLUipaQE//WkhI+/6+A5gqLC1TTtUa1LqOaOVLyEy/17E6V1kgVReI0rupsHmFkRu/GoY8WHD5uw0MmfrahIT88bWRloNtVWt4jPiJmLHldE= X-Forefront-PRVS: 0238AEEDB0 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(4630300001)(6009001)(7916002)(39450400003)(6116002)(3846002)(2906002)(76176999)(7736002)(1076002)(47776003)(5003940100001)(6506006)(25786008)(6486002)(66066001)(92566002)(5660300001)(305945005)(4326008)(33646002)(50986999)(81166006)(50226002)(230783001)(6916009)(48376002)(42186005)(53936002)(54906002)(6512007)(50466002)(189998001)(575784001)(36756003)(38730400002)(110136004)(8676002)(2950100002); DIR:OUT; SFP:1101; SCL:1; SRVR:SN1PR07MB2351; H:rric.localdomain; FPR:; SPF:None; MLV:sfv; LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; SN1PR07MB2351; 23:UDnqqyAFJS0DtXk38k7ki8RAcJvmdHS/rsckfo5dw?= =?us-ascii?Q?2AhvN/p0q22nhSjud23N0vrCpxNXnWz8gZX/aJlTvnj4ubNup7afDvMlzt/+?= =?us-ascii?Q?xDw8E/W+1qY5Gl3FBt61TQtw2ZEt9nG8B+CBGZ/icPuoDvDb9FjdWWgrozGc?= =?us-ascii?Q?s6rfF9VuE7VwILaGnla25vJAAJ5ZlU1zIyirtmMTFLeXqVfAkbW0mKZZ6ylq?= =?us-ascii?Q?TrDvRnJhP/zvg/gBBsn5VIUkyXb5BBYc2QxLWbUs+jGGkUOEKXuTaFF2y4VB?= =?us-ascii?Q?h1Sq/kn1ItLNhsDSz6jWClcXU2q8PhlXHxzXV90U7w12RjAfNF3QehgRP2y1?= =?us-ascii?Q?GpncuB7TNmFIU5HhJ9vDxPGgGy2PYau36+Z1cudcPG8skxl+koMTDnWhqO6X?= =?us-ascii?Q?INNDw+6nHGy8FL6UCZrJ3sPt1fydc1/9hxi9KyXmWR1YVYXSokw3HemPeLQM?= =?us-ascii?Q?Ksxi4dLS3TTrvLa6WIA5MOdyJ68M+3UM7+A0iqNIy4EOno+3rHU21WUuDGB+?= =?us-ascii?Q?/IUumJHfZG0DSERIL9klawxixsq3Gg8z8NcD4FTwK/xj/12/If5Co4gpORUD?= =?us-ascii?Q?L3H0CvWadEQhtdUaGdThxW7qN8Mff+farm/IxyBdx+4B+ubP96gV7xlUmPib?= =?us-ascii?Q?shLZ9EXOIGVMe2FinzIb8DcipkrOfvEkxjHHprShB8xTwgP4rAV2ypta0sFG?= =?us-ascii?Q?qbyG9mEec7lRdBETtcDDVz3W9aN7w08Om0The2s49LAIAkVkblnfdH3/NUrv?= =?us-ascii?Q?VaNjrsOSTdDRIFk6eTt9Dd0C3DldWjj0SaoKFT7gNeVSywgI4ddWY7SgCoUS?= =?us-ascii?Q?xUwnFD7fytRyUCf3CXcnevJZ2CZ8zicCgDUAYt+MU4rqvwrTBwwbG1VQMdDn?= =?us-ascii?Q?gCR/oZj9v/6xaREC4BTtymjMDG3p7ItCJ2Z6mp88bICHljda4vur34eahuct?= =?us-ascii?Q?+E3r+HymyMEaRwGt+CzuHHhjAxwADmbOOk/UStWxDxtVfwqhevY3dWR7xG2h?= =?us-ascii?Q?Xg=3D?= X-Microsoft-Exchange-Diagnostics: 1; SN1PR07MB2351; 6:hcjr5dmpfVxeMS5hnMzWq/jF/CQm6P6r8zZ8aC5YNnPqZOGHq1UkXbxv3ItW+5Taf12WyZuSzvHjeQwL2k9gWS5BrB2RdMDoU9mTtBDlVESAOxH0QnViBMRgQaKRV0hxlCI1uZo5+DWyG1IqHAGacja27PZhXTtVEws67cg7W/CMWsjOScJN8BFzD5H+3rE1+pabibKKMvUWZxXORD3CKVftrgypiu6Z66UnTfA1nulkV/7+F0wqAWDXWgxF9GCHbKYXgG0zL/DfsbufUFicrSh3Dw0iftjpwJg2lPREyaNW9WBXplHLQ2GKD8iGCtGy6Vi2ztK/bY0pIOF/ptnb6ydIpHmQ/o/uSx6eAWsJ8kBpTktxjAIqJcXJgH9fdYNi+GNKfuxJ3PaMmXVnrp5KNQ==; 5:b4u7HDsbFSlriWcwQkT0pExWPq3mJWf2orKXshntg/frM/792Mz3TojiEjzsftu6yHBG0YOGKGopv9oXQYRUMsAGn3pwM9VA2BvgBPAzMBDZ6kNZ540VQJ/4FSBYaVpI3pGrWv48ACOGbWrF5e5x5g==; 24:93C4wlr5z0cT47uG0/FStaSwhfuRwt/cm/fYQclmlRnwlpYOH4b95CtjIQU2Cr12XWYbTKdLe4M0p/0Pjenh9N3rpDV1/ABGDyNCy9g2K88= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; SN1PR07MB2351; 7:dqZk/IcwpZEkQJomzX8GWhvjcch/TgZfzGQST3t7kAZVBhXT/H1dfb3tTG6V7+g3rasv8XXb32Jzrg3V1SaDZTgClTnx30kedXWeBfxYG/uoliOmiLoUIJka7S++iIQ9d4go5vt6xq1n5Xd30VOjcOfaD3x1Sudjv2TwnosUzabSvU5oWXtTwVTQFs5XuPXem2HD70E2zfKpHBDVpslAyurYLvwOivWpHdlvisxue6LErqwxuB8KYLOgEnpNFPU3joW721BOfSdS+TBDzIdds5eznIwdBv9lQqXH8viUmbp689o8DyEP1yQSeOEmZkDn2sFo6+T+LhJFh+WGBs8dyA== X-OriginatorOrg: cavium.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Mar 2017 12:58:39.7248 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN1PR07MB2351 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20170306_045901_113405_D988F32D X-CRM114-Status: UNSURE ( 8.41 ) X-CRM114-Notice: Please train this message. X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Robert Richter , Thomas Gleixner , Jason Cooper , linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org X-Virus-Scanned: ClamAV using ClamSMTP Use an initcall to initialize its. This allows us to use the device framework during initialization that is up at this point. We use subsys_initcall() here since we need the arch to be initialized first. It is before pci and platform device probe where devices are bound to msi interrupts. Signed-off-by: Robert Richter --- drivers/irqchip/irq-gic-v3-its.c | 3 ++- drivers/irqchip/irq-gic-v3.c | 5 ----- include/linux/irqchip/arm-gic-v3.h | 1 - 3 files changed, 2 insertions(+), 7 deletions(-) diff --git a/drivers/irqchip/irq-gic-v3-its.c b/drivers/irqchip/irq-gic-v3-its.c index 8badc230af4b..c0eaae35c631 100644 --- a/drivers/irqchip/irq-gic-v3-its.c +++ b/drivers/irqchip/irq-gic-v3-its.c @@ -1902,7 +1902,7 @@ int __init its_probe(struct fwnode_handle *handle, struct rdists *rdists, return 0; } -int __init its_init(void) +static int __init its_init(void) { struct its_node *its, *tmp; int err = 0, err2; @@ -1943,3 +1943,4 @@ int __init its_init(void) return 0; } +subsys_initcall(its_init); diff --git a/drivers/irqchip/irq-gic-v3.c b/drivers/irqchip/irq-gic-v3.c index 2b9be256a9ec..69da7c1ccbf2 100644 --- a/drivers/irqchip/irq-gic-v3.c +++ b/drivers/irqchip/irq-gic-v3.c @@ -1164,9 +1164,6 @@ static int __init gic_of_init(struct device_node *node, struct device_node *pare gic_populate_ppi_partitions(node); gic_of_setup_kvm_info(node); - - its_init(); - return 0; out_unmap_rdist: @@ -1456,8 +1453,6 @@ gic_acpi_init(struct acpi_subtable_header *header, const unsigned long end) acpi_set_irq_model(ACPI_IRQ_MODEL_GIC, domain_handle); gic_acpi_setup_kvm_info(); - its_init(); - return 0; out_fwhandle_free: diff --git a/include/linux/irqchip/arm-gic-v3.h b/include/linux/irqchip/arm-gic-v3.h index bf256ce1715d..41b7a5e96b80 100644 --- a/include/linux/irqchip/arm-gic-v3.h +++ b/include/linux/irqchip/arm-gic-v3.h @@ -467,7 +467,6 @@ struct irq_domain; struct fwnode_handle; int its_probe(struct fwnode_handle *handle, struct rdists *rdists, struct irq_domain *domain); -int its_init(void); static inline bool gic_enable_sre(void) {