Preferred userspace IPC mechanism for new drivers?

Greg KH greg at kroah.com
Thu May 7 03:10:06 EDT 2015


On Wed, May 06, 2015 at 09:07:46PM +0000, Larrew, Jesse wrote:
> Hello,
>  
> I’m writing a driver that needs to communicate with userspace
> applications.

What type of driver?

> Userspace needs to be able to send commands and associated data to the
> driver, so the ioctl interface seems pretty straightforward. However,
> LDD3 states that new ioctls in the kernel are a no-no. If that’s the
> case, then what is the preferred interface to userspace for new
> drivers?
>  
> ProcFS seems to be discouraged. Sysfs seems to be more for exporting
> device model information rather than passing binary blobs back and
> forth. DebugFS seems to be intended only for debug. Generic Netlink
> seems like the most viable candidate that I’ve investigated so far. Is
> that what most people are using these days?

No, ioctls still work for some specific types of data that needs to be
sent (large chunks in an atomic way), but it all really depends on
exactly what type of driver you are working on, that will dictate what
api you use.

greg k-h



More information about the Kernelnewbies mailing list