On Mon, Jul 17, 2017 at 06:34:58PM +0200, Jiri Pirko wrote: > Mon, Jul 17, 2017 at 06:28:38PM CEST, [email protected] wrote: > >On Mon, Jul 17, 2017 at 06:19:12PM +0200, Jiri Pirko wrote: > >> From: Jiri Pirko <[email protected]> > >> > >> I am owner of height adjustable desk and naturally, as it has an USB > >> interface, I need to controll it from my computer. Started to think > >> about what would be the best way, I realized that I need to introduce > >> a new driver class in kernel. The reason is a need to have one API > >> for all possible kinds of actuator devices (USB, I2C, gpio, etc). > > > >Why does this have to be a kernel driver at all? Your USB driver should > >really just be a simple userspace application (use libusb to have it > >work on all operating systems.) > > Yeah, I was thinking about it as well. To have some kind of single > purpose app like sispmctl (control of surge protector). But that would > limit you only for this specific device. And for multiple devices you > would have to have multiple apps. > > So it seems to me like a suitable solution to have this as a driver > class.
For USB devices, especially ones as simple as this, we don't want them to have kernel drivers. It's just overkill. And never create a class if you only have one type of device, otherwise you don't know if you really have it properly defined or not. 3 is a good number to start with. sorry, greg k-h

