Messages in this thread | | | Date | Sun, 13 Nov 2016 17:58:46 +0100 | From | Lukas Wunner <> | Subject | Re: [PATCH v5 2/5] driver core: Functional dependencies tracking support |
| |
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
| |