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

Reply via email to