Ah, the dreaded userspace GPIO drivers...
Please point them to my ELCE2020 presentation "Gadgets and Trinkets, The Upstream Linux Way" https://elinux.org/ELC_Europe_2020_Presentations#Day_1_Presentations
Gr{oetje,eeting}s,
Geert
One of the reasons of the prevalence of userspace drivers (and probably the reason why kernel drivers for stuff like motors are not attractive) is the lack of upstream solution for runtime devicetree overlays. It is simply not attractive to have tutorials or examples that will require a reboot to work. And since a lot of people will start with those examples, they will continue using userspace drivers for their future projects. Connectors is also a problem that has been stuck for a while (although things seem to have started progressing). I personally, would love if I could use kernel drivers instead of userspace drivers since they are probably much better quality than random userspace drivers, and will not require any external deps (as long as they provide a good sysfs API). But I also dread having to ask a user to reboot the system to get their blinky example working, and reboot again, since they used the wrong pin in the overlay. Best Regards, Ayush Singh