[PATCH 0/2] core: Ensure drivers are given a chance to re-probe() late-on
Lee Jones
lee.jones at linaro.org
Tue Jul 12 09:19:25 PDT 2016
If a driver's resources are not available at probe() time, it is
common practice to defer probe (return -EPROBE_DEFER) until a time
where the required dependencies have been satisfied. However, if a
driver's resources are not provided by other drivers probe()ing
e.g. in a case where a driver is waiting for initramfs or rootfs to
be mounted in order to retrieve firmware located within, then
eventually we will run out of binding drivers (the trigger to re-run
deferred driver's probe()), and another re-probe() opportunity will
not be given.
This patch ensures that all drivers still on the deferred list are
given at least one more shot at probe()ing very late on in boot. This
ensures drivers who find themselves in the position explained in the
aforementioned example are able to locate their resources, resulting
in a successful probe().
Lee Jones (2):
driver-core: Add externally callable function to trigger deferred
probes
init/main: Trigger re-execution of deferred deferred probe()s
drivers/base/dd.c | 8 ++++++++
include/linux/device.h | 1 +
init/main.c | 1 +
3 files changed, 10 insertions(+)
--
2.9.0
More information about the linux-arm-kernel
mailing list