Re: 26 ways to set a device driver variable from userland
From: Matt Helsley
Date: Wed Oct 19 2005 - 18:52:23 EST
On Wed, 2005-10-19 at 12:35 -0600, Christopher Friesen wrote:
> Kyle Moffett wrote:
> >> (4) sysfs
> > This is ideal for almost all device driver purposes.
> The one thing that I have yet to see a good solution for is
> transaction-based operations, where userspace passes in something (could
> be a command, a new value, a query, etc.) and expects some data in return.
> The ioctl() method is ideal for this, passing down a binary struct with
> a command/query member, and the driver fills in the rest of the struct
> based on the commnd.
> How do you do this cleanly via sysfs? It seems like you either double
> the number of syscalls (write to one file, read from another) or else
> you need to have sysfs files for every possible query/command, so that
> the input becomes implicitly encoded in the file that you are reading.
> This could end up creating a large number of files depending on the
> range of inputs.
> Are there any other standard ways to do this?
Perhaps a connector would be appropriate here. Userspace could send a
netlink message to the connector with the query/command and the
connector could respond by sending appropriate results back to
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/