Re: [PATCH 4/8] docs: counter: add unit timer sysfs attributes

From: William Breathitt Gray
Date: Wed Oct 27 2021 - 02:46:42 EST


On Sat, Oct 16, 2021 at 08:33:39PM -0500, David Lechner wrote:
> This documents new unit timer sysfs attributes for the counter
> subsystem.
>
> Signed-off-by: David Lechner <david@xxxxxxxxxxxxxx>

Hello David,

The unit timer is effectively a Count in its own right, so instead of
introducing new sysfs attributes you can just implement it as another
Count in the driver. Count 0 is "QPOSCNT", so set the name of this new
Count 1 as "Unit Timer" (or the datasheet naming if more apt) to
differentiate the Counts. You can then provide the "unit_timer_enable",
"unit_timer_period", and "unit_timer_time" functionalities as respective
Count 1 extensions ("enable" and "period") and Count 1 "count".

If you believe it appropriate, you can provide the raw timer ticks via
the Count 1 "count" while a nanoseconds interface is provided via a
Count 1 extension "timeout" (or something similar).

William Breathitt Gray

> ---
> Documentation/ABI/testing/sysfs-bus-counter | 24 +++++++++++++++++++++
> drivers/counter/ti-eqep.c | 2 +-
> 2 files changed, 25 insertions(+), 1 deletion(-)
>
> diff --git a/Documentation/ABI/testing/sysfs-bus-counter b/Documentation/ABI/testing/sysfs-bus-counter
> index 06c2b3e27e0b..37d960a8cb1b 100644
> --- a/Documentation/ABI/testing/sysfs-bus-counter
> +++ b/Documentation/ABI/testing/sysfs-bus-counter
> @@ -218,6 +218,9 @@ What: /sys/bus/counter/devices/counterX/signalY/cable_fault_enable_component_id
> What: /sys/bus/counter/devices/counterX/signalY/filter_clock_prescaler_component_id
> What: /sys/bus/counter/devices/counterX/signalY/index_polarity_component_id
> What: /sys/bus/counter/devices/counterX/signalY/synchronous_mode_component_id
> +What: /sys/bus/counter/devices/unit_timer_enable_component_id
> +What: /sys/bus/counter/devices/unit_timer_period_component_id
> +What: /sys/bus/counter/devices/unit_timer_time_component_id
> KernelVersion: 5.16
> Contact: linux-iio@xxxxxxxxxxxxxxx
> Description:
> @@ -345,3 +348,24 @@ Description:
> via index_polarity. The index function (as enabled via
> preset_enable) is performed synchronously with the
> quadrature clock on the active level of the index input.
> +
> +What: /sys/bus/counter/devices/unit_timer_enable
> +KernelVersion: 5.16
> +Contact: linux-iio@xxxxxxxxxxxxxxx
> +Description:
> + Read/write attribute that starts or stops the unit timer. Valid
> + values are boolean.
> +
> +What: /sys/bus/counter/devices/unit_timer_period
> +KernelVersion: 5.16
> +Contact: linux-iio@xxxxxxxxxxxxxxx
> +Description:
> + Read/write attribute that selects the unit timer timeout in
> + nanoseconds.
> +
> +What: /sys/bus/counter/devices/unit_timer_time
> +KernelVersion: 5.16
> +Contact: linux-iio@xxxxxxxxxxxxxxx
> +Description:
> + Read/write attribute that indicates the current time of the
> + unit timer in nanoseconds.
> diff --git a/drivers/counter/ti-eqep.c b/drivers/counter/ti-eqep.c
> index a4a5a4486329..1ba7f3c7cb7e 100644
> --- a/drivers/counter/ti-eqep.c
> +++ b/drivers/counter/ti-eqep.c
> @@ -680,7 +680,7 @@ static int ti_eqep_probe(struct platform_device *pdev)
> pm_runtime_get_sync(dev);
>
> /*
> - * We can end up with an interupt infinite loop (interrupts triggered
> + * We can end up with an interrupt infinite loop (interrupts triggered
> * as soon as they are cleared) if we leave these at the default value
> * of 0 and events are enabled.
> */
> --
> 2.25.1
>

Attachment: signature.asc
Description: PGP signature