]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
counter: Introduce the compare component
authorWilliam Breathitt Gray <wbg@kernel.org>
Thu, 6 Mar 2025 07:05:43 +0000 (16:05 +0900)
committerWilliam Breathitt Gray <wbg@kernel.org>
Mon, 10 Mar 2025 09:00:49 +0000 (18:00 +0900)
Compare registers are used in devices to compare a counter channel
against a particular count value (e.g. to check if a threshold has been
reached). A macro COUNTER_COMP_COMPARE() is introduced to facilitate the
creation of compare components as Count extensions.

Link: https://lore.kernel.org/r/20250306-introduce-compare-component-v1-1-93993b3dca9c@kernel.org
Signed-off-by: William Breathitt Gray <wbg@kernel.org>
Documentation/ABI/testing/sysfs-bus-counter
include/linux/counter.h

index 73ac84c0bca76e013f2534efc40c0f0e8d5fb023..3e8259e56d384225ec6e952b6d5d75208f185736 100644 (file)
@@ -34,6 +34,14 @@ Contact:     linux-iio@vger.kernel.org
 Description:
                Count data of Count Y represented as a string.
 
+What:          /sys/bus/counter/devices/counterX/countY/compare
+KernelVersion: 6.15
+Contact:       linux-iio@vger.kernel.org
+Description:
+               If the counter device supports compare registers -- registers
+               used to compare counter channels against a particular count --
+               the compare count for channel Y is provided by this attribute.
+
 What:          /sys/bus/counter/devices/counterX/countY/capture
 KernelVersion: 6.1
 Contact:       linux-iio@vger.kernel.org
@@ -301,6 +309,7 @@ Description:
 
 What:          /sys/bus/counter/devices/counterX/cascade_counts_enable_component_id
 What:          /sys/bus/counter/devices/counterX/external_input_phase_clock_select_component_id
+What:          /sys/bus/counter/devices/counterX/countY/compare_component_id
 What:          /sys/bus/counter/devices/counterX/countY/capture_component_id
 What:          /sys/bus/counter/devices/counterX/countY/ceiling_component_id
 What:          /sys/bus/counter/devices/counterX/countY/floor_component_id
index 426b7d58a438d59e5178bc5e76bac82e99737323..f208e867dd0f6995f58cf6a41c67538dad6428d0 100644 (file)
@@ -580,6 +580,9 @@ struct counter_array {
 #define COUNTER_COMP_CEILING(_read, _write) \
        COUNTER_COMP_COUNT_U64("ceiling", _read, _write)
 
+#define COUNTER_COMP_COMPARE(_read, _write) \
+       COUNTER_COMP_COUNT_U64("compare", _read, _write)
+
 #define COUNTER_COMP_COUNT_MODE(_read, _write, _available) \
 { \
        .type = COUNTER_COMP_COUNT_MODE, \