android_kernel_samsung_sm8650/include
Saravana Kannan 2f8c3ae828 driver core: Add wait_for_init_devices_probe helper function
Some devices might need to be probed and bound successfully before the
kernel boot sequence can finish and move on to init/userspace. For
example, a network interface might need to be bound to be able to mount
a NFS rootfs.

With fw_devlink=on by default, some of these devices might be blocked
from probing because they are waiting on a optional supplier that
doesn't have a driver. While fw_devlink will eventually identify such
devices and unblock the probing automatically, it might be too late by
the time it unblocks the probing of devices. For example, the IP4
autoconfig might timeout before fw_devlink unblocks probing of the
network interface.

This function is available to temporarily try and probe all devices that
have a driver even if some of their suppliers haven't been added or
don't have drivers.

The drivers can then decide which of the suppliers are optional vs
mandatory and probe the device if possible. By the time this function
returns, all such "best effort" probes are guaranteed to be completed.
If a device successfully probes in this mode, we delete all fw_devlink
discovered dependencies of that device where the supplier hasn't yet
probed successfully because they have to be optional dependencies.

This also means that some devices that aren't needed for init and could
have waited for their optional supplier to probe (when the supplier's
module is loaded later on) would end up probing prematurely with limited
functionality.  So call this function only when boot would fail without
it.

Tested-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Saravana Kannan <saravanak@google.com>
Link: https://lore.kernel.org/r/20220601070707.3946847-5-saravanak@google.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-06-10 15:57:54 +02:00
..
acpi cxl for 5.19 2022-05-27 21:24:19 -07:00
asm-generic RISC-V Patches for the 5.19 Merge Window, Part 1 2022-05-31 14:10:54 -07:00
clocksource pwm: Changes for v5.19-rc1 2022-06-01 10:49:11 -07:00
crypto
drm LoongArch: Add writecombine support for drm 2022-06-03 20:09:27 +08:00
dt-bindings Char / Misc / Other smaller driver subsystem updates for 5.19-rc1 2022-06-03 11:36:34 -07:00
keys KEYS: trusted: Introduce support for NXP CAAM-based trusted keys 2022-05-23 18:47:50 +03:00
kunit
kvm
linux driver core: Add wait_for_init_devices_probe helper function 2022-06-10 15:57:54 +02:00
math-emu
media
memory
misc
net bluetooth: don't use bitmaps for random flag accesses 2022-06-05 16:28:41 -07:00
pcmcia
ras
rdma RDMA/core: Fix typo in comment 2022-05-24 11:24:58 -03:00
scsi SCSI misc on 20220524 2022-05-25 19:09:48 -07:00
soc ARM: driver changes for 5.19 2022-05-26 10:32:47 -07:00
sound ARM: multiplatform changes, part 2 2022-06-02 15:23:54 -07:00
target SCSI misc on 20220524 2022-05-25 19:09:48 -07:00
trace Driver core changes for 5.19-rc1 2022-06-03 11:48:47 -07:00
uapi A single featurelet for delay accounting. Delayed a bit 2022-06-05 16:58:27 -07:00
ufs scsi: ufs: Split the drivers/scsi/ufs directory 2022-05-19 20:27:37 -04:00
vdso
video video: fbdev: radeon: Fix spelling typo in comment 2022-05-26 13:38:59 +02:00
xen xen: branch for v5.19-rc1b 2022-06-04 13:42:53 -07:00