From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753956AbdBARkM (ORCPT ); Wed, 1 Feb 2017 12:40:12 -0500 Received: from mail-bl2nam02on0086.outbound.protection.outlook.com ([104.47.38.86]:42928 "EHLO NAM02-BL2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1753889AbdBARjh (ORCPT ); Wed, 1 Feb 2017 12:39:37 -0500 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Robert.Richter@cavium.com; From: Robert Richter To: Marc Zyngier CC: Thomas Gleixner , Jason Cooper , , Robert Richter , Subject: [PATCH 7/9] irqchip/gic-v3-its: Initialize its nodes later Date: Wed, 1 Feb 2017 18:38:31 +0100 Message-ID: <20170201173833.12630-8-rrichter@cavium.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20170201173833.12630-1-rrichter@cavium.com> References: <20170201173833.12630-1-rrichter@cavium.com> MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [92.229.95.220] X-ClientProxiedBy: DB6PR1001CA0017.EURPRD10.PROD.OUTLOOK.COM (10.171.79.27) To BY2PR07MB2343.namprd07.prod.outlook.com (10.166.114.145) X-MS-Office365-Filtering-Correlation-Id: 9eea5cb7-0030-4d59-832a-08d44ac940f8 X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001);SRVR:BY2PR07MB2343; X-Microsoft-Exchange-Diagnostics: 1;BY2PR07MB2343;3:jAEsEjw0emP/TL4tYST1I3i6KbnD0Rhw3rpqbGKdqEZ5N4IXG4t9OJSVqs4LIeeorUr/p3IiADlmUHOfZEoHpBi8gN3HqfgnXzmOlwZD85rnFjkORKAvKZeII5iKPbJg7NGE7vNtNIeXmXF3al4sQ5RQlYzSYCJqCTWXBC1OBPvsYVD1x3RYDH9giqctxXzvIQHR3cZV/AnWGKod5P/V38GSqnIunN1GULyAARMhxCshruw3Mbk85Jt4s3hWT7ZWOIqywKggE4RVC1mmf0Y8Tg==;25:sXhKL3yr8BR+4DObPgf++HSG1blpdYSsq9jMW1JnncgTELbG1r/QbQGVv18uUeKm1g84xcMMpHySBc+JoU5vVqy+6uyi6b+aixoqsDpdJaFqPGJzg6mkdhz5uT57GGJkGgxAxBCy+NPkz5I3vpcxTOgpRNEIbuOvQikRbRifkEKPutWaUXr+HsZMa5RpRf0igT7q/HbomECoe6gflBDcH8vGSEQ7+vZFo/QmaOEgeulXLc8qx1oELwDwmMOgpTuGwZa0qUBexkwpj9TQNryBTZbcxI0ZvvLzCHtFhJ2hhT1YphlLL1Eg85TiHF4uZS9k7e6MU3ROsVdMfOc4OL9QzeUytKr1IUdWjOCz/KC1ZLXYLOwPrWuNKCtmMVELxK0D1V0o4GCGxW0DnSMZn4HbpQ==;31:LTYt8yIpdxYi1WFnAkV3Zt3nrdbpg7rJsn3NRrGQxvM9StG8AEXOp5o10+5M2xLwcI3T2VioqUHv5rAZlcPCwYsEA7+KzN+ATKy43vzGIBNdeQWJGqbcdKop7Wylvw+tFy6acgkJKNrS25nOHjlBGOBIgXO036bmZZwMmeFnhXNGNqOhQWTxRwLpiwQROfLiEuQoP2qMpfERFkj19CmO7wIt9pXXWIkKeAM0e+zvsls= X-Microsoft-Exchange-Diagnostics: 1;BY2PR07MB2343;20:DTuhUhKMIzAkePIYcJG7bI+V7//lrMg+4l1ab+RCPXgpiXbKjRSW0tUL4tGRq6caCADp2uA+iE0jIT69QaqYoq+yHKF6V9L/rcOnDDSMSnW2kfJ+yGggLW+ajNb67EO9qJc3qABnGSkMpMA2FsqvyVv9PMMgy7kTYs16Oci+HNf6DMfeO265WC04nvMq4KUVfvFK+GHFydQxbXiYP8qdHoWBc7T0h0fcMRzqA7CSO17znOV7keRjd4EY3HqxY1FJR2u8Kyl4yQPyd2PdV3aRojPKbufQmxeTBb8K2zrLvZF4kk3lguVm9nDJME89z0jBwxQ/iSDDa63WfngQ4zCi91aFok3iRPhfM/Kr4E8nShRqBwWhp5JXDe9YQDaEBAacagwGNtOptVdx/1HaBowlwReDftnC56Fmv0QvWoUrYIAxCy8hrbT201ZmsGrn/qiEud0o09EnU5d/wUH9q0R1zeeZezigurKN387hT0KaqCSTLoPGenmXOtwJ3ORI5HbZ 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)(10201501046)(3002001)(6041248)(20161123560025)(20161123555025)(20161123564025)(20161123558025)(20161123562025)(6072148);SRVR:BY2PR07MB2343;BCL:0;PCL:0;RULEID:;SRVR:BY2PR07MB2343; X-Microsoft-Exchange-Diagnostics: 1;BY2PR07MB2343;4:+/4a7q8+J/CK71xujHPkY4AX8vCJShyNknkP7lem0ntBMk1m+EdmUccEHB857fO0CSQ2ZqndGtYYXfwrVMaWc+cyDnlcwYylplpxXJkdIVB+6VI6glC8zMlX5z9gjCbqwy2MeFvqhz3G0TNumVZOx/2zHOeJHPUxo/fuZR30CbSS7Hfi1L4dlJ8Dxv1/v36Cu+ynGWpgU4OG9X/n517NMq+aaNXDGf0GiPzu1eAdS19HjvuK5gm86F1yWT/VWUKqxWQea+cLNdV+GriId1uVcesXZZ7+cUkOtjL27hyYeA1gmzFOi42rtq+4Y5NOh/Bc2XEN6N3QqiQTKGF3URQzWvuu5YWGSuwZF0BDXa1NRPWp1bEkyxAJHxz/yYHoP3ZNwA5GWJJW8weOeBmqmAHji1I+Fg87z6TTJxTqZKkObw9hYOlw5vSJIrkqaq3SugPrUBf1/QIwjKXF44yWFb5/znqzuaasOtpY4bCuwVTDy5oRJu3ha5yxL3BT5QOFGJ2MCB3OMwladub+dcZZgdx9psugSrNjpOVuiZ3Y0eFbSDQRRSa4MrLLpNiUPNqrlwwbTAUM7Qew9pmbXsht5chqm8O9nr2H0G/huKXH4cosQ3I= X-Forefront-PRVS: 0205EDCD76 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(4630300001)(979002)(6009001)(7916002)(39450400003)(199003)(189002)(81156014)(81166006)(189998001)(5660300001)(110136003)(97736004)(6916009)(2950100002)(50226002)(6666003)(230783001)(106356001)(105586002)(101416001)(42186005)(66066001)(8676002)(33646002)(47776003)(305945005)(7736002)(38730400001)(6506006)(6486002)(76176999)(68736007)(6512007)(53936002)(54906002)(5003940100001)(25786008)(1076002)(3846002)(6116002)(2906002)(4326007)(48376002)(50466002)(92566002)(50986999)(36756003)(969003)(989001)(999001)(1009001)(1019001);DIR:OUT;SFP:1101;SCL:1;SRVR:BY2PR07MB2343;H:rric.localdomain;FPR:;SPF:None;PTR:InfoNoRecords;A:1;MX:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;BY2PR07MB2343;23:sTIzUIeIR4w9DaDVAz5bJlOe90sRpFIt9BKtiHwbC?= =?us-ascii?Q?8cl2wpNJpyN1WhV1zuxk8f2zLIMF6o9RKmqLQ47dRU9gOJx6OO95ewhveuTR?= =?us-ascii?Q?Vj4YYIuXcgDVpbQGgwhvEHFdPB6TLjBMa508afXp5syzahScuPgiMiQcom3e?= =?us-ascii?Q?gG+Wp7qz/YcG4ZpPswOyqBVEhgR1+mSQGGx0kmdr68H5XJgE83ih7DbTWbf4?= =?us-ascii?Q?EpwyZorQAVjf6u7eB/s1Zbja9rByzHc0PTRhC6jSZSFVXMRqdbkCalRaObbv?= =?us-ascii?Q?vCbXhLs1g6C0biicBiWFW4st0Fv7vqdn+x4ali0WYeHvAz7CqisQtiDuSn+6?= =?us-ascii?Q?rjWFhIaKz58gNG5c7rnwTWZGAr/lBnQW0TQQAQyV9wZaOil5Pe50AkJjgF8N?= =?us-ascii?Q?5NXvUBLFYBBYmCd8W2L2pv7eOC7a76jBJGIW7eLu3j3jWlenLXJXpVEdB7wT?= =?us-ascii?Q?hb3TocwNMVQ7Go0KBpWu0v+uRgV9fy66AalKu6C441JSHTjRM1MgLd/pgZ/R?= =?us-ascii?Q?Uh1s1gtwx7C9hDOO+JeMuyBAAWNsOYyonIT1wQBvKONdPgz3xDSI1LDxiQqm?= =?us-ascii?Q?DIvysrYTGikXZKbD4p5DeqWrA+CQkjiMYsFh5CHWBkYQM6ZWweY7O7kC0m3k?= =?us-ascii?Q?d05XtIIohMeoBG2jKUbO9zi/nn6mNF1jQHy2lIj/ESph3jS7XpBw7TD1yEVL?= =?us-ascii?Q?G6og+gq2cury7zz0zWJa+odinMtu021mCEhvBGxNnLLDoh9NmNPDaOHL6dAb?= =?us-ascii?Q?5KSs5UOKoe0PC2bt5yLs0inV5+WV0eRhn2S4yhlTj4G1YvcUcXLpkLZrmAnu?= =?us-ascii?Q?48xc535aTqBM51mNQkl4SRYcI14TdI3AD35Y/wmyhgC6EmfAjm7WXWN3vwaa?= =?us-ascii?Q?dfMwUOz6g6frx/iwu7Wp/RLC8ybHiWovBsRzJXf7ycsaAqZs64IMaOfEqrGD?= =?us-ascii?Q?OX/U03yjljsvjyX/VnuKfDpoKGrzy3M2ilRqdR2BQnU0GcfeF57FU2HEVg7Q?= =?us-ascii?Q?ydXToq/wLAIOTrfBuS7xJwNNwznEDCasmXhh64o+Jwdxx3EC4JDZhVFQSRSA?= =?us-ascii?Q?Pvw4Z9Zd8ArmBMJFaRj0i2Jumn8+6wNj1ccR2vEzg7gn+nV5juRP/sSrwa4W?= =?us-ascii?Q?hcxkhkDqMzp6jEHbWLeDcz1Lwyasg2BLugsPsvt981zP+Ks0u2ZL8R7iV2sX?= =?us-ascii?Q?WJ1jVdvkhwSQq0SO7Ymscs9o1rPD09tJ5JxEEbMSTcwf4E6uMKltxzJlQ=3D?= =?us-ascii?Q?=3D?= X-Microsoft-Exchange-Diagnostics: 1;BY2PR07MB2343;6:5e6JPqKEfol9vkA4NAbkm7W9jZBxbjZ1//KUu0qd9m7x5hCo984IZX8Vj4Sv8agSPFoi8h00G5ILjKQkUOB6zvLH9Q3dym0wUm992TFYulUKrzrmWXSswNrkqP7JcIvvsgwS+OAOtjw5bomZJUptL8MG0OmS8ybn0q4Q26tDWF3U5MHPomij/+mkjt7AZB2t79zdmjxHS66vCLsuEIsuUgp1CLlhYnnskYnjIPmteHudg2O7za+P3+KKipXo8o7xJuHt5Wa1ctRZC/8EuJwCxbFRJuMnoiuZU+d5wO2NR7ac0YY1grcJyeESPPXW1GM8kcOgkdHLTKS0wVjiowsqjRtBTT4fIwkTnA2C1gLT+Stl3jIuh7adrlNp32gbVtZHlNGJDo2C4/h6Y+v4ZuWVuw==;5:RotLhpidEcJGapKTg6U6IVQDTnLk4+6T0WvkyAeA44sfkju3c4FXyJ54L6kIF2RhCVLTewjny0qp0s+EZm6Jumu62asehxfRNcchiUrTe5GE5lNQIm7b77P0tCT2LhFJ7sPVi5FBWCvdKe3z6rxarA==;24:7tNyupaLZurfefERvd/DdOMSM01FUpzOuO6YJDQu+rePRIGhsQ9ZXcJNRkMA3qc65ZFP32FtMyrHB2J17mC6R/z5qMTaDVbff6rynuX3yME= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;BY2PR07MB2343;7:UjK2rePQSLXBy3rr/YRj+UfnZOCgU+rP1rXVMW/SBcrH2V2w/PuAh5KzyOwLHN2EFp/A8ZOy0NxSpt+zBPnFAN6b9jm9bMZuptdKscf7t2lZadEQxWkxT89hTzhkkS9mYp8teDLHc6OgkKFFpWy3UqWJDt+IbfOF2e41tlV/zAHoFBVkh8wNjECniQJ3hJIZot4XCamF3qT5cZUiMakVr/4/MWhCiWmDHuVLoEEddQ0ew7Mexj8d9+e9ljKn7lLirvXeTdzcE2sP4wai+svNzfZ7vP7T7cZMLfsi1czSnzXZ8jUCR6nPYEixw3/lPMANFuEhtUtM6is9sQ0TvTaVACDgYrasOHj4bISkDokVT5og9m77h4Aob/G3ZiF/yp0PMamG3PtB6epm2lyQQr1XzMIAnkidFVmR15iUXuPc9bhKlX1KivkBCMhkywXpWwNRFggQwpVyLyEe/ocKUJM2z2B77G5d1dbDMjFIHVWUTVYGHvcWsj6qXo4vigJiV500lstgMfp4rTJA7eYQL+XBkA== X-OriginatorOrg: cavium.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Feb 2017 17:39:18.9490 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY2PR07MB2343 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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 68b468686d5b..e915bb393c87 100644 --- a/drivers/irqchip/irq-gic-v3-its.c +++ b/drivers/irqchip/irq-gic-v3-its.c @@ -1897,7 +1897,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; @@ -1938,3 +1938,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 8bc5c137b059..4cd6e6c3cbcf 100644 --- a/include/linux/irqchip/arm-gic-v3.h +++ b/include/linux/irqchip/arm-gic-v3.h @@ -433,7 +433,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) { -- 2.11.0