Re: [v7,03/10] docs: Add Generic Counter interface documentation

From: William Breathitt Gray
Date: Tue Jul 03 2018 - 10:16:28 EST


On Mon, Jul 02, 2018 at 02:37:53PM -0500, David Lechner wrote:
>On 06/21/2018 04:07 PM, William Breathitt Gray wrote:
>> +Userspace Interface
>> +===================
>> +
>> +Several sysfs attributes are generated by the Generic Counter interface,
>> +and reside under the /sys/bus/counter/devices/counterX directory, where
>> +counterX refers to the respective counter device. Please see
>> +Documentation/ABI/testing/sys-bus-counter-generic-sysfs for detailed
>> +information on each Generic Counter interface sysfs attribute.
>> +
>> +Through these sysfs attributes, programs and scripts may interact with
>> +the Generic Counter paradigm Counts, Signals, and Synapses of respective
>> +counter devices.
>> +
>
>Have you considered a character device in addition to the sysfs interface?
>
>I basically have many of the same concerns that resulted in a char dev for
>gpio[1].
>
>- With sysfs, you *can* technically poll for events, but then you have to
> seek and read or re-open the file.
>- File permissions are annoying if you want a non root user to be able to
> use the device.
>- A single program can't claim exclusive access to a device.
>- There is no automatic cleanup if a userspace program accessing the device
> crashes.
>
>[1]: https://www.elinux.org/images/7/74/Elce2017_new_GPIO_interface.pdf

Those look like good technical reasons for implementing a character
device for the Generic Counter interface. I chose to implement the sysfs
interface because I was using the IIO code as a reference, but I
personally don't have much opposition to a character device in addition.

I'd like to get Jonathan's opinion on this as well if possible -- I
vaguely recall us considering this option briefly last year when the
Generic Counter interface was still in its beginnings. I've CC'd Linus
Walleij as well for input as the GPIO maintainer.

William Breathitt Gray