[PATCH 3/4] iio: ABI: add ABI file for the LTC2672 DAC

Kim Seer Paller posted 4 patches 1 year, 10 months ago
There is a newer version of this series
[PATCH 3/4] iio: ABI: add ABI file for the LTC2672 DAC
Posted by Kim Seer Paller 1 year, 10 months ago
Define the sysfs interface for toggle capable channels.

Toggle enabled channels will have:

 * out_currentY_toggle_en
 * out_currentY_raw0
 * out_currentY_raw1
 * out_currentY_symbol

The common interface present in all channels is:

 * out_currentY_raw (not present in toggle enabled channels)
 * out_currentY_raw_available
 * out_currentY_powerdown
 * out_currentY_scale
 * out_currentY_offset

Co-developed-by: Michael Hennerich <michael.hennerich@analog.com>
Signed-off-by: Michael Hennerich <michael.hennerich@analog.com>
Signed-off-by: Kim Seer Paller <kimseer.paller@analog.com>
---
 .../ABI/testing/sysfs-bus-iio-dac-ltc2672     | 30 +++++++++++++++++++
 MAINTAINERS                                   |  1 +
 2 files changed, 31 insertions(+)
 create mode 100644 Documentation/ABI/testing/sysfs-bus-iio-dac-ltc2672

diff --git a/Documentation/ABI/testing/sysfs-bus-iio-dac-ltc2672 b/Documentation/ABI/testing/sysfs-bus-iio-dac-ltc2672
new file mode 100644
index 000000000..b984d92f7
--- /dev/null
+++ b/Documentation/ABI/testing/sysfs-bus-iio-dac-ltc2672
@@ -0,0 +1,30 @@
+What:		/sys/bus/iio/devices/iio:deviceX/out_currentY_toggle_en
+KernelVersion:	5.18
+Contact:	linux-iio@vger.kernel.org
+Description:
+		Toggle enable. Write 1 to enable toggle or 0 to disable it. This is
+		useful when one wants to change the DAC output codes. The way it should
+		be done is:
+
+		- disable toggle operation;
+		- change out_currentY_raw0 and out_currentY_raw1;
+		- enable toggle operation.
+
+What:		/sys/bus/iio/devices/iio:deviceX/out_currentY_raw0
+What:		/sys/bus/iio/devices/iio:deviceX/out_currentY_raw1
+KernelVersion:	5.18
+Contact:	linux-iio@vger.kernel.org
+Description:
+		It has the same meaning as out_currentY_raw. This attribute is
+		specific to toggle enabled channels and refers to the DAC output
+		code in INPUT_A (_raw0) and INPUT_B (_raw1). The same scale and offset
+		as in out_currentY_raw applies.
+
+What:		/sys/bus/iio/devices/iio:deviceX/out_currentY_symbol
+KernelVersion:	5.18
+Contact:	linux-iio@vger.kernel.org
+Description:
+		Performs a SW toggle. This attribute is specific to toggle
+		enabled channels and allows to toggle between out_currentY_raw0
+		and out_currentY_raw1 through software. Writing 0 will select
+		out_currentY_raw0 while 1 selects out_currentY_raw1.
diff --git a/MAINTAINERS b/MAINTAINERS
index 9ed00b364..fba8bacc0 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -12843,6 +12843,7 @@ L:	linux-iio@vger.kernel.org
 S:	Supported
 W:	https://ez.analog.com/linux-software-drivers
 F:	Documentation/ABI/testing/sysfs-bus-iio-dac-ltc2664
+F:	Documentation/ABI/testing/sysfs-bus-iio-dac-ltc2672
 F:	Documentation/devicetree/bindings/iio/dac/adi,ltc2664.yaml
 
 LTC2688 IIO DAC DRIVER
-- 
2.34.1
Re: [PATCH 3/4] iio: ABI: add ABI file for the LTC2672 DAC
Posted by Jonathan Cameron 1 year, 10 months ago
On Fri, 12 Apr 2024 11:21:01 +0800
Kim Seer Paller <kimseer.paller@analog.com> wrote:

> Define the sysfs interface for toggle capable channels.
> 
> Toggle enabled channels will have:
> 
>  * out_currentY_toggle_en
>  * out_currentY_raw0
>  * out_currentY_raw1
>  * out_currentY_symbol
> 
> The common interface present in all channels is:
> 
>  * out_currentY_raw (not present in toggle enabled channels)
>  * out_currentY_raw_available
>  * out_currentY_powerdown
>  * out_currentY_scale
>  * out_currentY_offset
> 
> Co-developed-by: Michael Hennerich <michael.hennerich@analog.com>
> Signed-off-by: Michael Hennerich <michael.hennerich@analog.com>
> Signed-off-by: Kim Seer Paller <kimseer.paller@analog.com>
> ---
>  .../ABI/testing/sysfs-bus-iio-dac-ltc2672     | 30 +++++++++++++++++++

You can only have per device ABI defined if that is the only user
of the ABI.  That may actually be true here but given I've asked you to generalize
the voltage equivalent, I think we've shown this is general enough that the current
version should also be raised to sysfs-bus-iio-dac

>  MAINTAINERS                                   |  1 +
>  2 files changed, 31 insertions(+)
>  create mode 100644 Documentation/ABI/testing/sysfs-bus-iio-dac-ltc2672
> 
> diff --git a/Documentation/ABI/testing/sysfs-bus-iio-dac-ltc2672 b/Documentation/ABI/testing/sysfs-bus-iio-dac-ltc2672
> new file mode 100644
> index 000000000..b984d92f7
> --- /dev/null
> +++ b/Documentation/ABI/testing/sysfs-bus-iio-dac-ltc2672
> @@ -0,0 +1,30 @@
> +What:		/sys/bus/iio/devices/iio:deviceX/out_currentY_toggle_en
> +KernelVersion:	5.18
> +Contact:	linux-iio@vger.kernel.org
> +Description:
> +		Toggle enable. Write 1 to enable toggle or 0 to disable it. This is
> +		useful when one wants to change the DAC output codes. The way it should
> +		be done is:
> +
> +		- disable toggle operation;
> +		- change out_currentY_raw0 and out_currentY_raw1;
> +		- enable toggle operation.
> +
> +What:		/sys/bus/iio/devices/iio:deviceX/out_currentY_raw0
> +What:		/sys/bus/iio/devices/iio:deviceX/out_currentY_raw1
> +KernelVersion:	5.18
> +Contact:	linux-iio@vger.kernel.org
> +Description:
> +		It has the same meaning as out_currentY_raw. This attribute is
> +		specific to toggle enabled channels and refers to the DAC output
> +		code in INPUT_A (_raw0) and INPUT_B (_raw1). The same scale and offset
> +		as in out_currentY_raw applies.
> +
> +What:		/sys/bus/iio/devices/iio:deviceX/out_currentY_symbol
> +KernelVersion:	5.18
> +Contact:	linux-iio@vger.kernel.org
> +Description:
> +		Performs a SW toggle. This attribute is specific to toggle
> +		enabled channels and allows to toggle between out_currentY_raw0
> +		and out_currentY_raw1 through software. Writing 0 will select
> +		out_currentY_raw0 while 1 selects out_currentY_raw1.
> diff --git a/MAINTAINERS b/MAINTAINERS
> index 9ed00b364..fba8bacc0 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -12843,6 +12843,7 @@ L:	linux-iio@vger.kernel.org
>  S:	Supported
>  W:	https://ez.analog.com/linux-software-drivers
>  F:	Documentation/ABI/testing/sysfs-bus-iio-dac-ltc2664
> +F:	Documentation/ABI/testing/sysfs-bus-iio-dac-ltc2672
>  F:	Documentation/devicetree/bindings/iio/dac/adi,ltc2664.yaml
>  
>  LTC2688 IIO DAC DRIVER