Re: [RFC PATCH 1/2] driver core: export driver_deferred_probe_trigger()

From: Pierre-Louis Bossart
Date: Wed Aug 18 2021 - 11:53:32 EST





>> a) we have to use request_module()
>
> Wait, why?
>
> module loading is async, use auto-loading when the hardware/device is
> found and reported to userspace. Forcing a module to load by the kernel
> is not always wise as the module is not always present in the filesystem
> at that point in time at boot (think modules on the filesystem, not in
> the initramfs).
>
> Try fixing this issue and maybe it will resolve itself as you should be
> working async.

It's been that way for a very long time (2015?) for HDAudio support, see
sound/pci/hda/hda_bind.c. It's my understanding that it was a conscious
design decision to use vendor-specific modules, if available, and
fallback to generic modules if the first pass failed.

Takashi, you may want to chime in...