Re: [PATCH v1] driver: base: Add driver filter support

From: Andi Kleen
Date: Thu Aug 05 2021 - 09:52:30 EST

Both thunderbolt and USB have the idea of "authorized" devices, that is
the logic that should be made generic and available for all busses to
use, by moving it to the driver core, just like the "removable" logic
got moved to the driver core recently (see 70f400d4d957 ("driver core:
Move the "removable" attribute from USB to core")

This looks like it's controlled by udev?  Have a default per bus, and let user space override it before setting up the device.

This doesn't help us handle builtin drivers that initialize before user space is up.

We need something that works for all drivers. Also cannot just use a default at bootup because some drivers (like virtio or rtc) need to be initialized in early boot to make the system functional at all. So you need a way to distinguish these two cases in the pre user space boot.

That's basically what this patch implements the infrastructure for.

Please use that type of interface, as we already have userspace tools
using it, and expand it for all busses in the system to use if they
want. Otherwise with this proposal you will end up with multiple ways
to control the same bus type with different types of "filtering",
ensuring a mess.

How would such a proposal work for a platform driver that doesn't have a bus?