> On Mar 26, 2024, at 9:31 AM, Brian Buhrow <buh...@nfbcal.org> wrote: > > Isn't it possible to do most of what Jason proposes by using the drvctl > interface to > detach a driver from a specific USB device? Then, some glue could be added > to the ugen driver > to allow it to be attached to arbitrary devices using the same drvctl > interface? That seems a > lot easier to me than building a registry of devices and device IDs, which > will be woefully > out of date before it gets published. It also has the advantage of allowing > the user to do > creative stuff that the developers didn't think of. Am I missing something > obvious?
It’s absolutely not easier, because there’s not really an easy way, once the kernel driver is detached, to say “attach ugen where that other thing was, AND ONLY THERE”. Like I said in a previous message on this thread, I think the better model is for ugen to always exist for every USB device / interface, and for the kernel driver to attach there. Then it’s easy to just say “detach whatever kernel driver is here [assuming it’s not busy providing some other service] so that user-space can take over”, and “re-attach any kernel driver that might match this device now that I’m done”. -- thorpej