On Mon, 4 Jun 2007, Guillaume Dargaud wrote: > Hello all, > following my humble beginings with USB programming on Linux, I have a > question. > When I started I thought I would have to do kernel programming (modules and > the like) to access the hardware. Then I discovered direct IOCTL calls and > later the even more simple libusb. > > Now my question is, when do you need to write kernel modules for USB access > ? Never as it's all handled by user libraries ? Only if you want very high > performance ? In case of special needs ?
There are a few things kernel drivers can do that user drivers cannot. Several of them are related to callbacks; kernel drivers get notified whenever a device is connected or disconnected. They also get notified when a device is reset or suspended. You are correct that kernel drivers are appropriate when high speed (or low latency) is required or when there are other special needs. There is one significant difference in favor of userspace drivers: They don't have to be licensed under the GPL. Kernel drivers do. Alan Stern ------------------------------------------------------------------------- This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ _______________________________________________ Linux-usb-users@lists.sourceforge.net To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-users