Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753826AbcKMQ5h (ORCPT ); Sun, 13 Nov 2016 11:57:37 -0500 Received: from mailout1.hostsharing.net ([83.223.95.204]:37281 "EHLO mailout1.hostsharing.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751180AbcKMQ5g (ORCPT ); Sun, 13 Nov 2016 11:57:36 -0500 Date: Sun, 13 Nov 2016 17:58:46 +0100 From: Lukas Wunner To: "Luis R. Rodriguez" Cc: Greg Kroah-Hartman , Geert Uytterhoeven , Andrzej Hajda , "Rafael J. Wysocki" , Linux PM list , Alan Stern , Linux Kernel Mailing List , Tomeu Vizoso , Mark Brown , Marek Szyprowski , Kevin Hilman , Ulf Hansson , Laurent Pinchart , Lars-Peter Clausen , Grant Likely , Mauro Carvalho Chehab , Dmitry Torokhov Subject: Re: [PATCH v5 2/5] driver core: Functional dependencies tracking support Message-ID: <20161113165846.GA9598@wunner.de> References: <27296716.H9VWo8ShOm@vostro.rjw.lan> <13957403.ZrB4mMbICz@vostro.rjw.lan> <2715729.9U1nlcpFb3@vostro.rjw.lan> <20161026111902.GA6447@wunner.de> <20161027152551.GA15718@kroah.com> <20161107212250.GH1764@wotan.suse.de> <20161108064541.GA13024@kroah.com> <20161108192103.GN1764@wotan.suse.de> <20161108194335.GA22680@kroah.com> <20161108205824.GA13978@wotan.suse.de> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20161108205824.GA13978@wotan.suse.de> User-Agent: Mutt/1.6.1 (2016-04-27) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1209 Lines: 26 On Tue, Nov 08, 2016 at 09:58:24PM +0100, Luis R. Rodriguez wrote: > On Tue, Nov 08, 2016 at 08:43:35PM +0100, Greg Kroah-Hartman wrote: > > Yes, you can iterate a > > lot of times, but that's fine, we have time at boot to do that (and > > really, it is fast.) > > Deferred probe is left for late_initcall() [1] -- this *assumes* that the > driver/subsystem can be loaded so late, and as per Andrzej this solution > isunacceptable/undesirable. So it would be unfair and incorrect to categorize > all drivers in the same boat, in fact given this lone fact it may be > worth revisiting the idea I mentioned about a capability aspect to support > a late deferred probe later. We tend to assume its fine, however it does > not seem to be the case. > > [1] drivers/base/dd.c:late_initcall(deferred_probe_initcall); Note that driver_deferred_probe_trigger() is called not only from this late_initcall but also from driver_bound(). In other words, whenever a driver binds successfully, deferred devices will reprobe, and devices which had to defer will not necessarily have to wait until late_initcall until they're reprobed. The late_initcall is just a way to tell devices "this is last call". Thanks, Lukas