Hi, On Mon, Feb 20, 2023 at 9:12 AM Bjorn Andersson <andersson@xxxxxxxxxx> wrote: > > > I suspect that here we'll have to agree to disagree. IMO it's a > > non-goal to expect hardware to work for which there is no driver. So > > making the backlight work without a backlight driver isn't really > > something we should strive for. > > > > Without trying to make you agree ;) > > How can you differentiate between "the driver wasn't built" and "the > driver isn't yet available"? BTW, when I was responding to Saravana's series [1], I realized that you _can_ differentiate between these two cases, at least from a practical point of view. Specifically, when the "deferred_probe_timeout" expires then you should assume that "the driver wasn't built". Said another way, once the "deferred_probe_timeout" expires then you should assume that the driver won't be available in the future. While you still could try loading it, in general once that timeout has expired the kernel has made decisions (like making -EPROBE_DEFER non-retriable) that make it very awkward to load new drivers. Of course, one could say "hey, let's get rid of the deferred_probe_timeout". That might be a tough sell unless you can come up with an equivalent solution for those currently using this feature. [1] https://lore.kernel.org/r/CAD=FV=XQnLpD1P8sRBcizTMjCQyHTjaiNvjcPdgyZc5JCzvOtw@xxxxxxxxxxxxxx > Consider the case where I boot my laptop, I have some set of builtin > drivers, some set of drivers in the ramdisk and some set of drivers in > the root filesystem. > > In the event that something goes wrong mounting the rootfs, I will now > be in the ramdisk console. Given the current timer-based disabling of > regulators, I have ~25 seconds to solve my problem before the backlight > goes blank. I personally don't love the timeout. It feels like the kind of thing that userspace knows and should be able to tell the kernel. I know we don't like to put impositions on userspace, but userspace is pretty definitely involved in things like loading modules. It just makes sense (in my mind) for userspace to say when it's done and all modules for cold-plugged devices have been loaded... -Doug