[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <c239572ab4208d0d6728136e82a88ad464369a7a.1664204990.git.william.gray@linaro.org>
Date: Mon, 26 Sep 2022 11:16:36 -0400
From: William Breathitt Gray <william.gray@...aro.org>
To: linux-iio@...r.kernel.org
Cc: linux-kernel@...r.kernel.org, mranostay@...com,
jpanis@...libre.com, gwendal@...omium.org, bleung@...omium.org,
groeck@...omium.org, jic23@...nel.org, david@...hnology.com,
robertcnelson@...il.com,
William Breathitt Gray <william.gray@...aro.org>
Subject: [PATCH v6 3/5] counter: Introduce the Count capture component
Some devices provide a latch function to save historic Count values.
This patch standardizes exposure of such functionality as Count capture
components. A COUNTER_COMP_CAPTURE macro is provided for driver authors
to define a capture component. A new event COUNTER_EVENT_CAPTURE is
introduced to represent Count value capture events.
Cc: Julien Panis <jpanis@...libre.com>
Signed-off-by: William Breathitt Gray <william.gray@...aro.org>
---
Documentation/ABI/testing/sysfs-bus-counter | 7 +++++++
include/linux/counter.h | 3 +++
include/uapi/linux/counter.h | 2 ++
3 files changed, 12 insertions(+)
diff --git a/Documentation/ABI/testing/sysfs-bus-counter b/Documentation/ABI/testing/sysfs-bus-counter
index 2a996deabe9e..3eb6b063970a 100644
--- a/Documentation/ABI/testing/sysfs-bus-counter
+++ b/Documentation/ABI/testing/sysfs-bus-counter
@@ -4,6 +4,12 @@ Contact: linux-iio@...r.kernel.org
Description:
Count data of Count Y represented as a string.
+What: /sys/bus/counter/devices/counterX/countY/capture
+KernelVersion: 6.1
+Contact: linux-iio@...r.kernel.org
+Description:
+ Historical capture of the Count Y count data.
+
What: /sys/bus/counter/devices/counterX/countY/ceiling
KernelVersion: 5.2
Contact: linux-iio@...r.kernel.org
@@ -203,6 +209,7 @@ Description:
both edges:
Any state transition.
+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
What: /sys/bus/counter/devices/counterX/countY/count_mode_component_id
diff --git a/include/linux/counter.h b/include/linux/counter.h
index b3fb6b68881a..e160197971dd 100644
--- a/include/linux/counter.h
+++ b/include/linux/counter.h
@@ -453,6 +453,9 @@ struct counter_available {
.priv = &(_available), \
}
+#define COUNTER_COMP_CAPTURE(_read, _write) \
+ COUNTER_COMP_COUNT_U64("capture", _read, _write)
+
#define COUNTER_COMP_CEILING(_read, _write) \
COUNTER_COMP_COUNT_U64("ceiling", _read, _write)
diff --git a/include/uapi/linux/counter.h b/include/uapi/linux/counter.h
index e9610e1944dc..8ab12d731e3b 100644
--- a/include/uapi/linux/counter.h
+++ b/include/uapi/linux/counter.h
@@ -63,6 +63,8 @@ enum counter_event_type {
COUNTER_EVENT_INDEX,
/* State of counter is changed */
COUNTER_EVENT_CHANGE_OF_STATE,
+ /* Count value captured */
+ COUNTER_EVENT_CAPTURE,
};
/**
--
2.37.3
Powered by blists - more mailing lists