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?
-Andi