linux-iio.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 2/4] iio: core: Introduce IIO_ALTVOLTAGE and appropriate channel info elements
  2012-04-26 12:34 [PATCH 1/4] iio: Rename iio/dds to iio/frequency michael.hennerich
@ 2012-04-26 12:34 ` michael.hennerich
  2012-04-26 13:09   ` Jonathan Cameron
  0 siblings, 1 reply; 6+ messages in thread
From: michael.hennerich @ 2012-04-26 12:34 UTC (permalink / raw)
  To: jic23; +Cc: linux-iio, device-drivers-devel, Michael Hennerich

From: Michael Hennerich <michael.hennerich@analog.com>

Signed-off-by: Michael Hennerich <michael.hennerich@analog.com>
---
 drivers/iio/industrialio-core.c |    3 +++
 include/linux/iio/iio.h         |   10 ++++++++++
 include/linux/iio/types.h       |    1 +
 3 files changed, 14 insertions(+), 0 deletions(-)

diff --git a/drivers/iio/industrialio-core.c b/drivers/iio/industrialio-core.c
index dd1a6a2..1c55d2b 100644
--- a/drivers/iio/industrialio-core.c
+++ b/drivers/iio/industrialio-core.c
@@ -63,6 +63,7 @@ static const char * const iio_chan_type_name_spec[] = {
 	[IIO_ANGL] = "angl",
 	[IIO_TIMESTAMP] = "timestamp",
 	[IIO_CAPACITANCE] = "capacitance",
+	[IIO_ALTVOLTAGE] = "altvoltage",
 };
 
 static const char * const iio_modifier_names[] = {
@@ -88,6 +89,8 @@ static const char * const iio_chan_info_postfix[] = {
 	[IIO_CHAN_INFO_LOW_PASS_FILTER_3DB_FREQUENCY]
 	= "filter_low_pass_3db_frequency",
 	[IIO_CHAN_INFO_SAMP_FREQ] = "sampling_frequency",
+	[IIO_CHAN_INFO_FREQUENCY] = "frequency",
+	[IIO_CHAN_INFO_PHASE] = "phase",
 };
 
 const struct iio_chan_spec
diff --git a/include/linux/iio/iio.h b/include/linux/iio/iio.h
index 9c0908a..0e826af 100644
--- a/include/linux/iio/iio.h
+++ b/include/linux/iio/iio.h
@@ -32,6 +32,8 @@ enum iio_chan_info_enum {
 	IIO_CHAN_INFO_AVERAGE_RAW,
 	IIO_CHAN_INFO_LOW_PASS_FILTER_3DB_FREQUENCY,
 	IIO_CHAN_INFO_SAMP_FREQ,
+	IIO_CHAN_INFO_FREQUENCY,
+	IIO_CHAN_INFO_PHASE,
 };
 
 #define IIO_CHAN_INFO_SHARED_BIT(type) BIT(type*2)
@@ -85,6 +87,14 @@ enum iio_chan_info_enum {
 	IIO_CHAN_INFO_SEPARATE_BIT(IIO_CHAN_INFO_SAMP_FREQ)
 #define IIO_CHAN_INFO_SAMP_FREQ_SHARED_BIT			\
 	IIO_CHAN_INFO_SHARED_BIT(IIO_CHAN_INFO_SAMP_FREQ)
+#define IIO_CHAN_INFO_FREQUENCY_SEPARATE_BIT			\
+	IIO_CHAN_INFO_SEPARATE_BIT(IIO_CHAN_INFO_FREQUENCY)
+#define IIO_CHAN_INFO_FREQUENCY_SHARED_BIT			\
+	IIO_CHAN_INFO_SHARED_BIT(IIO_CHAN_INFO_FREQUENCY)
+#define IIO_CHAN_INFO_PHASE_SEPARATE_BIT			\
+	IIO_CHAN_INFO_SEPARATE_BIT(IIO_CHAN_INFO_PHASE)
+#define IIO_CHAN_INFO_PHASE_SHARED_BIT			\
+	IIO_CHAN_INFO_SHARED_BIT(IIO_CHAN_INFO_PHASE)
 
 enum iio_endian {
 	IIO_CPU,
diff --git a/include/linux/iio/types.h b/include/linux/iio/types.h
index 0c32136..a471fd5 100644
--- a/include/linux/iio/types.h
+++ b/include/linux/iio/types.h
@@ -27,6 +27,7 @@ enum iio_chan_type {
 	IIO_ANGL,
 	IIO_TIMESTAMP,
 	IIO_CAPACITANCE,
+	IIO_ALTVOLTAGE,
 };
 
 enum iio_modifier {
-- 
1.7.0.4



^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [PATCH 2/4] iio: core: Introduce IIO_ALTVOLTAGE and appropriate channel info elements
  2012-04-26 12:34 ` [PATCH 2/4] iio: core: Introduce IIO_ALTVOLTAGE and appropriate channel info elements michael.hennerich
@ 2012-04-26 13:09   ` Jonathan Cameron
  0 siblings, 0 replies; 6+ messages in thread
From: Jonathan Cameron @ 2012-04-26 13:09 UTC (permalink / raw)
  To: michael.hennerich; +Cc: jic23, linux-iio, device-drivers-devel

On 4/26/2012 1:34 PM, michael.hennerich@analog.com wrote:
> From: Michael Hennerich<michael.hennerich@analog.com>
>
> Signed-off-by: Michael Hennerich<michael.hennerich@analog.com>
Acked-by: Jonathan Cameron <jic23@kernel.org>
> ---
>   drivers/iio/industrialio-core.c |    3 +++
>   include/linux/iio/iio.h         |   10 ++++++++++
>   include/linux/iio/types.h       |    1 +
>   3 files changed, 14 insertions(+), 0 deletions(-)
>
> diff --git a/drivers/iio/industrialio-core.c b/drivers/iio/industrialio-core.c
> index dd1a6a2..1c55d2b 100644
> --- a/drivers/iio/industrialio-core.c
> +++ b/drivers/iio/industrialio-core.c
> @@ -63,6 +63,7 @@ static const char * const iio_chan_type_name_spec[] = {
>   	[IIO_ANGL] = "angl",
>   	[IIO_TIMESTAMP] = "timestamp",
>   	[IIO_CAPACITANCE] = "capacitance",
> +	[IIO_ALTVOLTAGE] = "altvoltage",
>   };
>
>   static const char * const iio_modifier_names[] = {
> @@ -88,6 +89,8 @@ static const char * const iio_chan_info_postfix[] = {
>   	[IIO_CHAN_INFO_LOW_PASS_FILTER_3DB_FREQUENCY]
>   	= "filter_low_pass_3db_frequency",
>   	[IIO_CHAN_INFO_SAMP_FREQ] = "sampling_frequency",
> +	[IIO_CHAN_INFO_FREQUENCY] = "frequency",
> +	[IIO_CHAN_INFO_PHASE] = "phase",
>   };
>
>   const struct iio_chan_spec
> diff --git a/include/linux/iio/iio.h b/include/linux/iio/iio.h
> index 9c0908a..0e826af 100644
> --- a/include/linux/iio/iio.h
> +++ b/include/linux/iio/iio.h
> @@ -32,6 +32,8 @@ enum iio_chan_info_enum {
>   	IIO_CHAN_INFO_AVERAGE_RAW,
>   	IIO_CHAN_INFO_LOW_PASS_FILTER_3DB_FREQUENCY,
>   	IIO_CHAN_INFO_SAMP_FREQ,
> +	IIO_CHAN_INFO_FREQUENCY,
> +	IIO_CHAN_INFO_PHASE,
>   };
>
>   #define IIO_CHAN_INFO_SHARED_BIT(type) BIT(type*2)
> @@ -85,6 +87,14 @@ enum iio_chan_info_enum {
>   	IIO_CHAN_INFO_SEPARATE_BIT(IIO_CHAN_INFO_SAMP_FREQ)
>   #define IIO_CHAN_INFO_SAMP_FREQ_SHARED_BIT			\
>   	IIO_CHAN_INFO_SHARED_BIT(IIO_CHAN_INFO_SAMP_FREQ)
> +#define IIO_CHAN_INFO_FREQUENCY_SEPARATE_BIT			\
> +	IIO_CHAN_INFO_SEPARATE_BIT(IIO_CHAN_INFO_FREQUENCY)
> +#define IIO_CHAN_INFO_FREQUENCY_SHARED_BIT			\
> +	IIO_CHAN_INFO_SHARED_BIT(IIO_CHAN_INFO_FREQUENCY)
> +#define IIO_CHAN_INFO_PHASE_SEPARATE_BIT			\
> +	IIO_CHAN_INFO_SEPARATE_BIT(IIO_CHAN_INFO_PHASE)
> +#define IIO_CHAN_INFO_PHASE_SHARED_BIT			\
> +	IIO_CHAN_INFO_SHARED_BIT(IIO_CHAN_INFO_PHASE)
>
>   enum iio_endian {
>   	IIO_CPU,
> diff --git a/include/linux/iio/types.h b/include/linux/iio/types.h
> index 0c32136..a471fd5 100644
> --- a/include/linux/iio/types.h
> +++ b/include/linux/iio/types.h
> @@ -27,6 +27,7 @@ enum iio_chan_type {
>   	IIO_ANGL,
>   	IIO_TIMESTAMP,
>   	IIO_CAPACITANCE,
> +	IIO_ALTVOLTAGE,
>   };
>
>   enum iio_modifier {


^ permalink raw reply	[flat|nested] 6+ messages in thread

* [PATCH 1/4] iio: Rename iio/dds to iio/frequency
@ 2012-04-27  8:58 michael.hennerich
  2012-04-27  8:58 ` [PATCH 2/4] iio: core: Introduce IIO_ALTVOLTAGE and appropriate channel info elements michael.hennerich
                   ` (2 more replies)
  0 siblings, 3 replies; 6+ messages in thread
From: michael.hennerich @ 2012-04-27  8:58 UTC (permalink / raw)
  To: gregkh; +Cc: jic23, linux-iio, device-drivers-devel, Michael Hennerich

From: Michael Hennerich <michael.hennerich@analog.com>

Generalize naming to allow other frequency synthesis techniques as well.
No functional changes.

Signed-off-by: Michael Hennerich <michael.hennerich@analog.com>
Acked-by: Jonathan Cameron <jic23@kernel.org>
---
 drivers/staging/iio/Kconfig                     |    2 +-
 drivers/staging/iio/Makefile                    |    2 +-
 drivers/staging/iio/{dds => frequency}/Kconfig  |    0
 drivers/staging/iio/{dds => frequency}/Makefile |    0
 drivers/staging/iio/{dds => frequency}/ad5930.c |    0
 drivers/staging/iio/{dds => frequency}/ad9832.c |    0
 drivers/staging/iio/{dds => frequency}/ad9832.h |    0
 drivers/staging/iio/{dds => frequency}/ad9834.c |    0
 drivers/staging/iio/{dds => frequency}/ad9834.h |    0
 drivers/staging/iio/{dds => frequency}/ad9850.c |    0
 drivers/staging/iio/{dds => frequency}/ad9852.c |    0
 drivers/staging/iio/{dds => frequency}/ad9910.c |    0
 drivers/staging/iio/{dds => frequency}/ad9951.c |    0
 drivers/staging/iio/{dds => frequency}/dds.h    |    0
 14 files changed, 2 insertions(+), 2 deletions(-)
 rename drivers/staging/iio/{dds => frequency}/Kconfig (100%)
 rename drivers/staging/iio/{dds => frequency}/Makefile (100%)
 rename drivers/staging/iio/{dds => frequency}/ad5930.c (100%)
 rename drivers/staging/iio/{dds => frequency}/ad9832.c (100%)
 rename drivers/staging/iio/{dds => frequency}/ad9832.h (100%)
 rename drivers/staging/iio/{dds => frequency}/ad9834.c (100%)
 rename drivers/staging/iio/{dds => frequency}/ad9834.h (100%)
 rename drivers/staging/iio/{dds => frequency}/ad9850.c (100%)
 rename drivers/staging/iio/{dds => frequency}/ad9852.c (100%)
 rename drivers/staging/iio/{dds => frequency}/ad9910.c (100%)
 rename drivers/staging/iio/{dds => frequency}/ad9951.c (100%)
 rename drivers/staging/iio/{dds => frequency}/dds.h (100%)

diff --git a/drivers/staging/iio/Kconfig b/drivers/staging/iio/Kconfig
index c1054a1..3c8e5ec 100644
--- a/drivers/staging/iio/Kconfig
+++ b/drivers/staging/iio/Kconfig
@@ -30,7 +30,7 @@ source "drivers/staging/iio/adc/Kconfig"
 source "drivers/staging/iio/addac/Kconfig"
 source "drivers/staging/iio/cdc/Kconfig"
 source "drivers/staging/iio/dac/Kconfig"
-source "drivers/staging/iio/dds/Kconfig"
+source "drivers/staging/iio/frequency/Kconfig"
 source "drivers/staging/iio/gyro/Kconfig"
 source "drivers/staging/iio/impedance-analyzer/Kconfig"
 source "drivers/staging/iio/imu/Kconfig"
diff --git a/drivers/staging/iio/Makefile b/drivers/staging/iio/Makefile
index 2acd42f..6a46d5a 100644
--- a/drivers/staging/iio/Makefile
+++ b/drivers/staging/iio/Makefile
@@ -18,7 +18,7 @@ obj-y += adc/
 obj-y += addac/
 obj-y += cdc/
 obj-y += dac/
-obj-y += dds/
+obj-y += frequency/
 obj-y += gyro/
 obj-y += impedance-analyzer/
 obj-y += imu/
diff --git a/drivers/staging/iio/dds/Kconfig b/drivers/staging/iio/frequency/Kconfig
similarity index 100%
rename from drivers/staging/iio/dds/Kconfig
rename to drivers/staging/iio/frequency/Kconfig
diff --git a/drivers/staging/iio/dds/Makefile b/drivers/staging/iio/frequency/Makefile
similarity index 100%
rename from drivers/staging/iio/dds/Makefile
rename to drivers/staging/iio/frequency/Makefile
diff --git a/drivers/staging/iio/dds/ad5930.c b/drivers/staging/iio/frequency/ad5930.c
similarity index 100%
rename from drivers/staging/iio/dds/ad5930.c
rename to drivers/staging/iio/frequency/ad5930.c
diff --git a/drivers/staging/iio/dds/ad9832.c b/drivers/staging/iio/frequency/ad9832.c
similarity index 100%
rename from drivers/staging/iio/dds/ad9832.c
rename to drivers/staging/iio/frequency/ad9832.c
diff --git a/drivers/staging/iio/dds/ad9832.h b/drivers/staging/iio/frequency/ad9832.h
similarity index 100%
rename from drivers/staging/iio/dds/ad9832.h
rename to drivers/staging/iio/frequency/ad9832.h
diff --git a/drivers/staging/iio/dds/ad9834.c b/drivers/staging/iio/frequency/ad9834.c
similarity index 100%
rename from drivers/staging/iio/dds/ad9834.c
rename to drivers/staging/iio/frequency/ad9834.c
diff --git a/drivers/staging/iio/dds/ad9834.h b/drivers/staging/iio/frequency/ad9834.h
similarity index 100%
rename from drivers/staging/iio/dds/ad9834.h
rename to drivers/staging/iio/frequency/ad9834.h
diff --git a/drivers/staging/iio/dds/ad9850.c b/drivers/staging/iio/frequency/ad9850.c
similarity index 100%
rename from drivers/staging/iio/dds/ad9850.c
rename to drivers/staging/iio/frequency/ad9850.c
diff --git a/drivers/staging/iio/dds/ad9852.c b/drivers/staging/iio/frequency/ad9852.c
similarity index 100%
rename from drivers/staging/iio/dds/ad9852.c
rename to drivers/staging/iio/frequency/ad9852.c
diff --git a/drivers/staging/iio/dds/ad9910.c b/drivers/staging/iio/frequency/ad9910.c
similarity index 100%
rename from drivers/staging/iio/dds/ad9910.c
rename to drivers/staging/iio/frequency/ad9910.c
diff --git a/drivers/staging/iio/dds/ad9951.c b/drivers/staging/iio/frequency/ad9951.c
similarity index 100%
rename from drivers/staging/iio/dds/ad9951.c
rename to drivers/staging/iio/frequency/ad9951.c
diff --git a/drivers/staging/iio/dds/dds.h b/drivers/staging/iio/frequency/dds.h
similarity index 100%
rename from drivers/staging/iio/dds/dds.h
rename to drivers/staging/iio/frequency/dds.h
--
1.7.0.4



^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [PATCH 2/4] iio: core: Introduce IIO_ALTVOLTAGE and appropriate channel info elements
  2012-04-27  8:58 [PATCH 1/4] iio: Rename iio/dds to iio/frequency michael.hennerich
@ 2012-04-27  8:58 ` michael.hennerich
  2012-04-27  8:58 ` [PATCH 3/4] iio: frequency: Update DDS drivers to use new channel naming convention michael.hennerich
  2012-04-27  8:58 ` [PATCH 4/4] iio: core: iio_chan_spec_ext_info: Add private handle michael.hennerich
  2 siblings, 0 replies; 6+ messages in thread
From: michael.hennerich @ 2012-04-27  8:58 UTC (permalink / raw)
  To: gregkh; +Cc: jic23, linux-iio, device-drivers-devel, Michael Hennerich

From: Michael Hennerich <michael.hennerich@analog.com>

Signed-off-by: Michael Hennerich <michael.hennerich@analog.com>
Acked-by: Jonathan Cameron <jic23@kernel.org>
---
 drivers/iio/industrialio-core.c |    3 +++
 include/linux/iio/iio.h         |   10 ++++++++++
 include/linux/iio/types.h       |    1 +
 3 files changed, 14 insertions(+), 0 deletions(-)

diff --git a/drivers/iio/industrialio-core.c b/drivers/iio/industrialio-core.c
index dd1a6a2..1c55d2b 100644
--- a/drivers/iio/industrialio-core.c
+++ b/drivers/iio/industrialio-core.c
@@ -63,6 +63,7 @@ static const char * const iio_chan_type_name_spec[] = {
 	[IIO_ANGL] = "angl",
 	[IIO_TIMESTAMP] = "timestamp",
 	[IIO_CAPACITANCE] = "capacitance",
+	[IIO_ALTVOLTAGE] = "altvoltage",
 };

 static const char * const iio_modifier_names[] = {
@@ -88,6 +89,8 @@ static const char * const iio_chan_info_postfix[] = {
 	[IIO_CHAN_INFO_LOW_PASS_FILTER_3DB_FREQUENCY]
 	= "filter_low_pass_3db_frequency",
 	[IIO_CHAN_INFO_SAMP_FREQ] = "sampling_frequency",
+	[IIO_CHAN_INFO_FREQUENCY] = "frequency",
+	[IIO_CHAN_INFO_PHASE] = "phase",
 };

 const struct iio_chan_spec
diff --git a/include/linux/iio/iio.h b/include/linux/iio/iio.h
index 9c0908a..0e826af 100644
--- a/include/linux/iio/iio.h
+++ b/include/linux/iio/iio.h
@@ -32,6 +32,8 @@ enum iio_chan_info_enum {
 	IIO_CHAN_INFO_AVERAGE_RAW,
 	IIO_CHAN_INFO_LOW_PASS_FILTER_3DB_FREQUENCY,
 	IIO_CHAN_INFO_SAMP_FREQ,
+	IIO_CHAN_INFO_FREQUENCY,
+	IIO_CHAN_INFO_PHASE,
 };

 #define IIO_CHAN_INFO_SHARED_BIT(type) BIT(type*2)
@@ -85,6 +87,14 @@ enum iio_chan_info_enum {
 	IIO_CHAN_INFO_SEPARATE_BIT(IIO_CHAN_INFO_SAMP_FREQ)
 #define IIO_CHAN_INFO_SAMP_FREQ_SHARED_BIT			\
 	IIO_CHAN_INFO_SHARED_BIT(IIO_CHAN_INFO_SAMP_FREQ)
+#define IIO_CHAN_INFO_FREQUENCY_SEPARATE_BIT			\
+	IIO_CHAN_INFO_SEPARATE_BIT(IIO_CHAN_INFO_FREQUENCY)
+#define IIO_CHAN_INFO_FREQUENCY_SHARED_BIT			\
+	IIO_CHAN_INFO_SHARED_BIT(IIO_CHAN_INFO_FREQUENCY)
+#define IIO_CHAN_INFO_PHASE_SEPARATE_BIT			\
+	IIO_CHAN_INFO_SEPARATE_BIT(IIO_CHAN_INFO_PHASE)
+#define IIO_CHAN_INFO_PHASE_SHARED_BIT			\
+	IIO_CHAN_INFO_SHARED_BIT(IIO_CHAN_INFO_PHASE)

 enum iio_endian {
 	IIO_CPU,
diff --git a/include/linux/iio/types.h b/include/linux/iio/types.h
index 0c32136..a471fd5 100644
--- a/include/linux/iio/types.h
+++ b/include/linux/iio/types.h
@@ -27,6 +27,7 @@ enum iio_chan_type {
 	IIO_ANGL,
 	IIO_TIMESTAMP,
 	IIO_CAPACITANCE,
+	IIO_ALTVOLTAGE,
 };

 enum iio_modifier {
--
1.7.0.4



^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [PATCH 3/4] iio: frequency: Update DDS drivers to use new channel naming convention
  2012-04-27  8:58 [PATCH 1/4] iio: Rename iio/dds to iio/frequency michael.hennerich
  2012-04-27  8:58 ` [PATCH 2/4] iio: core: Introduce IIO_ALTVOLTAGE and appropriate channel info elements michael.hennerich
@ 2012-04-27  8:58 ` michael.hennerich
  2012-04-27  8:58 ` [PATCH 4/4] iio: core: iio_chan_spec_ext_info: Add private handle michael.hennerich
  2 siblings, 0 replies; 6+ messages in thread
From: michael.hennerich @ 2012-04-27  8:58 UTC (permalink / raw)
  To: gregkh; +Cc: jic23, linux-iio, device-drivers-devel, Michael Hennerich

From: Michael Hennerich <michael.hennerich@analog.com>

Signed-off-by: Michael Hennerich <michael.hennerich@analog.com>
Acked-by: Jonathan Cameron <jic23@kernel.org>
---
 .../staging/iio/Documentation/sysfs-bus-iio-dds    |   81 ++++++++++----------
 drivers/staging/iio/frequency/ad9832.c             |   24 +++---
 drivers/staging/iio/frequency/ad9834.c             |   56 +++++++-------
 drivers/staging/iio/frequency/dds.h                |   54 +++++++-------
 4 files changed, 109 insertions(+), 106 deletions(-)

diff --git a/drivers/staging/iio/Documentation/sysfs-bus-iio-dds b/drivers/staging/iio/Documentation/sysfs-bus-iio-dds
index ffdd547..ee8c509 100644
--- a/drivers/staging/iio/Documentation/sysfs-bus-iio-dds
+++ b/drivers/staging/iio/Documentation/sysfs-bus-iio-dds
@@ -1,83 +1,86 @@

-What:		/sys/bus/iio/devices/.../ddsX_freqY
+What:		/sys/bus/iio/devices/.../out_altvoltageX_frequencyY
 KernelVersion:	2.6.37
 Contact:	linux-iio@vger.kernel.org
 Description:
 		Stores frequency into tuning word Y.
-		There will be more than one ddsX_freqY file, which allows for
-		pin controlled FSK Frequency Shift Keying
-		(ddsX_pincontrol_freq_en is active) or the user can control
-		the desired active tuning word by writing Y to the
-		ddsX_freqsymbol file.
+		There will be more than one out_altvoltageX_frequencyY file,
+		which allows for pin controlled FSK Frequency Shift Keying
+		(out_altvoltageX_pincontrol_frequency_en is active) or the user
+		can control the desired active tuning word by writing Y to the
+		out_altvoltageX_frequencysymbol file.

-What:		/sys/bus/iio/devices/.../ddsX_freqY_scale
+What:		/sys/bus/iio/devices/.../out_altvoltageX_frequencyY_scale
 KernelVersion:	2.6.37
 Contact:	linux-iio@vger.kernel.org
 Description:
-		Scale to be applied to ddsX_freqY in order to obtain the
-		desired value in Hz. If shared across all frequency registers
-		Y is not present. It is also possible X is not present if
-		shared across all channels.
+		Scale to be applied to out_altvoltageX_frequencyY in order to
+		obtain the desired value in Hz. If shared across all frequency
+		registers Y is not present. It is also possible X is not present
+		if shared across all channels.

-What:		/sys/bus/iio/devices/.../ddsX_freqsymbol
+What:		/sys/bus/iio/devices/.../out_altvoltageX_frequencysymbol
 KernelVersion:	2.6.37
 Contact:	linux-iio@vger.kernel.org
 Description:
 		Specifies the active output frequency tuning word. The value
-		corresponds to the Y in ddsX_freqY. To exit this mode the user
-		can write ddsX_pincontrol_freq_en or ddsX_out_enable file.
+		corresponds to the Y in out_altvoltageX_frequencyY.
+		To exit this mode the user can write
+		out_altvoltageX_pincontrol_frequency_en or
+		out_altvoltageX_out_enable file.

-What:		/sys/bus/iio/devices/.../ddsX_phaseY
+What:		/sys/bus/iio/devices/.../out_altvoltageX_phaseY
 KernelVersion:	2.6.37
 Contact:	linux-iio@vger.kernel.org
 Description:
 		Stores phase into Y.
-		There will be more than one ddsX_phaseY file, which allows for
-		pin controlled PSK Phase Shift Keying
-		(ddsX_pincontrol_phase_en is active) or the user can
+		There will be more than one out_altvoltageX_phaseY file, which
+		allows for pin controlled PSK Phase Shift Keying
+		(out_altvoltageX_pincontrol_phase_en is active) or the user can
 		control the desired phase Y which is added to the phase
-		accumulator output by writing Y to the en_phase file.
+		accumulator output by writing Y to the phase_en file.

-What:		/sys/bus/iio/devices/.../ddsX_phaseY_scale
+What:		/sys/bus/iio/devices/.../out_altvoltageX_phaseY_scale
 KernelVersion:	2.6.37
 Contact:	linux-iio@vger.kernel.org
 Description:
-		Scale to be applied to ddsX_phaseY in order to obtain the
-		desired value in rad. If shared across all phase registers
+		Scale to be applied to out_altvoltageX_phaseY in order to obtain
+		the desired value in rad. If shared across all phase registers
 		Y is not present. It is also possible X is not present if
 		shared across all channels.

-What:		/sys/bus/iio/devices/.../ddsX_phasesymbol
+What:		/sys/bus/iio/devices/.../out_altvoltageX_phasesymbol
 KernelVersion:	2.6.37
 Contact:	linux-iio@vger.kernel.org
 Description:
 		Specifies the active phase Y which is added to the phase
 		accumulator output. The value corresponds to the Y in
-		ddsX_phaseY. To exit this mode the user can write
-		ddsX_pincontrol_phase_en or disable file.
+		out_altvoltageX_phaseY. To exit this mode the user can write
+		out_altvoltageX_pincontrol_phase_en or disable file.

-What:		/sys/bus/iio/devices/.../ddsX_pincontrol_en
-What:		/sys/bus/iio/devices/.../ddsX_pincontrol_freq_en
-What:		/sys/bus/iio/devices/.../ddsX_pincontrol_phase_en
+What:		/sys/bus/iio/devices/.../out_altvoltageX_pincontrol_en
+What:		/sys/bus/iio/devices/.../out_altvoltageX_pincontrol_frequency_en
+What:		/sys/bus/iio/devices/.../out_altvoltageX_pincontrol_phase_en
 KernelVersion:	2.6.37
 Contact:	linux-iio@vger.kernel.org
 Description:
-		ddsX_pincontrol_en: Both, the active frequency and phase is
-		controlled by the respective phase and frequency control inputs.
-		In case the device in question allows to independent controls,
-		then there are dedicated files (ddsX_pincontrol_freq_en,
-		ddsX_pincontrol_phase_en).
+		out_altvoltageX_pincontrol_en: Both, the active frequency and
+		phase is controlled by the respective phase and frequency
+		control inputs. In case the device in features independent
+		controls, then there are dedicated files
+		(out_altvoltageX_pincontrol_frequency_en,
+		out_altvoltageX_pincontrol_phase_en).

-What:		/sys/bus/iio/devices/.../ddsX_out_enable
-What:		/sys/bus/iio/devices/.../ddsX_outY_enable
+What:		/sys/bus/iio/devices/.../out_altvoltageX_out_enable
+What:		/sys/bus/iio/devices/.../out_altvoltageX_outY_enable
 KernelVersion:	2.6.37
 Contact:	linux-iio@vger.kernel.org
 Description:
-		ddsX_outY_enable controls signal generation on output Y of
-		channel X. Y may be suppressed if all channels are
+		out_altvoltageX_outY_enable controls signal generation on
+		output Y of channel X. Y may be suppressed if all channels are
 		controlled together.

-What:		/sys/bus/iio/devices/.../ddsX_outY_wavetype
+What:		/sys/bus/iio/devices/.../out_altvoltageX_outY_wavetype
 KernelVersion:	2.6.37
 Contact:	linux-iio@vger.kernel.org
 Description:
@@ -86,7 +89,7 @@ Description:
 		For a list of available output waveform options read
 		available_output_modes.

-What:		/sys/bus/iio/devices/.../ddsX_outY_wavetype_available
+What:		/sys/bus/iio/devices/.../out_altvoltageX_outY_wavetype_available
 KernelVersion:	2.6.37
 Contact:	linux-iio@vger.kernel.org
 Description:
diff --git a/drivers/staging/iio/frequency/ad9832.c b/drivers/staging/iio/frequency/ad9832.c
index 57627ff..160443b 100644
--- a/drivers/staging/iio/frequency/ad9832.c
+++ b/drivers/staging/iio/frequency/ad9832.c
@@ -177,18 +177,18 @@ static IIO_DEV_ATTR_OUT_ENABLE(0, S_IWUSR, NULL,
 				ad9832_write, AD9832_OUTPUT_EN);

 static struct attribute *ad9832_attributes[] = {
-	&iio_dev_attr_dds0_freq0.dev_attr.attr,
-	&iio_dev_attr_dds0_freq1.dev_attr.attr,
-	&iio_const_attr_dds0_freq_scale.dev_attr.attr,
-	&iio_dev_attr_dds0_phase0.dev_attr.attr,
-	&iio_dev_attr_dds0_phase1.dev_attr.attr,
-	&iio_dev_attr_dds0_phase2.dev_attr.attr,
-	&iio_dev_attr_dds0_phase3.dev_attr.attr,
-	&iio_const_attr_dds0_phase_scale.dev_attr.attr,
-	&iio_dev_attr_dds0_pincontrol_en.dev_attr.attr,
-	&iio_dev_attr_dds0_freqsymbol.dev_attr.attr,
-	&iio_dev_attr_dds0_phasesymbol.dev_attr.attr,
-	&iio_dev_attr_dds0_out_enable.dev_attr.attr,
+	&iio_dev_attr_out_altvoltage0_frequency0.dev_attr.attr,
+	&iio_dev_attr_out_altvoltage0_frequency1.dev_attr.attr,
+	&iio_const_attr_out_altvoltage0_frequency_scale.dev_attr.attr,
+	&iio_dev_attr_out_altvoltage0_phase0.dev_attr.attr,
+	&iio_dev_attr_out_altvoltage0_phase1.dev_attr.attr,
+	&iio_dev_attr_out_altvoltage0_phase2.dev_attr.attr,
+	&iio_dev_attr_out_altvoltage0_phase3.dev_attr.attr,
+	&iio_const_attr_out_altvoltage0_phase_scale.dev_attr.attr,
+	&iio_dev_attr_out_altvoltage0_pincontrol_en.dev_attr.attr,
+	&iio_dev_attr_out_altvoltage0_frequencysymbol.dev_attr.attr,
+	&iio_dev_attr_out_altvoltage0_phasesymbol.dev_attr.attr,
+	&iio_dev_attr_out_altvoltage0_out_enable.dev_attr.attr,
 	NULL,
 };

diff --git a/drivers/staging/iio/frequency/ad9834.c b/drivers/staging/iio/frequency/ad9834.c
index 9b2c879..21ad827 100644
--- a/drivers/staging/iio/frequency/ad9834.c
+++ b/drivers/staging/iio/frequency/ad9834.c
@@ -218,7 +218,7 @@ static ssize_t ad9834_show_out0_wavetype_available(struct device *dev,
 }


-static IIO_DEVICE_ATTR(dds0_out0_wavetype_available, S_IRUGO,
+static IIO_DEVICE_ATTR(out_altvoltage0_out0_wavetype_available, S_IRUGO,
 		       ad9834_show_out0_wavetype_available, NULL, 0);

 static ssize_t ad9834_show_out1_wavetype_available(struct device *dev,
@@ -237,7 +237,7 @@ static ssize_t ad9834_show_out1_wavetype_available(struct device *dev,
 	return sprintf(buf, "%s\n", str);
 }

-static IIO_DEVICE_ATTR(dds0_out1_wavetype_available, S_IRUGO,
+static IIO_DEVICE_ATTR(out_altvoltage0_out1_wavetype_available, S_IRUGO,
 		       ad9834_show_out1_wavetype_available, NULL, 0);

 /**
@@ -263,36 +263,36 @@ static IIO_DEV_ATTR_OUT_WAVETYPE(0, 0, ad9834_store_wavetype, 0);
 static IIO_DEV_ATTR_OUT_WAVETYPE(0, 1, ad9834_store_wavetype, 1);

 static struct attribute *ad9834_attributes[] = {
-	&iio_dev_attr_dds0_freq0.dev_attr.attr,
-	&iio_dev_attr_dds0_freq1.dev_attr.attr,
-	&iio_const_attr_dds0_freq_scale.dev_attr.attr,
-	&iio_dev_attr_dds0_phase0.dev_attr.attr,
-	&iio_dev_attr_dds0_phase1.dev_attr.attr,
-	&iio_const_attr_dds0_phase_scale.dev_attr.attr,
-	&iio_dev_attr_dds0_pincontrol_en.dev_attr.attr,
-	&iio_dev_attr_dds0_freqsymbol.dev_attr.attr,
-	&iio_dev_attr_dds0_phasesymbol.dev_attr.attr,
-	&iio_dev_attr_dds0_out_enable.dev_attr.attr,
-	&iio_dev_attr_dds0_out1_enable.dev_attr.attr,
-	&iio_dev_attr_dds0_out0_wavetype.dev_attr.attr,
-	&iio_dev_attr_dds0_out1_wavetype.dev_attr.attr,
-	&iio_dev_attr_dds0_out0_wavetype_available.dev_attr.attr,
-	&iio_dev_attr_dds0_out1_wavetype_available.dev_attr.attr,
+	&iio_dev_attr_out_altvoltage0_frequency0.dev_attr.attr,
+	&iio_dev_attr_out_altvoltage0_frequency1.dev_attr.attr,
+	&iio_const_attr_out_altvoltage0_frequency_scale.dev_attr.attr,
+	&iio_dev_attr_out_altvoltage0_phase0.dev_attr.attr,
+	&iio_dev_attr_out_altvoltage0_phase1.dev_attr.attr,
+	&iio_const_attr_out_altvoltage0_phase_scale.dev_attr.attr,
+	&iio_dev_attr_out_altvoltage0_pincontrol_en.dev_attr.attr,
+	&iio_dev_attr_out_altvoltage0_frequencysymbol.dev_attr.attr,
+	&iio_dev_attr_out_altvoltage0_phasesymbol.dev_attr.attr,
+	&iio_dev_attr_out_altvoltage0_out_enable.dev_attr.attr,
+	&iio_dev_attr_out_altvoltage0_out1_enable.dev_attr.attr,
+	&iio_dev_attr_out_altvoltage0_out0_wavetype.dev_attr.attr,
+	&iio_dev_attr_out_altvoltage0_out1_wavetype.dev_attr.attr,
+	&iio_dev_attr_out_altvoltage0_out0_wavetype_available.dev_attr.attr,
+	&iio_dev_attr_out_altvoltage0_out1_wavetype_available.dev_attr.attr,
 	NULL,
 };

 static struct attribute *ad9833_attributes[] = {
-	&iio_dev_attr_dds0_freq0.dev_attr.attr,
-	&iio_dev_attr_dds0_freq1.dev_attr.attr,
-	&iio_const_attr_dds0_freq_scale.dev_attr.attr,
-	&iio_dev_attr_dds0_phase0.dev_attr.attr,
-	&iio_dev_attr_dds0_phase1.dev_attr.attr,
-	&iio_const_attr_dds0_phase_scale.dev_attr.attr,
-	&iio_dev_attr_dds0_freqsymbol.dev_attr.attr,
-	&iio_dev_attr_dds0_phasesymbol.dev_attr.attr,
-	&iio_dev_attr_dds0_out_enable.dev_attr.attr,
-	&iio_dev_attr_dds0_out0_wavetype.dev_attr.attr,
-	&iio_dev_attr_dds0_out0_wavetype_available.dev_attr.attr,
+	&iio_dev_attr_out_altvoltage0_frequency0.dev_attr.attr,
+	&iio_dev_attr_out_altvoltage0_frequency1.dev_attr.attr,
+	&iio_const_attr_out_altvoltage0_frequency_scale.dev_attr.attr,
+	&iio_dev_attr_out_altvoltage0_phase0.dev_attr.attr,
+	&iio_dev_attr_out_altvoltage0_phase1.dev_attr.attr,
+	&iio_const_attr_out_altvoltage0_phase_scale.dev_attr.attr,
+	&iio_dev_attr_out_altvoltage0_frequencysymbol.dev_attr.attr,
+	&iio_dev_attr_out_altvoltage0_phasesymbol.dev_attr.attr,
+	&iio_dev_attr_out_altvoltage0_out_enable.dev_attr.attr,
+	&iio_dev_attr_out_altvoltage0_out0_wavetype.dev_attr.attr,
+	&iio_dev_attr_out_altvoltage0_out0_wavetype_available.dev_attr.attr,
 	NULL,
 };

diff --git a/drivers/staging/iio/frequency/dds.h b/drivers/staging/iio/frequency/dds.h
index d8ac3a9..c3342f6 100644
--- a/drivers/staging/iio/frequency/dds.h
+++ b/drivers/staging/iio/frequency/dds.h
@@ -7,104 +7,104 @@
  */

 /**
- * /sys/bus/iio/devices/.../ddsX_freqY
+ * /sys/bus/iio/devices/.../out_altvoltageX_frequencyY
  */

 #define IIO_DEV_ATTR_FREQ(_channel, _num, _mode, _show, _store, _addr)	\
-	IIO_DEVICE_ATTR(dds##_channel##_freq##_num,			\
+	IIO_DEVICE_ATTR(out_altvoltage##_channel##_frequency##_num,	\
 			_mode, _show, _store, _addr)

 /**
- * /sys/bus/iio/devices/.../ddsX_freqY_scale
+ * /sys/bus/iio/devices/.../out_altvoltageX_frequencyY_scale
  */

 #define IIO_CONST_ATTR_FREQ_SCALE(_channel, _string)			\
-	IIO_CONST_ATTR(dds##_channel##_freq_scale, _string)
+	IIO_CONST_ATTR(out_altvoltage##_channel##_frequency_scale, _string)

 /**
- * /sys/bus/iio/devices/.../ddsX_freqsymbol
+ * /sys/bus/iio/devices/.../out_altvoltageX_frequencysymbol
  */

 #define IIO_DEV_ATTR_FREQSYMBOL(_channel, _mode, _show, _store, _addr)	\
-	IIO_DEVICE_ATTR(dds##_channel##_freqsymbol,			\
+	IIO_DEVICE_ATTR(out_altvoltage##_channel##_frequencysymbol,	\
 			_mode, _show, _store, _addr);

 /**
- * /sys/bus/iio/devices/.../ddsX_phaseY
+ * /sys/bus/iio/devices/.../out_altvoltageX_phaseY
  */

 #define IIO_DEV_ATTR_PHASE(_channel, _num, _mode, _show, _store, _addr)	\
-	IIO_DEVICE_ATTR(dds##_channel##_phase##_num,			\
+	IIO_DEVICE_ATTR(out_altvoltage##_channel##_phase##_num,		\
 			_mode, _show, _store, _addr)

 /**
- * /sys/bus/iio/devices/.../ddsX_phaseY_scale
+ * /sys/bus/iio/devices/.../out_altvoltageX_phaseY_scale
  */

 #define IIO_CONST_ATTR_PHASE_SCALE(_channel, _string)			\
-	IIO_CONST_ATTR(dds##_channel##_phase_scale, _string)
+	IIO_CONST_ATTR(out_altvoltage##_channel##_phase_scale, _string)

 /**
- * /sys/bus/iio/devices/.../ddsX_phasesymbol
+ * /sys/bus/iio/devices/.../out_altvoltageX_phasesymbol
  */

 #define IIO_DEV_ATTR_PHASESYMBOL(_channel, _mode, _show, _store, _addr)	\
-	IIO_DEVICE_ATTR(dds##_channel##_phasesymbol,			\
+	IIO_DEVICE_ATTR(out_altvoltage##_channel##_phasesymbol,		\
 			_mode, _show, _store, _addr);

 /**
- * /sys/bus/iio/devices/.../ddsX_pincontrol_en
+ * /sys/bus/iio/devices/.../out_altvoltageX_pincontrol_en
  */

 #define IIO_DEV_ATTR_PINCONTROL_EN(_channel, _mode, _show, _store, _addr)\
-	IIO_DEVICE_ATTR(dds##_channel##_pincontrol_en,			\
+	IIO_DEVICE_ATTR(out_altvoltage##_channel##_pincontrol_en,	\
 			_mode, _show, _store, _addr);

 /**
- * /sys/bus/iio/devices/.../ddsX_pincontrol_freq_en
+ * /sys/bus/iio/devices/.../out_altvoltageX_pincontrol_frequency_en
  */

 #define IIO_DEV_ATTR_PINCONTROL_FREQ_EN(_channel, _mode, _show, _store, _addr)\
-	IIO_DEVICE_ATTR(dds##_channel##_pincontrol_freq_en,		\
+	IIO_DEVICE_ATTR(out_altvoltage##_channel##_pincontrol_frequency_en,\
 			_mode, _show, _store, _addr);

 /**
- * /sys/bus/iio/devices/.../ddsX_pincontrol_phase_en
+ * /sys/bus/iio/devices/.../out_altvoltageX_pincontrol_phase_en
  */

 #define IIO_DEV_ATTR_PINCONTROL_PHASE_EN(_channel, _mode, _show, _store, _addr)\
-	IIO_DEVICE_ATTR(dds##_channel##_pincontrol_phase_en,		\
+	IIO_DEVICE_ATTR(out_altvoltage##_channel##_pincontrol_phase_en,	\
 			_mode, _show, _store, _addr);

 /**
- * /sys/bus/iio/devices/.../ddsX_out_enable
+ * /sys/bus/iio/devices/.../out_altvoltageX_out_enable
  */

 #define IIO_DEV_ATTR_OUT_ENABLE(_channel, _mode, _show, _store, _addr)	\
-	IIO_DEVICE_ATTR(dds##_channel##_out_enable,			\
+	IIO_DEVICE_ATTR(out_altvoltage##_channel##_out_enable,		\
 			_mode, _show, _store, _addr);

 /**
- * /sys/bus/iio/devices/.../ddsX_outY_enable
+ * /sys/bus/iio/devices/.../out_altvoltageX_outY_enable
  */

 #define IIO_DEV_ATTR_OUTY_ENABLE(_channel, _output,			\
 			_mode, _show, _store, _addr)			\
-	IIO_DEVICE_ATTR(dds##_channel##_out##_output##_enable,		\
+	IIO_DEVICE_ATTR(out_altvoltage##_channel##_out##_output##_enable,\
 			_mode, _show, _store, _addr);

 /**
- * /sys/bus/iio/devices/.../ddsX_outY_wavetype
+ * /sys/bus/iio/devices/.../out_altvoltageX_outY_wavetype
  */

 #define IIO_DEV_ATTR_OUT_WAVETYPE(_channel, _output, _store, _addr)	\
-	IIO_DEVICE_ATTR(dds##_channel##_out##_output##_wavetype,	\
+	IIO_DEVICE_ATTR(out_altvoltage##_channel##_out##_output##_wavetype,\
 			S_IWUSR, NULL, _store, _addr);

 /**
- * /sys/bus/iio/devices/.../ddsX_outY_wavetype_available
+ * /sys/bus/iio/devices/.../out_altvoltageX_outY_wavetype_available
  */

 #define IIO_CONST_ATTR_OUT_WAVETYPES_AVAILABLE(_channel, _output, _modes)\
-	IIO_CONST_ATTR(dds##_channel##_out##_output##_wavetype_available,\
-			_modes);
+	IIO_CONST_ATTR(							\
+	out_altvoltage##_channel##_out##_output##_wavetype_available, _modes);
--
1.7.0.4



^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [PATCH 4/4] iio: core: iio_chan_spec_ext_info: Add private handle
  2012-04-27  8:58 [PATCH 1/4] iio: Rename iio/dds to iio/frequency michael.hennerich
  2012-04-27  8:58 ` [PATCH 2/4] iio: core: Introduce IIO_ALTVOLTAGE and appropriate channel info elements michael.hennerich
  2012-04-27  8:58 ` [PATCH 3/4] iio: frequency: Update DDS drivers to use new channel naming convention michael.hennerich
@ 2012-04-27  8:58 ` michael.hennerich
  2 siblings, 0 replies; 6+ messages in thread
From: michael.hennerich @ 2012-04-27  8:58 UTC (permalink / raw)
  To: gregkh; +Cc: jic23, linux-iio, device-drivers-devel, Michael Hennerich

From: Michael Hennerich <michael.hennerich@analog.com>

There is currently no user, but we might need it in future.
So better add it now, before we have to convert drivers afterwards.

Signed-off-by: Michael Hennerich <michael.hennerich@analog.com>
Acked-by: Jonathan Cameron <jic23@kernel.org>
---
 drivers/iio/industrialio-core.c  |    5 +++--
 drivers/staging/iio/dac/ad5064.c |   12 +++++++-----
 drivers/staging/iio/dac/ad5446.c |    6 +++++-
 include/linux/iio/iio.h          |   11 +++++++----
 4 files changed, 22 insertions(+), 12 deletions(-)

diff --git a/drivers/iio/industrialio-core.c b/drivers/iio/industrialio-core.c
index 1c55d2b..8f72ab8 100644
--- a/drivers/iio/industrialio-core.c
+++ b/drivers/iio/industrialio-core.c
@@ -281,7 +281,7 @@ static ssize_t iio_read_channel_ext_info(struct device *dev,

 	ext_info = &this_attr->c->ext_info[this_attr->address];

-	return ext_info->read(indio_dev, this_attr->c, buf);
+	return ext_info->read(indio_dev, ext_info->private, this_attr->c, buf);
 }

 static ssize_t iio_write_channel_ext_info(struct device *dev,
@@ -295,7 +295,8 @@ static ssize_t iio_write_channel_ext_info(struct device *dev,

 	ext_info = &this_attr->c->ext_info[this_attr->address];

-	return ext_info->write(indio_dev, this_attr->c, buf, len);
+	return ext_info->write(indio_dev, ext_info->private,
+			       this_attr->c, buf, len);
 }

 static ssize_t iio_read_channel_info(struct device *dev,
diff --git a/drivers/staging/iio/dac/ad5064.c b/drivers/staging/iio/dac/ad5064.c
index c0fad4f..e06f1d1 100644
--- a/drivers/staging/iio/dac/ad5064.c
+++ b/drivers/staging/iio/dac/ad5064.c
@@ -144,14 +144,14 @@ static const char ad5064_powerdown_modes[][15] = {
 };

 static ssize_t ad5064_read_powerdown_mode_available(struct iio_dev *indio_dev,
-	const struct iio_chan_spec *chan, char *buf)
+	uintptr_t private, const struct iio_chan_spec *chan, char *buf)
 {
 	return sprintf(buf, "%s %s %s\n", ad5064_powerdown_modes[1],
 		ad5064_powerdown_modes[2], ad5064_powerdown_modes[3]);
 }

 static ssize_t ad5064_read_powerdown_mode(struct iio_dev *indio_dev,
-	const struct iio_chan_spec *chan, char *buf)
+	uintptr_t private, const struct iio_chan_spec *chan, char *buf)
 {
 	struct ad5064_state *st = iio_priv(indio_dev);

@@ -160,7 +160,8 @@ static ssize_t ad5064_read_powerdown_mode(struct iio_dev *indio_dev,
 }

 static ssize_t ad5064_write_powerdown_mode(struct iio_dev *indio_dev,
-	const struct iio_chan_spec *chan, const char *buf, size_t len)
+	uintptr_t private, const struct iio_chan_spec *chan, const char *buf,
+	size_t len)
 {
 	struct ad5064_state *st = iio_priv(indio_dev);
 	unsigned int mode, i;
@@ -187,7 +188,7 @@ static ssize_t ad5064_write_powerdown_mode(struct iio_dev *indio_dev,
 }

 static ssize_t ad5064_read_dac_powerdown(struct iio_dev *indio_dev,
-	const struct iio_chan_spec *chan, char *buf)
+	uintptr_t private, const struct iio_chan_spec *chan, char *buf)
 {
 	struct ad5064_state *st = iio_priv(indio_dev);

@@ -195,7 +196,8 @@ static ssize_t ad5064_read_dac_powerdown(struct iio_dev *indio_dev,
 }

 static ssize_t ad5064_write_dac_powerdown(struct iio_dev *indio_dev,
-	const struct iio_chan_spec *chan, const char *buf, size_t len)
+	 uintptr_t private, const struct iio_chan_spec *chan, const char *buf,
+	 size_t len)
 {
 	struct ad5064_state *st = iio_priv(indio_dev);
 	bool pwr_down;
diff --git a/drivers/staging/iio/dac/ad5446.c b/drivers/staging/iio/dac/ad5446.c
index 62ad1d5..55e34d4 100644
--- a/drivers/staging/iio/dac/ad5446.c
+++ b/drivers/staging/iio/dac/ad5446.c
@@ -46,13 +46,14 @@ static const char * const ad5446_powerdown_modes[] = {
 };

 static ssize_t ad5446_read_powerdown_mode_available(struct iio_dev *indio_dev,
-	const struct iio_chan_spec *chan, char *buf)
+	uintptr_t private, const struct iio_chan_spec *chan, char *buf)
 {
 	return sprintf(buf, "%s %s %s\n", ad5446_powerdown_modes[1],
 		ad5446_powerdown_modes[2], ad5446_powerdown_modes[3]);
 }

 static ssize_t ad5446_write_powerdown_mode(struct iio_dev *indio_dev,
+					    uintptr_t private,
 					    const struct iio_chan_spec *chan,
 					    const char *buf, size_t len)
 {
@@ -73,6 +74,7 @@ static ssize_t ad5446_write_powerdown_mode(struct iio_dev *indio_dev,
 }

 static ssize_t ad5446_read_powerdown_mode(struct iio_dev *indio_dev,
+					   uintptr_t private,
 					   const struct iio_chan_spec *chan,
 					   char *buf)
 {
@@ -82,6 +84,7 @@ static ssize_t ad5446_read_powerdown_mode(struct iio_dev *indio_dev,
 }

 static ssize_t ad5446_read_dac_powerdown(struct iio_dev *indio_dev,
+					   uintptr_t private,
 					   const struct iio_chan_spec *chan,
 					   char *buf)
 {
@@ -91,6 +94,7 @@ static ssize_t ad5446_read_dac_powerdown(struct iio_dev *indio_dev,
 }

 static ssize_t ad5446_write_dac_powerdown(struct iio_dev *indio_dev,
+					    uintptr_t private,
 					    const struct iio_chan_spec *chan,
 					    const char *buf, size_t len)
 {
diff --git a/include/linux/iio/iio.h b/include/linux/iio/iio.h
index 0e826af..263b430 100644
--- a/include/linux/iio/iio.h
+++ b/include/linux/iio/iio.h
@@ -111,14 +111,17 @@ struct iio_dev;
  * @shared:	Whether this attribute is shared between all channels.
  * @read:	Read callback for this info attribute, may be NULL.
  * @write:	Write callback for this info attribute, may be NULL.
+ * @private:	Data private to the driver.
  */
 struct iio_chan_spec_ext_info {
 	const char *name;
 	bool shared;
-	ssize_t (*read)(struct iio_dev *, struct iio_chan_spec const *,
-			char *buf);
-	ssize_t (*write)(struct iio_dev *, struct iio_chan_spec const *,
-			const char *buf, size_t len);
+	ssize_t (*read)(struct iio_dev *, uintptr_t private,
+			struct iio_chan_spec const *, char *buf);
+	ssize_t (*write)(struct iio_dev *, uintptr_t private,
+			 struct iio_chan_spec const *, const char *buf,
+			 size_t len);
+	uintptr_t private;
 };

 /**
--
1.7.0.4



^ permalink raw reply related	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2012-04-27  8:58 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-04-27  8:58 [PATCH 1/4] iio: Rename iio/dds to iio/frequency michael.hennerich
2012-04-27  8:58 ` [PATCH 2/4] iio: core: Introduce IIO_ALTVOLTAGE and appropriate channel info elements michael.hennerich
2012-04-27  8:58 ` [PATCH 3/4] iio: frequency: Update DDS drivers to use new channel naming convention michael.hennerich
2012-04-27  8:58 ` [PATCH 4/4] iio: core: iio_chan_spec_ext_info: Add private handle michael.hennerich
  -- strict thread matches above, loose matches on Subject: below --
2012-04-26 12:34 [PATCH 1/4] iio: Rename iio/dds to iio/frequency michael.hennerich
2012-04-26 12:34 ` [PATCH 2/4] iio: core: Introduce IIO_ALTVOLTAGE and appropriate channel info elements michael.hennerich
2012-04-26 13:09   ` Jonathan Cameron

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).