Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753293AbdCFNfV (ORCPT ); Mon, 6 Mar 2017 08:35:21 -0500 Received: from mail-bl2nam02on0048.outbound.protection.outlook.com ([104.47.38.48]:28222 "EHLO NAM02-BL2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1753115AbdCFNfI (ORCPT ); Mon, 6 Mar 2017 08:35:08 -0500 Authentication-Results: arm.com; dkim=none (message not signed) header.d=none;arm.com; dmarc=none action=none header.from=cavium.com; From: Robert Richter To: Marc Zyngier Cc: Thomas Gleixner , Jason Cooper , linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Robert Richter Subject: [PATCH v2 2/8] irqchip/gic-v3-its: Initialize MSIs with subsys_initcalls Date: Mon, 6 Mar 2017 13:57:33 +0100 Message-Id: <20170306125739.19445-3-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 Content-Type: text/plain 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: 028d7507-e204-45b4-1675-08d464907e2a X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001);SRVR:SN1PR07MB2351; X-Microsoft-Exchange-Diagnostics: 1;SN1PR07MB2351;3:FqOhJgdMIJPbUQa9+DNZr+TdWJcN228ON7814gcG+qMaXefj2hUyKJKNtc+COeUOHQQ74FB55MjZ652j1h7MRWlk8uidHE2NMF2C2diqrffvvBGoKrnryZGk3IXjCxv394MMo2Ird3CAsAgIGR7D61LqNE9GHtJuRWGL/OVO9vbKPw15G3bjilhCOAAfh+F5yOCM07XkkyWtD33Ba/KGzyeta5Td9cs18kyBGRJEOnqBybk8HtjaRP4UnyUG+/zl9OOx+7wpy12g5xBfKqregg==;25:djEqorvAmEmuR/nauWs33HporAh8kFFC0ytx7+SekkowdmsdpErZA6g3M9EDviWyNQpK1PHyI6Zh0YAMz0FsQMQ55fHP4uVxdKK/1/nhNOzdTZXI8W4d/+CZgo8e8VvDxggRI5jgqlu29YHHC8ripRW+h44HcG3+iDtbT61jFxbl2MR3zHb0zMK2ZFw33q2PLUaUCaD9zsWx/XSg4EIovPXIgakqQu6WqwztOpXYRH+h08uobgde+gaYFFyCG5lUzFj7188CRFth9VuUBuNstoTJbSn0fW3+WLNMzM/xWg3NVXnJMdrNvgNw6UMjXsddjGRHtrRwwkbsdZkT3YOPUpMV7B8Qo4F0EJPyZ9zYA+wbd6zFHPpYAWVK2MOW2ctx5/+wfADpffqpbasqEG0G4hJQfIPVST65Ls73+oLRQt2++N3vZbzLQi+9UI+jYU8XeMgguSkN2ilNXDr3w54Gdw== X-Microsoft-Exchange-Diagnostics: 1;SN1PR07MB2351;31:QnwtxAJmnurk0Nd1Vvf7pgB0YGWb5pNUKbKk5mJbIeqVqZh/v6Z3FfW6qKZikO9Q2nbOrBe0nW2am8n1ki/rxxVcIkq8m49jKB8ryja8Gp/H1TeBye8KG9mire2QIPT5NFLGzzh7EOsS+OYudetAlocge6CEJLwjXyU+uh8cnyL3bTN05IMoHTdoq8UCQPgLYhv0gBIBrvRutN4Q9KDZMv8PaS1fN0R0M2UXmELbPJw=;20:ddLGRsMNGc1goKNwZt9Sxl1nH1hC+pFY9aADJTEKhhIC0eE5J7zf6i5RolxweUZXr1v6Srorpk7FsxHJuGuse2bjYvxbHL8ZF7U8YCFwrdN48iEfkpIKd8a7DyGEefZEg8niYElMi6RxmiWZ7yuKWkUEhD93jG2tRvw454stFrP3r4Bry6M9uS1yVySwy4pc6XU4DmP23Jv6AO9uUvM3JvG8tT8hTswQLq6zmkSv0pO8bk7fZwUSdpXx3JJ7IN89BPhJE1JDradJD9p2jpKiVR1/X/cyZCKFNzTPN5Q4nBloowETl81fpbh9xiU2HTuHxAOx+4VgTSlwtqS966irPvj8dXoWR90ydIuQyzJ/ny018dYlTvtIT7YaBBaDFnn5btSRbyrQrJH2qrDPbFehq1HQKdOxznTbmTbtFnVKOUgsXt5qqiV8CaQpkoPboAxWEQckgzO+rrM5XdDGf1TF6m3A5NL9moWxuFOVoHYW4kbee997HmP//R7kAswLodbS 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:AuJQAHfLi6cxSJHW/mMi+cWfps7Qb3ni163bxQsYx7EmJY79XliWFv2rsxhP2ZI0tTxeSzvhCbP+NlZ7GIggHKixE1Cc6/vUEQSh01x585DG8IDSHhft9dGtcNp6O208cEfjfCWcoUp5eUMrPPkqbmZeHzzYWLpUW4UVDswVgfQWpfsbWTJ5n1HoNkNr2//JzuIJTJ3dZfDR6jgjROa+hbX3Rf+Cwup/xKEgTkzubmEqqpYtypAcNP5ZjJmyndOVRuIWV3Bk6x/2Fp34akCo5R6SwfGOXzbUywRBx7Xc9mFP2sonws3sbe5zzWoWEjpBIA6+UVQIXdvDn7pPYBTUmjK438YnkS9com7NoYAaCjo1GX0xFwepu23HZszrPbB8z4T14V8YdE2mGgjRLH+eZHS+BN/vFplolGTIywdjT1DtzT3OL/J6rcXy+1zahya7Msdy/YOqziOm9G20brwHwoqTumOuh15W4d7JVdzNuvNqIawROGraGCqBux5c8lmcMeDW+78kiOaBHB5w7zYvlyc/IO+qH7WXP+akWaT7IxEESSe1BpHqiHOv1wZQlvtuWMPiThAVfb22x67aLT0GkhtN/NeeVk1yoOE+6EQyf54= 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)(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: 1;SN1PR07MB2351;23:ryoc7xnX3/vvLAZS9XYQkxQfT98QZAqSnoYY8vZjgxmoYOlfyKcsrVJlgGrZLaXqpXrslzaHToptDLSOTWggigtd7e//3TMYHRE+z9WHAPbQFjHfJUhknEmkJYBVDMg+nLmmz/9K714uzyRZqBNaFQMaAFb8B+OLzrcX/h1TnP+yg3EkCRJNOiir0Bz2ZDwI+rzEC4VeLLM4mtdO6B87NBWuK41PqugN+S6Ign6di1xfl81LLSqB93K+JIKf9gH0fWXaAvdRmCpqLLfQZV5fPZHOPRqM3Wtl4yE37DY+Pt6SwGH+QNlDxDbXLFrDcvuVvx+jAHkZQVaplMUohxTc5MhbuUyt+1i9BjJJs5DLeBRc1yPIuB4dIKOa4CN0fjr1ZFHrmLVNvgNw+5aCM4xO1Ee/v1KUeuf+PUR1ZSI1NAlBHzlpXyfWo/m3KdvUCR6RJrvqE8Expd4TfC0UxjyucaP4u7p2DenxX2PD60bqBZ6AMV8oJc8hr/J0oKPmaSdWPoQ/cmZboIDxq8MxrNGqACsxlwv9Tej/Q46n37AuqdFLzRoS0pYjwH3TapaLrRXMXqBwvy0omvkX8nRsQUF6juzAkXNTDZqg4Xqmz/F2mioAvU8nxk8IK8tLverlDkBA6s5KakMcfyXYsrplMEWUELxd5QOGc8ClugtfH65QcZoAOh48ePqvKA9/KvugYCQrvvfZJnwnUp1jAXjKBq1YP3ha/H3mvhmXYpAVrlOX/HcI09foffejPEAKNEHGWrj/vfBYkQMwm5i4gE1EFDnOxChYEqTVagFeJ9ZtpvUDEWmp+DVgtx5Om1H61XQcwJt1cOe1iCrYe8CSt+0fc12q/F4r840ODH/nYaO2PQKPmIX15LfPUMxQs3tTRCVm+mXT8CQvrU4JKxntY98vx6EWyPKvZsxftou+iSX1aNGBNSRjiADauAd10QRjYk80xXrD X-Microsoft-Exchange-Diagnostics: 1;SN1PR07MB2351;6:e7OQ/bsJOu/ahZdMccF/AlZu2IMqMEG590+wyIODxepFWmKhD0q2yFojE0frGCmGeAruwb68GPXXnqRzg7RJyYQcRWDGwV6GK7dVy3oZX4wJR44r0iJnOkKBoG+xxOvWiFnFh8PbMS5wXbK+IDRZ9dQPrKkAsDit0CNC3pdqZ5eEY8kysgLcpXDWw/G3BPLDg+68L/t0aJNRQ+8IebL4kLOxUpPwm5fwUobGOBOeaI3rf3JaPqYmi8SSwRKWrqlV70jIhbtfvz6pklYXvg2UDLhHQna9EaIt9UE7t8/m7pIkcGXolOs8P2DsHzrRCu+VK2rbCVW1R1lbsKBS98jAf5lmFbXw1Hyf7O316lB0zizwaYsW0Ygoeef1i94mn9AxEngNDIhArIx2BCWfnhF2jg==;5:eM19kGqDJdNCmc9ZsYcsm8KwqvhwEklwgNs1RQ8f5KfbKrm1BM85AC/2LoMmNd4TudiBTjFVtVBDp8GACKO5mquwtvko2AnytQy2aNhNLPezeu932Hb+VG10Yzj9xOKALvunO66HJJV+b0THERPmnQ==;24:EYXS9McwbF3kfxiQDvq1gPNqrDi5MvNINMz39TmXsC/9+RUXvG5LOM9n0f7Pgj7KoNt8jXiidJZf7EmbiPmhaRfdd4EiyPcK7aNCyKaGvS0= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;SN1PR07MB2351;7:IXPHYhTyeGVHA7C4PXS3sFeHmEddjZBpxcDVRKNEDkfesCVpFZO6hJ7ptHqP6WFKfVx5+RldYg+phioc+jBp3iSub7GAI8RV/EEqTC3AR+rgBpWRk+urVJ9i9vj9yIi5cRqpqZWkFlhPRTHWpKr1fZuGCjE+xGi8LmFf+4jlJF+c3DELo19bOt37X9BrR8B3dDNGGpSrwgZOiMvbOK+SMOC1emMXRCBiY2WQuxmncf8s1riRQrh/1lxCV8/vg1T7RFiiqEqf9E3Bi1DhsV+GrOCJwAxFent8oEwDy70fGhtJ2YfAgWGWGH0iNqaV9li/e4SEUgkSRiRxTRASx0uI5g== X-OriginatorOrg: cavium.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Mar 2017 12:58:30.1462 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN1PR07MB2351 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1222 Lines: 33 This allows us to use kernel core functionality (e.g. cma) for ITS initialization. MSIs must be up before the device_initcalls (pci and platform device probe) and after arch_initcalls (dma init), so subsys_initcall is fine. Signed-off-by: Robert Richter --- drivers/irqchip/irq-gic-v3-its-pci-msi.c | 2 +- drivers/irqchip/irq-gic-v3-its-platform-msi.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/irqchip/irq-gic-v3-its-pci-msi.c b/drivers/irqchip/irq-gic-v3-its-pci-msi.c index aee1c60d7ab5..dace9bc4ef8d 100644 --- a/drivers/irqchip/irq-gic-v3-its-pci-msi.c +++ b/drivers/irqchip/irq-gic-v3-its-pci-msi.c @@ -194,4 +194,4 @@ static int __init its_pci_msi_init(void) return 0; } -early_initcall(its_pci_msi_init); +subsys_initcall(its_pci_msi_init); diff --git a/drivers/irqchip/irq-gic-v3-its-platform-msi.c b/drivers/irqchip/irq-gic-v3-its-platform-msi.c index 470b4aa7d62c..7d8c19973766 100644 --- a/drivers/irqchip/irq-gic-v3-its-platform-msi.c +++ b/drivers/irqchip/irq-gic-v3-its-platform-msi.c @@ -103,4 +103,4 @@ static int __init its_pmsi_init(void) return 0; } -early_initcall(its_pmsi_init); +subsys_initcall(its_pmsi_init); -- 2.11.0