From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756398AbbJUWwL (ORCPT ); Wed, 21 Oct 2015 18:52:11 -0400 Received: from mail-bl2on0110.outbound.protection.outlook.com ([65.55.169.110]:4881 "EHLO na01-bl2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751967AbbJUWwI (ORCPT ); Wed, 21 Oct 2015 18:52:08 -0400 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=scottwood@freescale.com; Message-ID: <1445467912.701.90.camel@freescale.com> Subject: Re: [PATCH v6 22/22] of/platform: Defer probes of registered devices From: Scott Wood To: Rob Herring CC: Tomeu Vizoso , "linux-kernel@vger.kernel.org" , Stephen Warren , Javier Martinez Canillas , Greg Kroah-Hartman , Mark Brown , Thierry Reding , Alan Stern , "Rafael J. Wysocki" , "linux-arm-kernel@lists.infradead.org" , Dmitry Torokhov , "devicetree@vger.kernel.org" , Linus Walleij , "linux-acpi@vger.kernel.org" , Arnd Bergmann , linuxppc-dev , "Hu Mingkai-B21284" Date: Wed, 21 Oct 2015 17:51:52 -0500 In-Reply-To: References: <1442844182-27787-1-git-send-email-tomeu.vizoso@collabora.com> <1442844182-27787-23-git-send-email-tomeu.vizoso@collabora.com> <1445406845.701.55.camel@freescale.com> Content-Type: text/plain; charset="UTF-8" X-Mailer: Evolution 3.16.0-fta1 MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Originating-IP: [50.157.106.250] X-ClientProxiedBy: DM2PR07CA0049.namprd07.prod.outlook.com (10.141.52.177) To BLUPR03MB1474.namprd03.prod.outlook.com (25.163.81.16) X-Microsoft-Exchange-Diagnostics: 1;BLUPR03MB1474;2:wbzohbkVGUxX9vk7YX8dwvinyKIChvwCLpkShtRpVPupeEwgTt8qaBqkLWXvTeFr2AvE79Z27z89RMjNeg9fwUznVcKaY9RWfP4FyP+iql7M49VBQG1LySuH1dAKwvqb36LllXsj8sO29YM137hcfhP+ovmP6sIZDr+DruPDDhM=;3:5ljci7Dwm6n2Z3SljTRWNL6d9wPgrLbzgdrzU/FE4ll94ZtFQNijYQBbBFHcSFE4zxEhvaWxYyTFnI9Ao2a4+t8buBRTQrPsV3sDK82dmxs4rJ4A4x6YdXfbjWgJemaohjPXb127IWU2jphUOeMi3Q==;25:yYRemmVSeQMoZWb4Wtn7w80IdNLEK76Pii4n+LNozlqnI+B3HuOiDYBFTPBMPBXFhLPLTgNahRb3j6fnsEgH/kvsmT0Nzby3cKgYH+tfCerEaqNGvvAjnciCMSoV/6aLzHDKppTAa0HTJFzQZFB5a9raraB0Lt0v76OtVA/Jsc/FxqMHyVZQCMMeGYiUAI4kkMO6sESESzRMTFnTm/sc1wYmgpzRSOKaEWsnzwLKs2pKSNLjJ1plRL/1ooPf1YMogEptMtlx+I+BtjwpPpykXg== X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BLUPR03MB1474; X-Microsoft-Exchange-Diagnostics: 1;BLUPR03MB1474;20:KmnxjBC/FdZdiJWZ992bMSztmugWnZH7sQMElYNCcznrGd8r545n7M/3GYoXV/uDzKGIubADv1d40SxceR2VmhY2zbBmetv63fCV3eEOVyh19bwW3KOT3zWuYcb3C1b1uIGMsjArjQDVOCisp2+ayNDJvDs85e+NecbuapVLN3FqX6D3+QjZXQhrQMPyqHXHPpvT7dy54aBLDj3cH+ACiU7LT335722rFbNYP47otrJJpujuTU/2q2bjzdC9ADEGymF7wcxfcOcemRXuFyPC4kKrxKaUDuLs6wpxxZoaVfY4fe4eJPuIicsK+bcZTn9cjQp+O3YHHKdOTChzCHATiDXLNbJmW9vRKzL9+yUN6HGjhgVz0v4wNcPlrB/PqwHzQMvWGXtoIxTc5W+1WtARRgOWovLtvO32u6OTie9vqJIW02m8GyyHdrXoWCNTXEYD9zHvOGbUkXTpzwhOIOklPuaUd93Xl6HxZ9W/4Fktk7SlWx56+qsOuBKkFPr9bySd;4:hoR10AAMWj0OpyV8O++tuT8JslED5fjmt726TXDSovE5mYmGw0yDnUcpl700wJULEf54OjzNZTKXRL+jeRssTelNTc5T+DYLI0JMXljjZsnNT2WTNwdbTLKSdO7UZ/RAAgyhu4xXGvWaZeSTt8ZCliG0wHnhCypdMW0eqEnvzxQd8AcRbGwXO62vxzGiFO92j2xE7tVfTGZJgeA5Suv2e8FfS2H/v1/QNloFNGpil51LE27l0cnj5W0Zofp1GsCFjAZxWEyFpgNGDa6nEWSYxl1r+yWsG/5HV7u/7VAY4yuPoyHclA469nKxidimSswS7H9m3eWixibytTILKqFqUyboveUQT95/pfPRxqf/a2s= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(101931422205132); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(601004)(2401047)(520078)(5005006)(8121501046)(3002001);SRVR:BLUPR03MB1474;BCL:0;PCL:0;RULEID:;SRVR:BLUPR03MB1474; X-Forefront-PRVS: 073631BD3D X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10019020)(6009001)(377424004)(24454002)(189002)(199003)(51914003)(377454003)(2950100001)(5004730100002)(93886004)(5007970100001)(5008740100001)(19580405001)(189998001)(76176999)(19580395003)(46102003)(33646002)(122386002)(64706001)(92566002)(40100003)(4001150100001)(23676002)(50466002)(81156007)(36756003)(97736004)(47776003)(5820100001)(103116003)(77096005)(87976001)(86362001)(106356001)(66066001)(105586002)(110136002)(50226001)(50986999)(5001960100002)(107886002)(42186005)(5001920100001)(101416001)(99106002)(4001430100001);DIR:OUT;SFP:1102;SCL:1;SRVR:BLUPR03MB1474;H:snotra.local;FPR:;SPF:None;PTR:InfoNoRecords;MX:1;A:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtCTFVQUjAzTUIxNDc0OzIzOnV2bTBISGFlcWk0QlArTFM4RXVuNEkvSFB1?= =?utf-8?B?VlpyRjlzZ3lLaTJaM29FZ0pTamxXYkRZZS9CNXY4Rm9zcHVHUDFpVWZDOWRI?= =?utf-8?B?dzVlTzV1K3NOTEt6TGNMNzVJUnZFM0lLUVVxRy8zODgxSmN6NTBuM2IvRGpE?= =?utf-8?B?YkF6RkttQitGZW51dG1rbmwxc25odlJXT2xBeUxTQmc5UVNXdDJmclVYL3VI?= =?utf-8?B?NDlNenVtZlVEbUVEZ29KZXFpSVV2RkRFZk1lSndQZzJUQ3g2M1VyTUw4T01G?= =?utf-8?B?UGZuZ3N5Z0QvN1gyckxQV1ZyTmZtSitmMlNFaWx6UlBoRTIwcEpKUGI4NER0?= =?utf-8?B?bUJPSDdPYW5xZXU2dGQrb0FOaTJQTStyeEZINzg0Szdlckk1dTBtVC95WXRv?= =?utf-8?B?YVVqR21WUHhod3l4K0lURmdsVUYvR1cwOGZvWU5EdEVpZWVCMnVXdU04TXhH?= =?utf-8?B?S1ZQV1ZkS1dDVUk3eUthWFZNazVhTFNudTU3blJrQVNqeThFdDBCZWgxVVdV?= =?utf-8?B?NE51NTBZSUJHbEYvajRScXltazhOYkNZTElRUm1TYUM5c2dub0lDVkRpcE5Z?= =?utf-8?B?MFJ6UGpZbEZ1NlNXVk1NQlViMXA2UFVTbWJDZkJPYWdNQ1NPZVRSUW9JeFZm?= =?utf-8?B?RktaOWFNektUSGpKcm5XM1dUaXBoaDd2REdOdlNVZmhvNXZHVHM3bytuZkg4?= =?utf-8?B?UU80d3ljaE95WmhLMGcydUY1QXBPUWJBYUhHVEN1TWx6cnM1NjVOWWwyU3RE?= =?utf-8?B?Z0FSUlVBRVVGUlhwZW5DN0lxRFd2VjJRQUtya2NncWxJWU1RQjhKcVFmU3B2?= =?utf-8?B?UHdIQWljWmZsWitMSjJGalc5L1FNc2JXTWFNMGNpSmk3bElaV0h2OCtTY0dp?= =?utf-8?B?TndWRW9zN2IySFNTN3JBUk04dTRqWjQwMUhqK1g0WGlZRlZaYTVqOUFrOW1m?= =?utf-8?B?Y3F2dzJMUFg4R3RraGZSYnc4Rm9xS0pKYUxmRVhtVnpodC8wMWN4ZTVGdTJC?= =?utf-8?B?cXIxNUdCNzFlQWxZRm40ajRibG83d3ZNaHVkR003UmZtbFRpWGVOWUxlYU5F?= =?utf-8?B?Y1lpY20rTTBEdk0zNENOamdXWEtxZHNzejJEZEVJK1gydndPa3lCMHE5ejk0?= =?utf-8?B?SDBaTVRNeG1iZXhmejdYN0FoelpzT093NFhEMHE2ZzNJRDlEbWR3NnQ4TmpN?= =?utf-8?B?cklvWG9TNWlYNUxUc0JDUjNtOEd1ZTFEek90U3JtZlB5V2Ria0h4VnlKWUcr?= =?utf-8?B?V2Jnbzk3QUFOZlJzaHNVcnlNd24xaCtaRzdvd25nT0toTU1UZ0FZazNQdy8w?= =?utf-8?B?bWtlWXZCN2FtOVE1VzQvNXE3dENDSHZUWHEyT2QyTnRFU202SmFXZnBzTStk?= =?utf-8?B?QndxRDFZVWdXUGdyc1ZJaDFxK1NVc1JmYWhQZC9rV2w5Rk1UUzlxUWw1eFpa?= =?utf-8?B?T2VzUVBvcy91NDB3dHhFaEZYNVE5aXFQa0Mva3BzRVVpZjJ5U2ZnOWRNdWpU?= =?utf-8?B?V05KcFMxQmJHRUQxemFCakYzcjdWSGRmVWpicVlPdnNERU5QNUIzRG10c0Nm?= =?utf-8?B?TGpZakxZSlovSHM3ZTRoSlpNaVk5NWlkTGo5OEU1K08yTUdvTzVuM1RlWjdV?= =?utf-8?B?a29vNGZwK1FYNWNqOWp4cWFFUGtCRk0vUkdFdVFZdXY0bVFjNGgwMmI1TVhE?= =?utf-8?Q?lV2JHvSL/33P04obPiLS78dxrJlbuqlWErACLT+?= X-Microsoft-Exchange-Diagnostics: 1;BLUPR03MB1474;5:46TTKhBksEwGkpDnAvwW++vF3dd+z1+5TgZqLK+jt28FGvLUL+jOQNZwrDN+aalHGJryXggodhZwg9Jnihz5VB1gtWZhfe7reVURnY++yJyqI8yGMpGQ20vUidBU+uYJrppfsjYQYGutP1yoAZhB5A==;24:W+czpW2z2nRgPXb8SsUDW/D0E7NuIY1yQyTUBuPbMMaJrmCJy3UnJsNTVOBGEKhJSYP1Trm6kuyj2DE1LiVSpjdXFQl37qWrOdWpE8uqqLk=;20:OAm4YCKmghNrav3s0IB7sg7yx7mbL2bYUdCLkVlqhGB2cq0VdBfg5QlQoYMFtZUThVkwOzpOPKQu6NbyUifyxA== X-OriginatorOrg: freescale.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Oct 2015 22:52:03.0010 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: BLUPR03MB1474 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, 2015-10-21 at 08:44 -0500, Rob Herring wrote: > On Wed, Oct 21, 2015 at 12:54 AM, Scott Wood > wrote: > > On Mon, 2015-09-21 at 16:03 +0200, Tomeu Vizoso wrote: > > > Instead of trying to match and probe platform and AMBA devices right > > > after each is registered, delay their probes until device_initcall_sync. > > > > > > This means that devices will start probing once all built-in drivers > > > have registered, and after all platform and AMBA devices from the DT > > > have been registered already. > > > > > > This allows us to prevent deferred probes by probing dependencies on > > > demand. > > > > > > Signed-off-by: Tomeu Vizoso > > > --- > > > > > > Changes in v4: > > > - Also defer probes of AMBA devices registered from the DT as they can > > > also request resources. > > > > > > drivers/of/platform.c | 11 ++++++++--- > > > 1 file changed, 8 insertions(+), 3 deletions(-) > > > > This breaks arch/powerpc/sysdev/fsl_pci.c. The PCI bus is an OF platform > > device, and it must be probed before pcibios_init() which is a > > subsys_initcall(), or else the PCI bus never gets scanned. > > Thanks for the report. This is probably getting dropped, but it could > be disabled for PPC. I don't think that adding another arbitrary arch difference would be the right solution. > Any plans to fix this and make PCI hosts hotplugable? For the scanning > part, generally the host controller drivers are responsible for > scanning their bus now. Scanning from the host controller driver seems like a reasonable goal, though it'd take a bit of digging to extract whatever other things fsl_pci may depend on from the common PPC PCI code, in particular the various things that pcibios_resource_survey() does after all PCI buses have been scanned. There's also check_swiotlb_enabled(), another subsys_initcall, which frees the swiotlb memory if ppc_swiotlb_enable hasn't been set. The PCI host controller probe sets ppc_swiotlb_enable if it wasn't able to create an inbound mapping for all RAM. Even if we were to change that to a later initcall, there's nothing later than late_initcall that we could use. -Scott