On 24/05/18 19:18, Mark Brown wrote:
On Thu, May 24, 2018 at 12:50:17PM -0500, Rob Herring wrote:
Subsystems or drivers may opt-in to this behavior by calling driver_deferred_probe_check_init_done() instead of just returning -EPROBE_DEFER. They may use additional information from DT or kernel's config to decide whether to continue to defer probe or not.
Should userspace have some involvement in this decision? It knows if it's got any intention of loading modules for example. Kernel config checks might be good enough, though it's going to be a pain to work out if the relevant driver is built as a module for example.
Arguably userspace has some control over that already, as in many cases it can just unbind and reprobe the consumer driver after loading the provider driver (in my silly IOMMU-drivers-as-modules PoC a while ago I was delighted to find that it can really be that simple). It's a bit harder when the device is the primary console or root filesystem, but I think that's effectively just another variant of the "defer until a module is loaded" chicken-and-egg problem.
Robin.
boot-architecture@lists.linaro.org