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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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


[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Input]     [Linux Kernel]     [Linux SCSI]     [X.org]

  Powered by Linux