All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 00/14] IIO: Kill off IIO_CHAN macro.
@ 2012-04-10 20:21 Jonathan Cameron
  2012-04-10 20:21 ` [PATCH 01/14] staging:iio:accel:adis16201 unwind use of " Jonathan Cameron
                   ` (14 more replies)
  0 siblings, 15 replies; 36+ messages in thread
From: Jonathan Cameron @ 2012-04-10 20:21 UTC (permalink / raw)
  To: linux-iio; +Cc: device-drivers-devel, Jonathan Cameron

This one has been on my mental todo list for a while. As long
as it was there, from time to time a new driver would get
proposed using it thus wasting some poor developers time.

This kills off the remaing users and gets rid of it!

Please can people sanity check I haven't messed up the
removal in their drivers (and anyone elses if they are
bored enough!)

Jonathan

Jonathan Cameron (14):
  staging:iio:accel:adis16201 unwind use of IIO_CHAN macro.
  staging:iio:accel:adis16203 unwind use of IIO_CHAN macro.
  staging:iio:accel:adis16204 unwind use of IIO_CHAN macro.
  staging:iio:accel:adis16209 unwind use of IIO_CHAN macro.
  staging:iio:accel:adis16240 unwind use of IIO_CHAN macro.
  staging:iio:accel:lis3l02dq unwind use of IIO_CHAN macro.
  staging:iio:accel:sca3000 unwind use of IIO_CHAN macro.
  staging:iio:adc:ad7298 unwind use of IIO_CHAN macro.
  staging:iio:adc:ad7476 unwind use of IIO_CHAN macro.
  staging:iio:accel:ad7780 unwind use of IIO_CHAN macro.
  staging:iio:gyro:adis16260 unwind use of IIO_CHAN macro.
  staging:iio:impedance-analyzer:ad5933 unwind use of IIO_CHAN macro.
  staging:iio:meter:ade7758 unwind use of IIO_CHAN macro.
  staging:iio:core drop the IIO_CHAN macro for ease of maintenance.

 drivers/staging/iio/accel/adis16201_core.c      |  116 +++++++---
 drivers/staging/iio/accel/adis16203_core.c      |   87 ++++++--
 drivers/staging/iio/accel/adis16204_core.c      |   92 +++++---
 drivers/staging/iio/accel/adis16209_core.c      |  135 ++++++++----
 drivers/staging/iio/accel/adis16240_core.c      |  103 ++++++---
 drivers/staging/iio/accel/lis3l02dq_core.c      |   25 ++-
 drivers/staging/iio/accel/sca3000_core.c        |   26 ++-
 drivers/staging/iio/adc/ad7298_core.c           |   63 +++---
 drivers/staging/iio/adc/ad7476_core.c           |   45 ++--
 drivers/staging/iio/adc/ad7780.c                |   30 ++-
 drivers/staging/iio/gyro/adis16260_core.c       |   89 +++++---
 drivers/staging/iio/iio.h                       |   17 --
 drivers/staging/iio/impedance-analyzer/ad5933.c |   47 ++++-
 drivers/staging/iio/meter/ade7758_core.c        |  256 +++++++++++++++++------
 14 files changed, 813 insertions(+), 318 deletions(-)

-- 
1.7.9.4

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

* [PATCH 01/14] staging:iio:accel:adis16201 unwind use of IIO_CHAN macro.
  2012-04-10 20:21 [PATCH 00/14] IIO: Kill off IIO_CHAN macro Jonathan Cameron
@ 2012-04-10 20:21 ` Jonathan Cameron
  2012-04-11 11:39   ` Lars-Peter Clausen
  2012-04-10 20:21 ` [PATCH 02/14] staging:iio:accel:adis16203 " Jonathan Cameron
                   ` (13 subsequent siblings)
  14 siblings, 1 reply; 36+ messages in thread
From: Jonathan Cameron @ 2012-04-10 20:21 UTC (permalink / raw)
  To: linux-iio; +Cc: device-drivers-devel, Jonathan Cameron

This macro is being removed to simplify ongoing maintenance
so we need to unwind and remaining users.

Signed-off-by: Jonathan Cameron <jic23@kernel.org>
---
 drivers/staging/iio/accel/adis16201_core.c |  116 +++++++++++++++++++++-------
 1 file changed, 87 insertions(+), 29 deletions(-)

diff --git a/drivers/staging/iio/accel/adis16201_core.c b/drivers/staging/iio/accel/adis16201_core.c
index d439e45..88d3d96 100644
--- a/drivers/staging/iio/accel/adis16201_core.c
+++ b/drivers/staging/iio/accel/adis16201_core.c
@@ -406,39 +406,97 @@ static int adis16201_write_raw(struct iio_dev *indio_dev,
 }
 
 static struct iio_chan_spec adis16201_channels[] = {
-	IIO_CHAN(IIO_VOLTAGE, 0, 1, 0, "supply", 0, 0,
-		 IIO_CHAN_INFO_SCALE_SEPARATE_BIT,
-		 in_supply, ADIS16201_SCAN_SUPPLY,
-		 IIO_ST('u', 12, 16, 0), 0),
-	IIO_CHAN(IIO_TEMP, 0, 1, 0, NULL, 0, 0,
-		 IIO_CHAN_INFO_SCALE_SEPARATE_BIT |
-		 IIO_CHAN_INFO_OFFSET_SEPARATE_BIT,
-		 temp, ADIS16201_SCAN_TEMP,
-		 IIO_ST('u', 12, 16, 0), 0),
-	IIO_CHAN(IIO_ACCEL, 1, 0, 0, NULL, 0, IIO_MOD_X,
-		 IIO_CHAN_INFO_SCALE_SHARED_BIT |
+	{
+		.type = IIO_VOLTAGE,
+		.indexed = 1,
+		.channel = 0,
+		.extend_name = "supply",
+		.info_mask = IIO_CHAN_INFO_SCALE_SEPARATE_BIT,
+		.address = in_supply,
+		.scan_index = ADIS16201_SCAN_SUPPLY,
+		.scan_type = {
+			.sign = 'u',
+			.realbits = 12,
+			.storagebits = 16,
+		},
+	}, {
+		.type = IIO_TEMP,
+		.indexed = 1,
+		.channel = 0,
+		.info_mask = IIO_CHAN_INFO_SCALE_SEPARATE_BIT |
+		IIO_CHAN_INFO_OFFSET_SEPARATE_BIT,
+		.address = temp,
+		.scan_index = ADIS16201_SCAN_TEMP,
+		.scan_type = {
+			.sign = 'u',
+			.realbits = 12,
+			.storagebits = 16,
+		},
+	}, {
+		.type = IIO_ACCEL,
+		.modified = 1,
+		.channel2 = IIO_MOD_X,
+		.info_mask = IIO_CHAN_INFO_SCALE_SHARED_BIT |
 		 IIO_CHAN_INFO_CALIBBIAS_SEPARATE_BIT,
-		 accel_x, ADIS16201_SCAN_ACC_X,
-		 IIO_ST('s', 14, 16, 0), 0),
-	IIO_CHAN(IIO_ACCEL, 1, 0, 0, NULL, 0, IIO_MOD_Y,
-		 IIO_CHAN_INFO_SCALE_SHARED_BIT |
+		.address = accel_x,
+		.scan_index = ADIS16201_SCAN_ACC_X,
+		.scan_type = {
+			.sign = 's',
+			.realbits = 14,
+			.storagebits = 16,
+		},
+	}, {
+		.type = IIO_ACCEL,
+		.modified = 1,
+		.channel2 = IIO_MOD_Y,
+		.info_mask = IIO_CHAN_INFO_SCALE_SHARED_BIT |
 		 IIO_CHAN_INFO_CALIBBIAS_SEPARATE_BIT,
-		 accel_y, ADIS16201_SCAN_ACC_Y,
-		 IIO_ST('s', 14, 16, 0), 0),
-	IIO_CHAN(IIO_VOLTAGE, 0, 1, 0, NULL, 1, 0,
-		 IIO_CHAN_INFO_SCALE_SEPARATE_BIT,
-		 in_aux, ADIS16201_SCAN_AUX_ADC,
-		 IIO_ST('u', 12, 16, 0), 0),
-	IIO_CHAN(IIO_INCLI, 1, 0, 0, NULL, 0, IIO_MOD_X,
-		 IIO_CHAN_INFO_SCALE_SHARED_BIT |
+		.address = accel_y,
+		.scan_index = ADIS16201_SCAN_ACC_Y,
+		.scan_type = {
+			.sign = 's',
+			.realbits = 14,
+			.storagebits = 16,
+		},
+	}, {
+		.type = IIO_VOLTAGE,
+		.indexed = 1,
+		.channel = 1,
+		.info_mask = IIO_CHAN_INFO_SCALE_SEPARATE_BIT,
+		.address = in_aux,
+		.scan_index = ADIS16201_SCAN_AUX_ADC,
+		.scan_type = {
+			.sign = 'u',
+			.realbits = 12,
+			.storagebits = 16,
+		},
+	}, {
+		.type = IIO_INCLI,
+		.modified = 1,
+		.channel2 = IIO_MOD_X,
+		.info_mask = IIO_CHAN_INFO_SCALE_SHARED_BIT |
 		 IIO_CHAN_INFO_CALIBBIAS_SEPARATE_BIT,
-		 incli_x, ADIS16201_SCAN_INCLI_X,
-		 IIO_ST('s', 14, 16, 0), 0),
-	IIO_CHAN(IIO_INCLI, 1, 0, 0, NULL, 0, IIO_MOD_Y,
-		 IIO_CHAN_INFO_SCALE_SHARED_BIT |
+		.address = incli_x,
+		.scan_index = ADIS16201_SCAN_INCLI_X,
+		.scan_type = {
+			.sign = 's',
+			.realbits = 14,
+			.storagebits = 16,
+		},
+	}, {
+		.type = IIO_INCLI,
+		.modified = 1,
+		.channel2 = IIO_MOD_Y,
+		.info_mask = IIO_CHAN_INFO_SCALE_SHARED_BIT |
 		 IIO_CHAN_INFO_CALIBBIAS_SEPARATE_BIT,
-		 incli_y, ADIS16201_SCAN_INCLI_Y,
-		 IIO_ST('s', 14, 16, 0), 0),
+		.address = incli_y,
+		.scan_index = ADIS16201_SCAN_INCLI_Y,
+		.scan_type = {
+			.sign = 's',
+			.realbits = 14,
+			.storagebits = 16,
+		},
+	},
 	IIO_CHAN_SOFT_TIMESTAMP(7)
 };
 
-- 
1.7.9.4


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

* [PATCH 02/14] staging:iio:accel:adis16203 unwind use of IIO_CHAN macro.
  2012-04-10 20:21 [PATCH 00/14] IIO: Kill off IIO_CHAN macro Jonathan Cameron
  2012-04-10 20:21 ` [PATCH 01/14] staging:iio:accel:adis16201 unwind use of " Jonathan Cameron
@ 2012-04-10 20:21 ` Jonathan Cameron
  2012-04-11 11:39   ` Lars-Peter Clausen
  2012-04-10 20:21 ` [PATCH 03/14] staging:iio:accel:adis16204 " Jonathan Cameron
                   ` (12 subsequent siblings)
  14 siblings, 1 reply; 36+ messages in thread
From: Jonathan Cameron @ 2012-04-10 20:21 UTC (permalink / raw)
  To: linux-iio; +Cc: device-drivers-devel, Jonathan Cameron

This macro is being removed to simplify ongoing maintenance
so we need to unwind and remaining users.

Signed-off-by: Jonathan Cameron <jic23@kernel.org>
---
 drivers/staging/iio/accel/adis16203_core.c |   87 ++++++++++++++++++++--------
 1 file changed, 64 insertions(+), 23 deletions(-)

diff --git a/drivers/staging/iio/accel/adis16203_core.c b/drivers/staging/iio/accel/adis16203_core.c
index 1a5140f..b50f04d 100644
--- a/drivers/staging/iio/accel/adis16203_core.c
+++ b/drivers/staging/iio/accel/adis16203_core.c
@@ -372,29 +372,70 @@ static int adis16203_read_raw(struct iio_dev *indio_dev,
 }
 
 static struct iio_chan_spec adis16203_channels[] = {
-	IIO_CHAN(IIO_VOLTAGE, 0, 1, 0, "supply", 0, 0,
-		 IIO_CHAN_INFO_SCALE_SEPARATE_BIT,
-		 in_supply, ADIS16203_SCAN_SUPPLY,
-		 IIO_ST('u', 12, 16, 0), 0),
-	IIO_CHAN(IIO_VOLTAGE, 0, 1, 0, NULL, 1, 0,
-		 IIO_CHAN_INFO_SCALE_SEPARATE_BIT,
-		 in_aux, ADIS16203_SCAN_AUX_ADC,
-		 IIO_ST('u', 12, 16, 0), 0),
-	IIO_CHAN(IIO_INCLI, 1, 0, 0, NULL, 0, IIO_MOD_X,
-		 IIO_CHAN_INFO_SCALE_SHARED_BIT |
-		 IIO_CHAN_INFO_CALIBBIAS_SEPARATE_BIT,
-		 incli_x, ADIS16203_SCAN_INCLI_X,
-		 IIO_ST('s', 14, 16, 0), 0),
-	/* Fixme: Not what it appears to be - see data sheet */
-	IIO_CHAN(IIO_INCLI, 1, 0, 0, NULL, 0, IIO_MOD_Y,
-		 IIO_CHAN_INFO_SCALE_SHARED_BIT,
-		 incli_y, ADIS16203_SCAN_INCLI_Y,
-		 IIO_ST('s', 14, 16, 0), 0),
-	IIO_CHAN(IIO_TEMP, 0, 1, 0, NULL, 0, 0,
-		 IIO_CHAN_INFO_SCALE_SEPARATE_BIT |
-		 IIO_CHAN_INFO_OFFSET_SEPARATE_BIT,
-		 temp, ADIS16203_SCAN_TEMP,
-		 IIO_ST('u', 12, 16, 0), 0),
+	{
+		.type = IIO_VOLTAGE,
+		.indexed = 1,
+		.channel = 0,
+		.extend_name = "supply",
+		.info_mask = IIO_CHAN_INFO_SCALE_SEPARATE_BIT,
+		.address = in_supply,
+		.scan_index = ADIS16203_SCAN_SUPPLY,
+		.scan_type = {
+			.sign = 'u',
+			.realbits = 12,
+			.storagebits = 16,
+		},
+	}, {
+		.type = IIO_VOLTAGE,
+		.indexed = 1,
+		.channel = 1,
+		.info_mask = IIO_CHAN_INFO_SCALE_SEPARATE_BIT,
+		.address = in_aux,
+		.scan_index = ADIS16203_SCAN_AUX_ADC,
+		.scan_type = {
+			.sign = 'u',
+			.realbits = 12,
+			.storagebits = 16,
+		},
+	}, {
+		.type = IIO_INCLI,
+		.modified = 1,
+		.channel2 = IIO_MOD_X,
+		.info_mask = IIO_CHAN_INFO_SCALE_SHARED_BIT |
+		IIO_CHAN_INFO_CALIBBIAS_SEPARATE_BIT,
+		.address = incli_x,
+		.scan_index = ADIS16203_SCAN_INCLI_X,
+		.scan_type = {
+			.sign = 's',
+			.realbits = 14,
+			.storagebits = 16,
+		},
+	}, { /* Fixme: Not what it appears to be - see data sheet */
+		.type = IIO_INCLI,
+		.modified = 1,
+		.channel2 = IIO_MOD_Y,
+		.info_mask = IIO_CHAN_INFO_SCALE_SHARED_BIT,
+		.address = incli_y,
+		.scan_index = ADIS16203_SCAN_INCLI_Y,
+		.scan_type = {
+			.sign = 's',
+			.realbits = 14,
+			.storagebits = 16,
+		},
+	}, {
+		.type = IIO_TEMP,
+		.indexed = 1,
+		.channel = 0,
+		.info_mask = IIO_CHAN_INFO_SCALE_SEPARATE_BIT |
+		IIO_CHAN_INFO_OFFSET_SEPARATE_BIT,
+		.address = temp,
+		.scan_index = ADIS16203_SCAN_TEMP,
+		.scan_type = {
+			.sign = 'u',
+			.realbits = 12,
+			.storagebits = 16,
+		},
+	},
 	IIO_CHAN_SOFT_TIMESTAMP(5),
 };
 
-- 
1.7.9.4

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

* [PATCH 03/14] staging:iio:accel:adis16204 unwind use of IIO_CHAN macro.
  2012-04-10 20:21 [PATCH 00/14] IIO: Kill off IIO_CHAN macro Jonathan Cameron
  2012-04-10 20:21 ` [PATCH 01/14] staging:iio:accel:adis16201 unwind use of " Jonathan Cameron
  2012-04-10 20:21 ` [PATCH 02/14] staging:iio:accel:adis16203 " Jonathan Cameron
@ 2012-04-10 20:21 ` Jonathan Cameron
  2012-04-11 11:40   ` Lars-Peter Clausen
  2012-04-10 20:21 ` [PATCH 04/14] staging:iio:accel:adis16209 " Jonathan Cameron
                   ` (11 subsequent siblings)
  14 siblings, 1 reply; 36+ messages in thread
From: Jonathan Cameron @ 2012-04-10 20:21 UTC (permalink / raw)
  To: linux-iio; +Cc: device-drivers-devel, Jonathan Cameron

This macro is being removed to simplify ongoing maintenance
so we need to unwind and remaining users.

Note that previously the supply was not indexed. I have made
it indexed for consistency with other similar devices and
for internal consistency with the aux adc port.

Signed-off-by: Jonathan Cameron <jic23@kernel.org>
---
 drivers/staging/iio/accel/adis16204_core.c |   92 ++++++++++++++++++++--------
 1 file changed, 67 insertions(+), 25 deletions(-)

diff --git a/drivers/staging/iio/accel/adis16204_core.c b/drivers/staging/iio/accel/adis16204_core.c
index fa89364..fdf31f1 100644
--- a/drivers/staging/iio/accel/adis16204_core.c
+++ b/drivers/staging/iio/accel/adis16204_core.c
@@ -444,31 +444,73 @@ static int adis16204_write_raw(struct iio_dev *indio_dev,
 }
 
 static struct iio_chan_spec adis16204_channels[] = {
-	IIO_CHAN(IIO_VOLTAGE, 0, 0, 0, "supply", 0, 0,
-		 IIO_CHAN_INFO_SCALE_SEPARATE_BIT,
-		 in_supply, ADIS16204_SCAN_SUPPLY,
-		 IIO_ST('u', 12, 16, 0), 0),
-	IIO_CHAN(IIO_VOLTAGE, 0, 1, 0, NULL, 1, 0,
-		 IIO_CHAN_INFO_SCALE_SEPARATE_BIT,
-		 in_aux, ADIS16204_SCAN_AUX_ADC,
-		 IIO_ST('u', 12, 16, 0), 0),
-	IIO_CHAN(IIO_TEMP, 0, 1, 0, NULL, 0, 0,
-		 IIO_CHAN_INFO_SCALE_SEPARATE_BIT |
-		 IIO_CHAN_INFO_OFFSET_SEPARATE_BIT,
-		 temp, ADIS16204_SCAN_TEMP,
-		 IIO_ST('u', 12, 16, 0), 0),
-	IIO_CHAN(IIO_ACCEL, 1, 0, 0, NULL, 0, IIO_MOD_X,
-		 IIO_CHAN_INFO_SCALE_SEPARATE_BIT |
-		 IIO_CHAN_INFO_CALIBBIAS_SEPARATE_BIT |
-		 IIO_CHAN_INFO_PEAK_SEPARATE_BIT,
-		 accel_x, ADIS16204_SCAN_ACC_X,
-		 IIO_ST('s', 14, 16, 0), 0),
-	IIO_CHAN(IIO_ACCEL, 1, 0, 0, NULL, 0, IIO_MOD_Y,
-		 IIO_CHAN_INFO_SCALE_SEPARATE_BIT |
-		 IIO_CHAN_INFO_CALIBBIAS_SEPARATE_BIT |
-		 IIO_CHAN_INFO_PEAK_SEPARATE_BIT,
-		 accel_y, ADIS16204_SCAN_ACC_Y,
-		 IIO_ST('s', 14, 16, 0), 0),
+	{
+		.type = IIO_VOLTAGE,
+		.indexed = 1, /* Note was not previously indexed */
+		.channel = 0,
+		.extend_name = "supply",
+		.info_mask = IIO_CHAN_INFO_SCALE_SEPARATE_BIT,
+		.address = in_supply,
+		.scan_index = ADIS16204_SCAN_SUPPLY,
+		.scan_type = {
+			.sign = 'u',
+			.realbits = 12,
+			.storagebits = 16,
+		},
+	}, {
+		.type = IIO_VOLTAGE,
+		.indexed = 1,
+		.channel = 1,
+		.info_mask = IIO_CHAN_INFO_SCALE_SEPARATE_BIT,
+		.address = in_aux,
+		.scan_index = ADIS16204_SCAN_AUX_ADC,
+		.scan_type = {
+			.sign = 'u',
+			.realbits = 12,
+			.storagebits = 16,
+		},
+	}, {
+		.type = IIO_TEMP,
+		.indexed = 1,
+		.channel = 0,
+		.info_mask = IIO_CHAN_INFO_SCALE_SEPARATE_BIT |
+		IIO_CHAN_INFO_OFFSET_SEPARATE_BIT,
+		.address = temp,
+		.scan_index = ADIS16204_SCAN_TEMP,
+		.scan_type = {
+			.sign = 'u',
+			.realbits = 12,
+			.storagebits = 16,
+		},
+	}, {
+		.type = IIO_ACCEL,
+		.modified = 1,
+		.channel2 = IIO_MOD_X,
+		.info_mask = IIO_CHAN_INFO_SCALE_SEPARATE_BIT |
+		IIO_CHAN_INFO_CALIBBIAS_SEPARATE_BIT |
+		IIO_CHAN_INFO_PEAK_SEPARATE_BIT,
+		.address = accel_x,
+		.scan_index = ADIS16204_SCAN_ACC_X,
+		.scan_type = {
+			.sign = 's',
+			.realbits = 14,
+			.storagebits = 16,
+		},
+	}, {
+		.type = IIO_ACCEL,
+		.modified = 1,
+		.channel2 = IIO_MOD_Y,
+		.info_mask = IIO_CHAN_INFO_SCALE_SEPARATE_BIT |
+		IIO_CHAN_INFO_CALIBBIAS_SEPARATE_BIT |
+		IIO_CHAN_INFO_PEAK_SEPARATE_BIT,
+		.address = accel_y,
+		.scan_index = ADIS16204_SCAN_ACC_Y,
+		.scan_type = {
+			.sign = 's',
+			.realbits = 14,
+			.storagebits = 16,
+		},
+	},
 	IIO_CHAN_SOFT_TIMESTAMP(5),
 };
 
-- 
1.7.9.4

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

* [PATCH 04/14] staging:iio:accel:adis16209 unwind use of IIO_CHAN macro.
  2012-04-10 20:21 [PATCH 00/14] IIO: Kill off IIO_CHAN macro Jonathan Cameron
                   ` (2 preceding siblings ...)
  2012-04-10 20:21 ` [PATCH 03/14] staging:iio:accel:adis16204 " Jonathan Cameron
@ 2012-04-10 20:21 ` Jonathan Cameron
  2012-04-11 11:42   ` Lars-Peter Clausen
  2012-04-10 20:21 ` [PATCH 05/14] staging:iio:accel:adis16240 " Jonathan Cameron
                   ` (10 subsequent siblings)
  14 siblings, 1 reply; 36+ messages in thread
From: Jonathan Cameron @ 2012-04-10 20:21 UTC (permalink / raw)
  To: linux-iio; +Cc: device-drivers-devel, Jonathan Cameron

This macro is being removed to simplify ongoing maintenance
so we need to unwind and remaining users.

Note the addition of extend_name = "supply" for the supply voltage
adc.  This brings this driver into line with the other adis parts.

Signed-off-by: Jonathan Cameron <jic23@kernel.org>
---
 drivers/staging/iio/accel/adis16209_core.c |  135 ++++++++++++++++++++--------
 1 file changed, 100 insertions(+), 35 deletions(-)

diff --git a/drivers/staging/iio/accel/adis16209_core.c b/drivers/staging/iio/accel/adis16209_core.c
index a98715f..02c003f 100644
--- a/drivers/staging/iio/accel/adis16209_core.c
+++ b/drivers/staging/iio/accel/adis16209_core.c
@@ -408,41 +408,106 @@ static int adis16209_read_raw(struct iio_dev *indio_dev,
 }
 
 static struct iio_chan_spec adis16209_channels[] = {
-	IIO_CHAN(IIO_VOLTAGE, 0, 1, 0, NULL, 0, 0,
-		 IIO_CHAN_INFO_SCALE_SEPARATE_BIT,
-		 in_supply, ADIS16209_SCAN_SUPPLY,
-		 IIO_ST('u', 14, 16, 0), 0),
-	IIO_CHAN(IIO_TEMP, 0, 1, 0, NULL, 0, 0,
-		 IIO_CHAN_INFO_SCALE_SEPARATE_BIT |
-		 IIO_CHAN_INFO_OFFSET_SEPARATE_BIT,
-		 temp, ADIS16209_SCAN_TEMP,
-		 IIO_ST('u', 12, 16, 0), 0),
-	IIO_CHAN(IIO_ACCEL, 1, 0, 0, NULL, 0, IIO_MOD_X,
-		 IIO_CHAN_INFO_SCALE_SHARED_BIT |
-		 IIO_CHAN_INFO_CALIBBIAS_SEPARATE_BIT,
-		 accel_x, ADIS16209_SCAN_ACC_X,
-		 IIO_ST('s', 14, 16, 0), 0),
-	IIO_CHAN(IIO_ACCEL, 1, 0, 0, NULL, 0, IIO_MOD_Y,
-		 IIO_CHAN_INFO_SCALE_SHARED_BIT |
-		 IIO_CHAN_INFO_CALIBBIAS_SEPARATE_BIT,
-		 accel_y, ADIS16209_SCAN_ACC_Y,
-		 IIO_ST('s', 14, 16, 0), 0),
-	IIO_CHAN(IIO_VOLTAGE, 0, 1, 0, NULL, 1, 0,
-		 IIO_CHAN_INFO_SCALE_SEPARATE_BIT,
-		 in_aux, ADIS16209_SCAN_AUX_ADC,
-		 IIO_ST('u', 12, 16, 0), 0),
-	IIO_CHAN(IIO_INCLI, 1, 0, 0, NULL, 0, IIO_MOD_X,
-		 IIO_CHAN_INFO_SCALE_SHARED_BIT,
-		 incli_x, ADIS16209_SCAN_INCLI_X,
-		 IIO_ST('s', 14, 16, 0), 0),
-	IIO_CHAN(IIO_INCLI, 1, 0, 0, NULL, 0, IIO_MOD_Y,
-		 IIO_CHAN_INFO_SCALE_SHARED_BIT,
-		 incli_y, ADIS16209_SCAN_INCLI_Y,
-		 IIO_ST('s', 14, 16, 0), 0),
-	IIO_CHAN(IIO_ROT, 0, 1, 0, NULL, 0, IIO_MOD_X,
-		    0,
-		    rot, ADIS16209_SCAN_ROT,
-		    IIO_ST('s', 14, 16, 0), 0),
+	{
+		.type = IIO_VOLTAGE,
+		.indexed = 1,
+		.channel = 0,
+		.extend_name = "supply",
+		.info_mask = IIO_CHAN_INFO_SCALE_SEPARATE_BIT,
+		.address = in_supply,
+		.scan_index = ADIS16209_SCAN_SUPPLY,
+		.scan_type = {
+			.sign = 'u',
+			.realbits = 14,
+			.storagebits = 16,
+		},
+	}, {
+		.type = IIO_TEMP,
+		.indexed = 0,
+		.channel = 0,
+		.info_mask = IIO_CHAN_INFO_SCALE_SEPARATE_BIT |
+		IIO_CHAN_INFO_OFFSET_SEPARATE_BIT,
+		.address = temp,
+		.scan_index = ADIS16209_SCAN_TEMP,
+		.scan_type = {
+			.sign = 'u',
+			.realbits = 12,
+			.storagebits = 16,
+		},
+	}, {
+		.type = IIO_ACCEL,
+		.modified = 1,
+		.channel2 = IIO_MOD_X,
+		.info_mask = IIO_CHAN_INFO_SCALE_SHARED_BIT |
+		IIO_CHAN_INFO_CALIBBIAS_SEPARATE_BIT,
+		.address = accel_x,
+		.scan_index = ADIS16209_SCAN_ACC_X,
+		.scan_type = {
+			.sign = 's',
+			.realbits = 14,
+			.storagebits = 16,
+		},
+	}, {
+		.type = IIO_ACCEL,
+		.modified = 1,
+		.channel2 = IIO_MOD_Y,
+		.info_mask = IIO_CHAN_INFO_SCALE_SHARED_BIT |
+		IIO_CHAN_INFO_CALIBBIAS_SEPARATE_BIT,
+		.address = accel_y,
+		.scan_index = ADIS16209_SCAN_ACC_Y,
+		.scan_type = {
+			.sign = 's',
+			.realbits = 14,
+			.storagebits = 16,
+		},
+	}, {
+		.type = IIO_VOLTAGE,
+		.indexed = 1,
+		.channel = 1,
+		.info_mask = IIO_CHAN_INFO_SCALE_SEPARATE_BIT,
+		.address = in_aux,
+		.scan_index = ADIS16209_SCAN_AUX_ADC,
+		.scan_type = {
+			.sign = 'u',
+			.realbits = 12,
+			.storagebits = 16,
+		},
+	}, {
+		.type = IIO_INCLI,
+		.modified = 1,
+		.channel2 = IIO_MOD_X,
+		.info_mask = IIO_CHAN_INFO_SCALE_SHARED_BIT,
+		.address = incli_x,
+		.scan_index = ADIS16209_SCAN_INCLI_X,
+		.scan_type = {
+			.sign = 's',
+			.realbits = 14,
+			.storagebits = 16,
+		},
+	}, {
+		.type = IIO_INCLI,
+		.modified = 1,
+		.channel2 = IIO_MOD_Y,
+		.info_mask = IIO_CHAN_INFO_SCALE_SHARED_BIT,
+		.address = incli_y,
+		.scan_index = ADIS16209_SCAN_INCLI_Y,
+		.scan_type = {
+			.sign = 's',
+			.realbits = 14,
+			.storagebits = 16,
+		},
+	}, {
+		.type = IIO_ROT,
+		.modified = 1,
+		.channel2 = IIO_MOD_X,
+		.address = rot,
+		.scan_index = ADIS16209_SCAN_ROT,
+		.scan_type = {
+			.sign = 's',
+			.realbits = 14,
+			.storagebits = 16,
+		},
+	},
 	IIO_CHAN_SOFT_TIMESTAMP(8)
 };
 
-- 
1.7.9.4

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

* [PATCH 05/14] staging:iio:accel:adis16240 unwind use of IIO_CHAN macro.
  2012-04-10 20:21 [PATCH 00/14] IIO: Kill off IIO_CHAN macro Jonathan Cameron
                   ` (3 preceding siblings ...)
  2012-04-10 20:21 ` [PATCH 04/14] staging:iio:accel:adis16209 " Jonathan Cameron
@ 2012-04-10 20:21 ` Jonathan Cameron
  2012-04-11 11:25   ` Lars-Peter Clausen
  2012-04-10 20:21 ` [PATCH 06/14] staging:iio:accel:lis3l02dq " Jonathan Cameron
                   ` (9 subsequent siblings)
  14 siblings, 1 reply; 36+ messages in thread
From: Jonathan Cameron @ 2012-04-10 20:21 UTC (permalink / raw)
  To: linux-iio; +Cc: device-drivers-devel, Jonathan Cameron

This macro is being removed to simplify ongoing maintenance
so we need to unwind and remaining users.

Signed-off-by: Jonathan Cameron <jic23@kernel.org>
---
 drivers/staging/iio/accel/adis16240_core.c |  103 ++++++++++++++++++++--------
 1 file changed, 76 insertions(+), 27 deletions(-)

diff --git a/drivers/staging/iio/accel/adis16240_core.c b/drivers/staging/iio/accel/adis16240_core.c
index 17f77fe..43da947 100644
--- a/drivers/staging/iio/accel/adis16240_core.c
+++ b/drivers/staging/iio/accel/adis16240_core.c
@@ -468,33 +468,82 @@ static int adis16240_write_raw(struct iio_dev *indio_dev,
 }
 
 static struct iio_chan_spec adis16240_channels[] = {
-	IIO_CHAN(IIO_VOLTAGE, 0, 1, 0, "supply", 0, 0,
-		 IIO_CHAN_INFO_SCALE_SEPARATE_BIT,
-		 in_supply, ADIS16240_SCAN_SUPPLY,
-		 IIO_ST('u', 10, 16, 0), 0),
-	IIO_CHAN(IIO_VOLTAGE, 0, 1, 0, NULL, 1, 0,
-		 0,
-		 in_aux, ADIS16240_SCAN_AUX_ADC,
-		 IIO_ST('u', 10, 16, 0), 0),
-	IIO_CHAN(IIO_ACCEL, 1, 0, 0, NULL, 0, IIO_MOD_X,
-		 IIO_CHAN_INFO_SCALE_SHARED_BIT |
-		 IIO_CHAN_INFO_CALIBBIAS_SEPARATE_BIT,
-		 accel_x, ADIS16240_SCAN_ACC_X,
-		 IIO_ST('s', 10, 16, 0), 0),
-	IIO_CHAN(IIO_ACCEL, 1, 0, 0, NULL, 0, IIO_MOD_Y,
-		 IIO_CHAN_INFO_SCALE_SHARED_BIT |
-		 IIO_CHAN_INFO_CALIBBIAS_SEPARATE_BIT,
-		 accel_y, ADIS16240_SCAN_ACC_Y,
-		 IIO_ST('s', 10, 16, 0), 0),
-	IIO_CHAN(IIO_ACCEL, 1, 0, 0, NULL, 0, IIO_MOD_Z,
-		 IIO_CHAN_INFO_SCALE_SHARED_BIT |
-		 IIO_CHAN_INFO_CALIBBIAS_SEPARATE_BIT,
-		 accel_z, ADIS16240_SCAN_ACC_Z,
-		 IIO_ST('s', 10, 16, 0), 0),
-	IIO_CHAN(IIO_TEMP, 0, 1, 0, NULL, 0, 0,
-		 IIO_CHAN_INFO_SCALE_SEPARATE_BIT,
-		 temp, ADIS16240_SCAN_TEMP,
-		 IIO_ST('u', 10, 16, 0), 0),
+	{
+		.type = IIO_VOLTAGE,
+		.indexed = 1,
+		.channel = 0,
+		.extend_name = "supply",
+		.info_mask = IIO_CHAN_INFO_SCALE_SEPARATE_BIT,
+		.address = in_supply,
+		.scan_index = ADIS16240_SCAN_SUPPLY,
+		.scan_type = {
+			.sign = 'u',
+			.realbits = 10,
+			.storagebits = 16,
+		},
+	}, {
+		.type = IIO_VOLTAGE,
+		.indexed = 1,
+		.channel = 1,
+		.address = in_aux,
+		.scan_index = ADIS16240_SCAN_AUX_ADC,
+		.scan_type = {
+			.sign = 'u',
+			.realbits = 10,
+			.storagebits = 16,
+		},
+	}, {
+		.type = IIO_ACCEL,
+		.modified = 1,
+		.channel2 = IIO_MOD_X,
+		.info_mask = IIO_CHAN_INFO_SCALE_SHARED_BIT |
+		IIO_CHAN_INFO_CALIBBIAS_SEPARATE_BIT,
+		.address = accel_x,
+		.scan_index = ADIS16240_SCAN_ACC_X,
+		.scan_type = {
+			.sign = 's',
+			.realbits = 10,
+			.storagebits = 16,
+		},
+	}, {
+		.type = IIO_ACCEL,
+		.modified = 1,
+		.channel2 = IIO_MOD_Y,
+		.info_mask = IIO_CHAN_INFO_SCALE_SHARED_BIT |
+		IIO_CHAN_INFO_CALIBBIAS_SEPARATE_BIT,
+		.address = accel_y,
+		.scan_index = ADIS16240_SCAN_ACC_Y,
+		.scan_type = {
+			.sign = 's',
+			.realbits = 10,
+			.storagebits = 16,
+		},
+	}, {
+		.type = IIO_ACCEL,
+		.modified = 1,
+		.channel2 = IIO_MOD_Z,
+		.info_mask = IIO_CHAN_INFO_SCALE_SHARED_BIT |
+		IIO_CHAN_INFO_CALIBBIAS_SEPARATE_BIT,
+		.address = accel_z,
+		.scan_index = ADIS16240_SCAN_ACC_Z,
+		.scan_type = {
+			.sign = 's',
+			.realbits = 10,
+			.storagebits = 16,
+		},
+	}, {
+		.type = IIO_ACCEL,
+		.indexed = 1,
+		.channel = 0,
+		.info_mask = IIO_CHAN_INFO_SCALE_SEPARATE_BIT,
+		.address = temp,
+		.scan_index = ADIS16240_SCAN_TEMP,
+		.scan_type = {
+			.sign = 'u',
+			.realbits = 10,
+			.storagebits = 16,
+		},
+	},
 	IIO_CHAN_SOFT_TIMESTAMP(6)
 };
 
-- 
1.7.9.4


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

* [PATCH 06/14] staging:iio:accel:lis3l02dq unwind use of IIO_CHAN macro.
  2012-04-10 20:21 [PATCH 00/14] IIO: Kill off IIO_CHAN macro Jonathan Cameron
                   ` (4 preceding siblings ...)
  2012-04-10 20:21 ` [PATCH 05/14] staging:iio:accel:adis16240 " Jonathan Cameron
@ 2012-04-10 20:21 ` Jonathan Cameron
  2012-04-10 20:21 ` [PATCH 07/14] staging:iio:accel:sca3000 " Jonathan Cameron
                   ` (8 subsequent siblings)
  14 siblings, 0 replies; 36+ messages in thread
From: Jonathan Cameron @ 2012-04-10 20:21 UTC (permalink / raw)
  To: linux-iio; +Cc: device-drivers-devel, Jonathan Cameron

This macro is being removed to simplify ongoing maintenance
so we need to unwind and remaining users.

Signed-off-by: Jonathan Cameron <jic23@kernel.org>
---
 drivers/staging/iio/accel/lis3l02dq_core.c |   25 +++++++++++++++++++------
 1 file changed, 19 insertions(+), 6 deletions(-)

diff --git a/drivers/staging/iio/accel/lis3l02dq_core.c b/drivers/staging/iio/accel/lis3l02dq_core.c
index bcf4712..0bb7c70 100644
--- a/drivers/staging/iio/accel/lis3l02dq_core.c
+++ b/drivers/staging/iio/accel/lis3l02dq_core.c
@@ -521,13 +521,26 @@ static irqreturn_t lis3l02dq_event_handler(int irq, void *private)
 	(IIO_EV_BIT(IIO_EV_TYPE_THRESH, IIO_EV_DIR_RISING) |	\
 	 IIO_EV_BIT(IIO_EV_TYPE_THRESH, IIO_EV_DIR_FALLING))
 
+#define LIS3L02DQ_CHAN(index, mod)				\
+	{							\
+		.type = IIO_ACCEL,				\
+		.modified = 1,					\
+		.channel2 = mod,				\
+		.info_mask =  LIS3L02DQ_INFO_MASK,		\
+		.address = index,				\
+		.scan_index = index,				\
+		.scan_type = {					\
+			.sign = 's',				\
+			.realbits = 12,				\
+			.storagebits = 16,			\
+		},						\
+		.event_mask = LIS3L02DQ_EVENT_MASK,		\
+	 }
+
 static struct iio_chan_spec lis3l02dq_channels[] = {
-	IIO_CHAN(IIO_ACCEL, 1, 0, 0, NULL, 0, IIO_MOD_X, LIS3L02DQ_INFO_MASK,
-		 0, 0, IIO_ST('s', 12, 16, 0), LIS3L02DQ_EVENT_MASK),
-	IIO_CHAN(IIO_ACCEL, 1, 0, 0, NULL, 0, IIO_MOD_Y, LIS3L02DQ_INFO_MASK,
-		 1, 1, IIO_ST('s', 12, 16, 0), LIS3L02DQ_EVENT_MASK),
-	IIO_CHAN(IIO_ACCEL, 1, 0, 0, NULL, 0, IIO_MOD_Z, LIS3L02DQ_INFO_MASK,
-		 2, 2, IIO_ST('s', 12, 16, 0), LIS3L02DQ_EVENT_MASK),
+	LIS3L02DQ_CHAN(0, IIO_MOD_X),
+	LIS3L02DQ_CHAN(1, IIO_MOD_Y),
+	LIS3L02DQ_CHAN(2, IIO_MOD_Z),
 	IIO_CHAN_SOFT_TIMESTAMP(3)
 };
 
-- 
1.7.9.4

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

* [PATCH 07/14] staging:iio:accel:sca3000 unwind use of IIO_CHAN macro.
  2012-04-10 20:21 [PATCH 00/14] IIO: Kill off IIO_CHAN macro Jonathan Cameron
                   ` (5 preceding siblings ...)
  2012-04-10 20:21 ` [PATCH 06/14] staging:iio:accel:lis3l02dq " Jonathan Cameron
@ 2012-04-10 20:21 ` Jonathan Cameron
  2012-04-10 20:21 ` [PATCH 08/14] staging:iio:adc:ad7298 " Jonathan Cameron
                   ` (7 subsequent siblings)
  14 siblings, 0 replies; 36+ messages in thread
From: Jonathan Cameron @ 2012-04-10 20:21 UTC (permalink / raw)
  To: linux-iio; +Cc: device-drivers-devel, Jonathan Cameron

This macro is being removed to simplify ongoing maintenance
so we need to unwind and remaining users.

Signed-off-by: Jonathan Cameron <jic23@kernel.org>
---
 drivers/staging/iio/accel/sca3000_core.c |   26 ++++++++++++++++++++------
 1 file changed, 20 insertions(+), 6 deletions(-)

diff --git a/drivers/staging/iio/accel/sca3000_core.c b/drivers/staging/iio/accel/sca3000_core.c
index 49764fb..b4a2747 100644
--- a/drivers/staging/iio/accel/sca3000_core.c
+++ b/drivers/staging/iio/accel/sca3000_core.c
@@ -433,13 +433,27 @@ static IIO_DEVICE_ATTR(revision, S_IRUGO, sca3000_show_rev, NULL, 0);
 #define SCA3000_EVENT_MASK					\
 	(IIO_EV_BIT(IIO_EV_TYPE_MAG, IIO_EV_DIR_RISING))
 
+#define SCA3000_CHAN(index, mod)				\
+	{							\
+		.type = IIO_ACCEL,				\
+		.modified = 1,					\
+		.channel2 = mod,				\
+		.info_mask = SCA3000_INFO_MASK,			\
+		.address = index,				\
+		.scan_index = index,				\
+		.scan_type = {					\
+			.sign = 's',				\
+			.realbits = 11,				\
+			.storagebits = 16,			\
+			.shift = 5,				\
+		},						\
+		.event_mask = SCA3000_EVENT_MASK,		\
+	 }
+
 static struct iio_chan_spec sca3000_channels[] = {
-	IIO_CHAN(IIO_ACCEL, 1, 0, 0, NULL, 0, IIO_MOD_X, SCA3000_INFO_MASK,
-		 0, 0, IIO_ST('s', 11, 16, 5), SCA3000_EVENT_MASK),
-	IIO_CHAN(IIO_ACCEL, 1, 0, 0, NULL, 0, IIO_MOD_Y, SCA3000_INFO_MASK,
-		 1, 1, IIO_ST('s', 11, 16, 5), SCA3000_EVENT_MASK),
-	IIO_CHAN(IIO_ACCEL, 1, 0, 0, NULL, 0, IIO_MOD_Z, SCA3000_INFO_MASK,
-		 2, 2, IIO_ST('s', 11, 16, 5), SCA3000_EVENT_MASK),
+	SCA3000_CHAN(0, IIO_MOD_X),
+	SCA3000_CHAN(1, IIO_MOD_Y),
+	SCA3000_CHAN(2, IIO_MOD_Z),
 };
 
 static u8 sca3000_addresses[3][3] = {
-- 
1.7.9.4

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

* [PATCH 08/14] staging:iio:adc:ad7298 unwind use of IIO_CHAN macro.
  2012-04-10 20:21 [PATCH 00/14] IIO: Kill off IIO_CHAN macro Jonathan Cameron
                   ` (6 preceding siblings ...)
  2012-04-10 20:21 ` [PATCH 07/14] staging:iio:accel:sca3000 " Jonathan Cameron
@ 2012-04-10 20:21 ` Jonathan Cameron
  2012-04-11 11:44   ` Lars-Peter Clausen
  2012-04-10 20:21 ` [PATCH 09/14] staging:iio:adc:ad7476 " Jonathan Cameron
                   ` (6 subsequent siblings)
  14 siblings, 1 reply; 36+ messages in thread
From: Jonathan Cameron @ 2012-04-10 20:21 UTC (permalink / raw)
  To: linux-iio; +Cc: device-drivers-devel, Jonathan Cameron

This macro is being removed to simplify ongoing maintenance
so we need to unwind and remaining users.

Signed-off-by: Jonathan Cameron <jic23@kernel.org>
---
 drivers/staging/iio/adc/ad7298_core.c |   63 +++++++++++++++++++--------------
 1 file changed, 36 insertions(+), 27 deletions(-)

diff --git a/drivers/staging/iio/adc/ad7298_core.c b/drivers/staging/iio/adc/ad7298_core.c
index 8dd6aa9..0cdde18 100644
--- a/drivers/staging/iio/adc/ad7298_core.c
+++ b/drivers/staging/iio/adc/ad7298_core.c
@@ -22,34 +22,43 @@
 
 #include "ad7298.h"
 
+#define AD7298_V_CHAN(index)						\
+	{								\
+		.type = IIO_VOLTAGE,					\
+		.indexed = 1,						\
+		.channel = index,					\
+		.info_mask = IIO_CHAN_INFO_SCALE_SHARED_BIT,		\
+		.address = index,					\
+		.scan_index = index,					\
+		.scan_type = {						\
+			.sign = 'u',					\
+			.realbits = 12,					\
+			.storagebits = 16,				\
+		},							\
+	}
+
 static struct iio_chan_spec ad7298_channels[] = {
-	IIO_CHAN(IIO_TEMP, 0, 1, 0, NULL, 0, 0,
-		 IIO_CHAN_INFO_SCALE_SEPARATE_BIT,
-		 9, AD7298_CH_TEMP, IIO_ST('s', 32, 32, 0), 0),
-	IIO_CHAN(IIO_VOLTAGE, 0, 1, 0, NULL, 0, 0,
-		 IIO_CHAN_INFO_SCALE_SHARED_BIT,
-		 0, 0, IIO_ST('u', 12, 16, 0), 0),
-	IIO_CHAN(IIO_VOLTAGE, 0, 1, 0, NULL, 1, 0,
-		 IIO_CHAN_INFO_SCALE_SHARED_BIT,
-		 1, 1, IIO_ST('u', 12, 16, 0), 0),
-	IIO_CHAN(IIO_VOLTAGE, 0, 1, 0, NULL, 2, 0,
-		 IIO_CHAN_INFO_SCALE_SHARED_BIT,
-		 2, 2, IIO_ST('u', 12, 16, 0), 0),
-	IIO_CHAN(IIO_VOLTAGE, 0, 1, 0, NULL, 3, 0,
-		 IIO_CHAN_INFO_SCALE_SHARED_BIT,
-		 3, 3, IIO_ST('u', 12, 16, 0), 0),
-	IIO_CHAN(IIO_VOLTAGE, 0, 1, 0, NULL, 4, 0,
-		 IIO_CHAN_INFO_SCALE_SHARED_BIT,
-		 4, 4, IIO_ST('u', 12, 16, 0), 0),
-	IIO_CHAN(IIO_VOLTAGE, 0, 1, 0, NULL, 5, 0,
-		 IIO_CHAN_INFO_SCALE_SHARED_BIT,
-		 5, 5, IIO_ST('u', 12, 16, 0), 0),
-	IIO_CHAN(IIO_VOLTAGE, 0, 1, 0, NULL, 6, 0,
-		 IIO_CHAN_INFO_SCALE_SHARED_BIT,
-		 6, 6, IIO_ST('u', 12, 16, 0), 0),
-	IIO_CHAN(IIO_VOLTAGE, 0, 1, 0, NULL, 7, 0,
-		 IIO_CHAN_INFO_SCALE_SHARED_BIT,
-		 7, 7, IIO_ST('u', 12, 16, 0), 0),
+	{
+		.type = IIO_TEMP,
+		.indexed = 1,
+		.channel = 0,
+		.info_mask = IIO_CHAN_INFO_SCALE_SEPARATE_BIT,
+		.address = 9,
+		.scan_index = AD7298_CH_TEMP,
+		.scan_type = {
+			.sign = 's',
+			.realbits = 32,
+			.storagebits = 32,
+		},
+	},
+	AD7298_V_CHAN(0),
+	AD7298_V_CHAN(1),
+	AD7298_V_CHAN(2),
+	AD7298_V_CHAN(3),
+	AD7298_V_CHAN(4),
+	AD7298_V_CHAN(5),
+	AD7298_V_CHAN(6),
+	AD7298_V_CHAN(7),
 	IIO_CHAN_SOFT_TIMESTAMP(8),
 };
 
-- 
1.7.9.4

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

* [PATCH 09/14] staging:iio:adc:ad7476 unwind use of IIO_CHAN macro.
  2012-04-10 20:21 [PATCH 00/14] IIO: Kill off IIO_CHAN macro Jonathan Cameron
                   ` (7 preceding siblings ...)
  2012-04-10 20:21 ` [PATCH 08/14] staging:iio:adc:ad7298 " Jonathan Cameron
@ 2012-04-10 20:21 ` Jonathan Cameron
  2012-04-11  9:47   ` Lars-Peter Clausen
  2012-04-10 20:21 ` [PATCH 10/14] staging:iio:accel:ad7780 " Jonathan Cameron
                   ` (5 subsequent siblings)
  14 siblings, 1 reply; 36+ messages in thread
From: Jonathan Cameron @ 2012-04-10 20:21 UTC (permalink / raw)
  To: linux-iio; +Cc: device-drivers-devel, Jonathan Cameron

This macro is being removed to simplify ongoing maintenance
so we need to unwind and remaining users.

Signed-off-by: Jonathan Cameron <jic23@kernel.org>
---
 drivers/staging/iio/adc/ad7476_core.c |   45 +++++++++++++++------------------
 1 file changed, 21 insertions(+), 24 deletions(-)

diff --git a/drivers/staging/iio/adc/ad7476_core.c b/drivers/staging/iio/adc/ad7476_core.c
index 0c064d1..a703693 100644
--- a/drivers/staging/iio/adc/ad7476_core.c
+++ b/drivers/staging/iio/adc/ad7476_core.c
@@ -66,53 +66,50 @@ static int ad7476_read_raw(struct iio_dev *indio_dev,
 	return -EINVAL;
 }
 
+#define AD7476_CHAN(bits, sh)					\
+	{							\
+	.type = IIO_VOLTAGE,					\
+	.indexed = 1,						\
+	.info_mask = IIO_CHAN_INFO_SCALE_SHARED_BIT,		\
+	.scan_type = {						\
+		.sign = 'u',					\
+		.realbits = bits,				\
+		.storagebits = 16,				\
+		.shift = sh,					\
+	},							\
+}
+
 static const struct ad7476_chip_info ad7476_chip_info_tbl[] = {
 	[ID_AD7466] = {
-		.channel[0] = IIO_CHAN(IIO_VOLTAGE, 0, 1, 0, NULL, 0, 0,
-				       IIO_CHAN_INFO_SCALE_SHARED_BIT,
-				       0, 0, IIO_ST('u', 12, 16, 0), 0),
+		.channel[0] = AD7476_CHAN(12, 0),
 		.channel[1] = IIO_CHAN_SOFT_TIMESTAMP(1),
 	},
 	[ID_AD7467] = {
-		.channel[0] = IIO_CHAN(IIO_VOLTAGE, 0, 1, 0, NULL, 0, 0,
-				       IIO_CHAN_INFO_SCALE_SHARED_BIT,
-				       0, 0, IIO_ST('u', 10, 16, 2), 0),
+		.channel[0] = AD7476_CHAN(10, 2),
 		.channel[1] = IIO_CHAN_SOFT_TIMESTAMP(1),
 	},
 	[ID_AD7468] = {
-		.channel[0] = IIO_CHAN(IIO_VOLTAGE, 0, 1 , 0, NULL, 0, 0,
-				       IIO_CHAN_INFO_SCALE_SHARED_BIT,
-				       0, 0, IIO_ST('u', 8, 16, 4), 0),
+		.channel[0] = AD7476_CHAN(8, 4),
 		.channel[1] = IIO_CHAN_SOFT_TIMESTAMP(1),
 	},
 	[ID_AD7475] = {
-		.channel[0] = IIO_CHAN(IIO_VOLTAGE, 0, 1, 0, NULL, 0, 0,
-				       IIO_CHAN_INFO_SCALE_SHARED_BIT,
-				       0, 0, IIO_ST('u', 12, 16, 0), 0),
+		.channel[0] = AD7476_CHAN(12, 0),
 		.channel[1] = IIO_CHAN_SOFT_TIMESTAMP(1),
 	},
 	[ID_AD7476] = {
-		.channel[0] = IIO_CHAN(IIO_VOLTAGE, 0, 1, 0, NULL, 0, 0,
-				       IIO_CHAN_INFO_SCALE_SHARED_BIT,
-				       0, 0, IIO_ST('u', 12, 16, 0), 0),
+		.channel[0] = AD7476_CHAN(12, 0),
 		.channel[1] = IIO_CHAN_SOFT_TIMESTAMP(1),
 	},
 	[ID_AD7477] = {
-		.channel[0] = IIO_CHAN(IIO_VOLTAGE, 0, 1, 0, NULL, 0, 0,
-				       IIO_CHAN_INFO_SCALE_SHARED_BIT,
-				       0, 0, IIO_ST('u', 10, 16, 2), 0),
+		.channel[0] = AD7476_CHAN(10, 2),
 		.channel[1] = IIO_CHAN_SOFT_TIMESTAMP(1),
 	},
 	[ID_AD7478] = {
-		.channel[0] = IIO_CHAN(IIO_VOLTAGE, 0, 1, 0, NULL, 0, 0,
-				       IIO_CHAN_INFO_SCALE_SHARED_BIT,
-				       0, 0, IIO_ST('u', 8, 16, 4), 0),
+		.channel[0] = AD7476_CHAN(8, 4),
 		.channel[1] = IIO_CHAN_SOFT_TIMESTAMP(1),
 	},
 	[ID_AD7495] = {
-		.channel[0] = IIO_CHAN(IIO_VOLTAGE, 0, 1, 0, NULL, 0, 0,
-				       IIO_CHAN_INFO_SCALE_SHARED_BIT,
-				       0, 0, IIO_ST('u', 12, 16, 0), 0),
+		.channel[0] = AD7476_CHAN(12, 0),
 		.channel[1] = IIO_CHAN_SOFT_TIMESTAMP(1),
 		.int_vref_mv = 2500,
 	},
-- 
1.7.9.4


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

* [PATCH 10/14] staging:iio:accel:ad7780 unwind use of IIO_CHAN macro.
  2012-04-10 20:21 [PATCH 00/14] IIO: Kill off IIO_CHAN macro Jonathan Cameron
                   ` (8 preceding siblings ...)
  2012-04-10 20:21 ` [PATCH 09/14] staging:iio:adc:ad7476 " Jonathan Cameron
@ 2012-04-10 20:21 ` Jonathan Cameron
  2012-04-11 11:49   ` Lars-Peter Clausen
  2012-04-10 20:21 ` [PATCH 11/14] staging:iio:gyro:adis16260 " Jonathan Cameron
                   ` (4 subsequent siblings)
  14 siblings, 1 reply; 36+ messages in thread
From: Jonathan Cameron @ 2012-04-10 20:21 UTC (permalink / raw)
  To: linux-iio; +Cc: device-drivers-devel, Jonathan Cameron

This macro is being removed to simplify ongoing maintenance
so we need to unwind and remaining users.

Signed-off-by: Jonathan Cameron <jic23@kernel.org>
---
 drivers/staging/iio/adc/ad7780.c |   30 ++++++++++++++++++++++++------
 1 file changed, 24 insertions(+), 6 deletions(-)

diff --git a/drivers/staging/iio/adc/ad7780.c b/drivers/staging/iio/adc/ad7780.c
index a13e58c..4f0a6c9 100644
--- a/drivers/staging/iio/adc/ad7780.c
+++ b/drivers/staging/iio/adc/ad7780.c
@@ -126,14 +126,32 @@ static int ad7780_read_raw(struct iio_dev *indio_dev,
 
 static const struct ad7780_chip_info ad7780_chip_info_tbl[] = {
 	[ID_AD7780] = {
-		.channel = IIO_CHAN(IIO_VOLTAGE, 0, 1, 0, NULL, 0, 0,
-				    IIO_CHAN_INFO_SCALE_SHARED_BIT,
-				    0, 0, IIO_ST('s', 24, 32, 8), 0),
+		.channel = {
+			.type = IIO_VOLTAGE,
+			.indexed = 1,
+			.channel = 0,
+			.info_mask = IIO_CHAN_INFO_SCALE_SHARED_BIT,
+			.scan_type = {
+				.sign = 's',
+				.realbits = 24,
+				.storagebits = 32,
+				.shift = 8,
+			},
+		},
 	},
 	[ID_AD7781] = {
-		.channel = IIO_CHAN(IIO_VOLTAGE, 0, 1, 0, NULL, 0, 0,
-				    IIO_CHAN_INFO_SCALE_SHARED_BIT,
-				    0, 0, IIO_ST('s', 20, 32, 12), 0),
+		.channel = {
+			.type = IIO_VOLTAGE,
+			.indexed = 1,
+			.channel = 0,
+			.info_mask = IIO_CHAN_INFO_SCALE_SHARED_BIT,
+			.scan_type = {
+				.sign = 's',
+				.realbits = 20,
+				.storagebits = 32,
+				.shift = 12,
+			},
+		},
 	},
 };
 
-- 
1.7.9.4


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

* [PATCH 11/14] staging:iio:gyro:adis16260 unwind use of IIO_CHAN macro.
  2012-04-10 20:21 [PATCH 00/14] IIO: Kill off IIO_CHAN macro Jonathan Cameron
                   ` (9 preceding siblings ...)
  2012-04-10 20:21 ` [PATCH 10/14] staging:iio:accel:ad7780 " Jonathan Cameron
@ 2012-04-10 20:21 ` Jonathan Cameron
  2012-04-11 11:52   ` Lars-Peter Clausen
  2012-04-10 20:21 ` [PATCH 12/14] staging:iio:impedance-analyzer:ad5933 " Jonathan Cameron
                   ` (3 subsequent siblings)
  14 siblings, 1 reply; 36+ messages in thread
From: Jonathan Cameron @ 2012-04-10 20:21 UTC (permalink / raw)
  To: linux-iio; +Cc: device-drivers-devel, Jonathan Cameron

This macro is being removed to simplify ongoing maintenance
so we need to unwind and remaining users.

Signed-off-by: Jonathan Cameron <jic23@kernel.org>
---
 drivers/staging/iio/gyro/adis16260_core.c |   89 +++++++++++++++++++++--------
 1 file changed, 65 insertions(+), 24 deletions(-)

diff --git a/drivers/staging/iio/gyro/adis16260_core.c b/drivers/staging/iio/gyro/adis16260_core.c
index 8f6af47..92f024e 100644
--- a/drivers/staging/iio/gyro/adis16260_core.c
+++ b/drivers/staging/iio/gyro/adis16260_core.c
@@ -389,30 +389,71 @@ enum adis16260_channel {
 };
 #define ADIS16260_GYRO_CHANNEL_SET(axis, mod)				\
 	struct iio_chan_spec adis16260_channels_##axis[] = {		\
-		IIO_CHAN(IIO_ANGL_VEL, 1, 0, 0, NULL, 0, mod,		\
-			 IIO_CHAN_INFO_CALIBBIAS_SEPARATE_BIT |	\
-			 IIO_CHAN_INFO_CALIBSCALE_SEPARATE_BIT |	\
-			 IIO_CHAN_INFO_SCALE_SEPARATE_BIT,		\
-			 gyro, ADIS16260_SCAN_GYRO,			\
-			 IIO_ST('s', 14, 16, 0), 0),			\
-		IIO_CHAN(IIO_ANGL, 1, 0, 0, NULL, 0, mod,		\
-			 0,						\
-			 angle, ADIS16260_SCAN_ANGL,			\
-			 IIO_ST('u', 14, 16, 0), 0),			\
-		IIO_CHAN(IIO_TEMP, 0, 1, 0, NULL, 0, 0,			\
-			 IIO_CHAN_INFO_OFFSET_SEPARATE_BIT |		\
-			 IIO_CHAN_INFO_SCALE_SEPARATE_BIT,		\
-			 temp, ADIS16260_SCAN_TEMP,			\
-			 IIO_ST('u', 12, 16, 0), 0),			\
-		IIO_CHAN(IIO_VOLTAGE, 0, 1, 0, "supply", 0, 0,		\
-			 IIO_CHAN_INFO_SCALE_SEPARATE_BIT,		\
-			 in_supply, ADIS16260_SCAN_SUPPLY,		\
-			 IIO_ST('u', 12, 16, 0), 0),			\
-		IIO_CHAN(IIO_VOLTAGE, 0, 1, 0, NULL, 1, 0,		\
-			 IIO_CHAN_INFO_SCALE_SEPARATE_BIT,		\
-			 in_aux, ADIS16260_SCAN_AUX_ADC,		\
-			 IIO_ST('u', 12, 16, 0), 0),			\
-		IIO_CHAN_SOFT_TIMESTAMP(5)				\
+		{							\
+			.type = IIO_ANGL_VEL,				\
+			.modified = 1,					\
+			.channel2 = mod,				\
+			.info_mask = IIO_CHAN_INFO_CALIBBIAS_SEPARATE_BIT | \
+			IIO_CHAN_INFO_CALIBSCALE_SEPARATE_BIT |		\
+			IIO_CHAN_INFO_SCALE_SEPARATE_BIT,		\
+			.address = gyro,				\
+			.scan_index = ADIS16260_SCAN_GYRO,		\
+			.scan_type = {					\
+				.sign = 's',				\
+				.realbits = 14,				\
+				.storagebits = 16,			\
+			},						\
+		}, {							\
+			.type = IIO_ANGL,				\
+			.modified = 1,					\
+			.channel2 = mod,				\
+			.address = angle,				\
+			.scan_index = ADIS16260_SCAN_ANGL,		\
+			.scan_type = {					\
+				.sign = 'u',				\
+				.realbits = 14,				\
+				.storagebits = 16,			\
+			},						\
+		}, {							\
+			.type = IIO_TEMP,				\
+			.indexed = 1,					\
+			.channel = 0,					\
+			.info_mask = IIO_CHAN_INFO_OFFSET_SEPARATE_BIT | \
+			IIO_CHAN_INFO_SCALE_SEPARATE_BIT,		\
+			.address = temp,				\
+			.scan_index = ADIS16260_SCAN_TEMP,		\
+			.scan_type = {					\
+				.sign = 'u',				\
+				.realbits = 12,				\
+				.storagebits = 16,			\
+			},						\
+		}, {							\
+			.type = IIO_VOLTAGE,				\
+			.indexed = 1,					\
+			.channel = 0,					\
+			.extend_name = "supply",			\
+			.info_mask = IIO_CHAN_INFO_SCALE_SEPARATE_BIT,	\
+			.address = in_supply,				\
+			.scan_index = ADIS16260_SCAN_SUPPLY,		\
+			.scan_type = {					\
+				.sign = 'u',				\
+				.realbits = 12,				\
+				.storagebits = 16,			\
+			},						\
+		}, {							\
+			.type = IIO_VOLTAGE,				\
+			.indexed = 1,					\
+			.channel = 1,					\
+			.info_mask = IIO_CHAN_INFO_SCALE_SEPARATE_BIT,	\
+			.address = in_aux,				\
+			.scan_index = ADIS16260_SCAN_AUX_ADC,		\
+			.scan_type = {					\
+				.sign = 'u',				\
+				.realbits = 12,				\
+				.storagebits = 16,			\
+			},						\
+		},							\
+		IIO_CHAN_SOFT_TIMESTAMP(5),				\
 	}
 
 static const ADIS16260_GYRO_CHANNEL_SET(x, IIO_MOD_X);
-- 
1.7.9.4


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

* [PATCH 12/14] staging:iio:impedance-analyzer:ad5933 unwind use of IIO_CHAN macro.
  2012-04-10 20:21 [PATCH 00/14] IIO: Kill off IIO_CHAN macro Jonathan Cameron
                   ` (10 preceding siblings ...)
  2012-04-10 20:21 ` [PATCH 11/14] staging:iio:gyro:adis16260 " Jonathan Cameron
@ 2012-04-10 20:21 ` Jonathan Cameron
  2012-04-11 11:46   ` Lars-Peter Clausen
  2012-04-10 20:21 ` [PATCH 13/14] staging:iio:meter:ade7758 " Jonathan Cameron
                   ` (2 subsequent siblings)
  14 siblings, 1 reply; 36+ messages in thread
From: Jonathan Cameron @ 2012-04-10 20:21 UTC (permalink / raw)
  To: linux-iio; +Cc: device-drivers-devel, Jonathan Cameron

This macro is being removed to simplify ongoing maintenance
so we need to unwind and remaining users.

Signed-off-by: Jonathan Cameron <jic23@kernel.org>
---
 drivers/staging/iio/impedance-analyzer/ad5933.c |   47 ++++++++++++++++++-----
 1 file changed, 38 insertions(+), 9 deletions(-)

diff --git a/drivers/staging/iio/impedance-analyzer/ad5933.c b/drivers/staging/iio/impedance-analyzer/ad5933.c
index cd82b56..06b9fe2 100644
--- a/drivers/staging/iio/impedance-analyzer/ad5933.c
+++ b/drivers/staging/iio/impedance-analyzer/ad5933.c
@@ -109,15 +109,44 @@ static struct ad5933_platform_data ad5933_default_pdata  = {
 };
 
 static struct iio_chan_spec ad5933_channels[] = {
-	IIO_CHAN(IIO_TEMP, 0, 1, 1, NULL, 0, 0, 0,
-		 0, AD5933_REG_TEMP_DATA, IIO_ST('s', 14, 16, 0), 0),
-	/* Ring Channels */
-	IIO_CHAN(IIO_VOLTAGE, 0, 1, 0, "real_raw", 0, 0,
-		 IIO_CHAN_INFO_SCALE_SEPARATE_BIT,
-		 AD5933_REG_REAL_DATA, 0, IIO_ST('s', 16, 16, 0), 0),
-	IIO_CHAN(IIO_VOLTAGE, 0, 1, 0, "imag_raw", 0, 0,
-		 IIO_CHAN_INFO_SCALE_SEPARATE_BIT,
-		 AD5933_REG_IMAG_DATA, 1, IIO_ST('s', 16, 16, 0), 0),
+	{
+		.type = IIO_TEMP,
+		.indexed = 1,
+		.processed_val = 1,
+		.channel = 0,
+		.address = AD5933_REG_TEMP_DATA,
+		.scan_type = {
+			.sign = 's',
+			.realbits = 14,
+			.storagebits = 16,
+		},
+	}, { /* Ring Channels */
+		.type = IIO_VOLTAGE,
+		.indexed = 1,
+		.channel = 0,
+		.extend_name = "real_raw",
+		.info_mask = IIO_CHAN_INFO_SCALE_SEPARATE_BIT,
+		.address = AD5933_REG_REAL_DATA,
+		.scan_index = 0,
+		.scan_type = {
+			.sign = 's',
+			.realbits = 16,
+			.storagebits = 16,
+		},
+	}, {
+		.type = IIO_VOLTAGE,
+		.indexed = 1,
+		.channel = 0,
+		.extend_name = "imag_raw",
+		.info_mask = IIO_CHAN_INFO_SCALE_SEPARATE_BIT,
+		.address = AD5933_REG_IMAG_DATA,
+		.scan_index = 1,
+		.scan_type = {
+			.sign = 's',
+			.realbits = 16,
+			.storagebits = 16,
+		},
+	},
 };
 
 static int ad5933_i2c_write(struct i2c_client *client,
-- 
1.7.9.4

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

* [PATCH 13/14] staging:iio:meter:ade7758 unwind use of IIO_CHAN macro.
  2012-04-10 20:21 [PATCH 00/14] IIO: Kill off IIO_CHAN macro Jonathan Cameron
                   ` (11 preceding siblings ...)
  2012-04-10 20:21 ` [PATCH 12/14] staging:iio:impedance-analyzer:ad5933 " Jonathan Cameron
@ 2012-04-10 20:21 ` Jonathan Cameron
  2012-04-11 11:47   ` Lars-Peter Clausen
  2012-04-10 20:21 ` [PATCH 14/14] staging:iio:core drop the IIO_CHAN macro for ease of maintenance Jonathan Cameron
  2012-04-11 11:21 ` [PATCH 00/14] IIO: Kill off IIO_CHAN macro Lars-Peter Clausen
  14 siblings, 1 reply; 36+ messages in thread
From: Jonathan Cameron @ 2012-04-10 20:21 UTC (permalink / raw)
  To: linux-iio; +Cc: device-drivers-devel, Jonathan Cameron

This macro is being removed to simplify ongoing maintenance
so we need to unwind and remaining users.

Signed-off-by: Jonathan Cameron <jic23@kernel.org>
---
 drivers/staging/iio/meter/ade7758_core.c |  256 +++++++++++++++++++++++-------
 1 file changed, 196 insertions(+), 60 deletions(-)

diff --git a/drivers/staging/iio/meter/ade7758_core.c b/drivers/staging/iio/meter/ade7758_core.c
index 9374d6b..4d6bffa 100644
--- a/drivers/staging/iio/meter/ade7758_core.c
+++ b/drivers/staging/iio/meter/ade7758_core.c
@@ -662,66 +662,202 @@ static const struct attribute_group ade7758_attribute_group = {
 };
 
 static struct iio_chan_spec ade7758_channels[] = {
-	IIO_CHAN(IIO_VOLTAGE, 0, 1, 0, "raw", 0, 0,
-		IIO_CHAN_INFO_SCALE_SHARED_BIT,
-		AD7758_WT(AD7758_PHASE_A, AD7758_VOLTAGE),
-		0, IIO_ST('s', 24, 32, 0), 0),
-	IIO_CHAN(IIO_CURRENT, 0, 1, 0, "raw", 0, 0,
-		IIO_CHAN_INFO_SCALE_SHARED_BIT,
-		AD7758_WT(AD7758_PHASE_A, AD7758_CURRENT),
-		1, IIO_ST('s', 24, 32, 0), 0),
-	IIO_CHAN(IIO_POWER, 0, 1, 0, "apparent_raw", 0, 0,
-		IIO_CHAN_INFO_SCALE_SHARED_BIT,
-		AD7758_WT(AD7758_PHASE_A, AD7758_APP_PWR),
-		2, IIO_ST('s', 24, 32, 0), 0),
-	IIO_CHAN(IIO_POWER, 0, 1, 0, "active_raw", 0, 0,
-		IIO_CHAN_INFO_SCALE_SHARED_BIT,
-		AD7758_WT(AD7758_PHASE_A, AD7758_ACT_PWR),
-		3, IIO_ST('s', 24, 32, 0), 0),
-	IIO_CHAN(IIO_POWER, 0, 1, 0, "reactive_raw", 0, 0,
-		IIO_CHAN_INFO_SCALE_SHARED_BIT,
-		AD7758_WT(AD7758_PHASE_A, AD7758_REACT_PWR),
-		4, IIO_ST('s', 24, 32, 0), 0),
-	IIO_CHAN(IIO_VOLTAGE, 0, 1, 0, "raw", 1, 0,
-		IIO_CHAN_INFO_SCALE_SHARED_BIT,
-		AD7758_WT(AD7758_PHASE_B, AD7758_VOLTAGE),
-		5, IIO_ST('s', 24, 32, 0), 0),
-	IIO_CHAN(IIO_CURRENT, 0, 1, 0, "raw", 1, 0,
-		IIO_CHAN_INFO_SCALE_SHARED_BIT,
-		AD7758_WT(AD7758_PHASE_B, AD7758_CURRENT),
-		6, IIO_ST('s', 24, 32, 0), 0),
-	IIO_CHAN(IIO_POWER, 0, 1, 0, "apparent_raw", 1, 0,
-		IIO_CHAN_INFO_SCALE_SHARED_BIT,
-		AD7758_WT(AD7758_PHASE_B, AD7758_APP_PWR),
-		7, IIO_ST('s', 24, 32, 0), 0),
-	IIO_CHAN(IIO_POWER, 0, 1, 0, "active_raw", 1, 0,
-		IIO_CHAN_INFO_SCALE_SHARED_BIT,
-		AD7758_WT(AD7758_PHASE_B, AD7758_ACT_PWR),
-		8, IIO_ST('s', 24, 32, 0), 0),
-	IIO_CHAN(IIO_POWER, 0, 1, 0, "reactive_raw", 1, 0,
-		IIO_CHAN_INFO_SCALE_SHARED_BIT,
-		AD7758_WT(AD7758_PHASE_B, AD7758_REACT_PWR),
-		9, IIO_ST('s', 24, 32, 0), 0),
-	IIO_CHAN(IIO_VOLTAGE, 0, 1, 0, "raw", 2, 0,
-		IIO_CHAN_INFO_SCALE_SHARED_BIT,
-		AD7758_WT(AD7758_PHASE_C, AD7758_VOLTAGE),
-		10, IIO_ST('s', 24, 32, 0), 0),
-	IIO_CHAN(IIO_CURRENT, 0, 1, 0, "raw", 2, 0,
-		IIO_CHAN_INFO_SCALE_SHARED_BIT,
-		AD7758_WT(AD7758_PHASE_C, AD7758_CURRENT),
-		11, IIO_ST('s', 24, 32, 0), 0),
-	IIO_CHAN(IIO_POWER, 0, 1, 0, "apparent_raw", 2, 0,
-		IIO_CHAN_INFO_SCALE_SHARED_BIT,
-		AD7758_WT(AD7758_PHASE_C, AD7758_APP_PWR),
-		12, IIO_ST('s', 24, 32, 0), 0),
-	IIO_CHAN(IIO_POWER, 0, 1, 0, "active_raw", 2, 0,
-		IIO_CHAN_INFO_SCALE_SHARED_BIT,
-		AD7758_WT(AD7758_PHASE_C, AD7758_ACT_PWR),
-		13, IIO_ST('s', 24, 32, 0), 0),
-	IIO_CHAN(IIO_POWER, 0, 1, 0, "reactive_raw", 2, 0,
-		IIO_CHAN_INFO_SCALE_SHARED_BIT,
-		AD7758_WT(AD7758_PHASE_C, AD7758_REACT_PWR),
-		14, IIO_ST('s', 24, 32, 0), 0),
+	{
+		.type = IIO_VOLTAGE,
+		.indexed = 1,
+		.channel = 0,
+		.extend_name = "raw",
+		.info_mask = IIO_CHAN_INFO_SCALE_SHARED_BIT,
+		.address = AD7758_WT(AD7758_PHASE_A, AD7758_VOLTAGE),
+		.scan_index = 0,
+		.scan_type = {
+			.sign = 's',
+			.realbits = 24,
+			.storagebits = 32,
+		},
+	}, {
+		.type = IIO_CURRENT,
+		.indexed = 1,
+		.channel = 0,
+		.extend_name = "raw",
+		.info_mask = IIO_CHAN_INFO_SCALE_SHARED_BIT,
+		.address = AD7758_WT(AD7758_PHASE_A, AD7758_CURRENT),
+		.scan_index = 1,
+		.scan_type = {
+			.sign = 's',
+			.realbits = 24,
+			.storagebits = 32,
+		},
+	}, {
+		.type = IIO_POWER,
+		.indexed = 1,
+		.channel = 0,
+		.extend_name = "apparent_raw",
+		.info_mask = IIO_CHAN_INFO_SCALE_SHARED_BIT,
+		.address = AD7758_WT(AD7758_PHASE_A, AD7758_APP_PWR),
+		.scan_index = 2,
+		.scan_type = {
+			.sign = 's',
+			.realbits = 24,
+			.storagebits = 32,
+		},
+	}, {
+		.type = IIO_POWER,
+		.indexed = 1,
+		.channel = 0,
+		.extend_name = "active_raw",
+		.info_mask = IIO_CHAN_INFO_SCALE_SHARED_BIT,
+		.address = AD7758_WT(AD7758_PHASE_A, AD7758_ACT_PWR),
+		.scan_index = 3,
+		.scan_type = {
+			.sign = 's',
+			.realbits = 24,
+			.storagebits = 32,
+		},
+	}, {
+		.type = IIO_POWER,
+		.indexed = 1,
+		.channel = 0,
+		.extend_name = "reactive_raw",
+		.info_mask = IIO_CHAN_INFO_SCALE_SHARED_BIT,
+		.address = AD7758_WT(AD7758_PHASE_A, AD7758_REACT_PWR),
+		.scan_index = 4,
+		.scan_type = {
+			.sign = 's',
+			.realbits = 24,
+			.storagebits = 32,
+		},
+	}, {
+		.type = IIO_VOLTAGE,
+		.indexed = 1,
+		.channel = 1,
+		.extend_name = "raw",
+		.info_mask = IIO_CHAN_INFO_SCALE_SHARED_BIT,
+		.address = AD7758_WT(AD7758_PHASE_B, AD7758_VOLTAGE),
+		.scan_index = 5,
+		.scan_type = {
+			.sign = 's',
+			.realbits = 24,
+			.storagebits = 32,
+		},
+	}, {
+		.type = IIO_CURRENT,
+		.indexed = 1,
+		.channel = 1,
+		.extend_name = "raw",
+		.info_mask = IIO_CHAN_INFO_SCALE_SHARED_BIT,
+		.address = AD7758_WT(AD7758_PHASE_B, AD7758_CURRENT),
+		.scan_index = 6,
+		.scan_type = {
+			.sign = 's',
+			.realbits = 24,
+			.storagebits = 32,
+		},
+	}, {
+		.type = IIO_POWER,
+		.indexed = 1,
+		.channel = 1,
+		.extend_name = "apparent_raw",
+		.info_mask = IIO_CHAN_INFO_SCALE_SHARED_BIT,
+		.address = AD7758_WT(AD7758_PHASE_B, AD7758_APP_PWR),
+		.scan_index = 7,
+		.scan_type = {
+			.sign = 's',
+			.realbits = 24,
+			.storagebits = 32,
+		},
+	}, {
+		.type = IIO_POWER,
+		.indexed = 1,
+		.channel = 1,
+		.extend_name = "active_raw",
+		.info_mask = IIO_CHAN_INFO_SCALE_SHARED_BIT,
+		.address = AD7758_WT(AD7758_PHASE_B, AD7758_ACT_PWR),
+		.scan_index = 8,
+		.scan_type = {
+			.sign = 's',
+			.realbits = 24,
+			.storagebits = 32,
+		},
+	}, {
+		.type = IIO_POWER,
+		.indexed = 1,
+		.channel = 1,
+		.extend_name = "reactive_raw",
+		.info_mask = IIO_CHAN_INFO_SCALE_SHARED_BIT,
+		.address = AD7758_WT(AD7758_PHASE_B, AD7758_REACT_PWR),
+		.scan_index = 9,
+		.scan_type = {
+			.sign = 's',
+			.realbits = 24,
+			.storagebits = 32,
+		},
+	}, {
+		.type = IIO_VOLTAGE,
+		.indexed = 1,
+		.channel = 2,
+		.extend_name = "raw",
+		.info_mask = IIO_CHAN_INFO_SCALE_SHARED_BIT,
+		.address = AD7758_WT(AD7758_PHASE_C, AD7758_VOLTAGE),
+		.scan_index = 10,
+		.scan_type = {
+			.sign = 's',
+			.realbits = 24,
+			.storagebits = 32,
+		},
+	}, {
+		.type = IIO_CURRENT,
+		.indexed = 1,
+		.channel = 2,
+		.extend_name = "raw",
+		.info_mask = IIO_CHAN_INFO_SCALE_SHARED_BIT,
+		.address = AD7758_WT(AD7758_PHASE_C, AD7758_CURRENT),
+		.scan_index = 11,
+		.scan_type = {
+			.sign = 's',
+			.realbits = 24,
+			.storagebits = 32,
+		},
+	}, {
+		.type = IIO_POWER,
+		.indexed = 1,
+		.channel = 2,
+		.extend_name = "apparent_raw",
+		.info_mask = IIO_CHAN_INFO_SCALE_SHARED_BIT,
+		.address = AD7758_WT(AD7758_PHASE_C, AD7758_APP_PWR),
+		.scan_index = 12,
+		.scan_type = {
+			.sign = 's',
+			.realbits = 24,
+			.storagebits = 32,
+		},
+	}, {
+		.type = IIO_POWER,
+		.indexed = 1,
+		.channel = 2,
+		.extend_name = "active_raw",
+		.info_mask = IIO_CHAN_INFO_SCALE_SHARED_BIT,
+		.address = AD7758_WT(AD7758_PHASE_C, AD7758_ACT_PWR),
+		.scan_index = 13,
+		.scan_type = {
+			.sign = 's',
+			.realbits = 24,
+			.storagebits = 32,
+		},
+	}, {
+		.type = IIO_POWER,
+		.indexed = 1,
+		.channel = 2,
+		.extend_name = "reactive_raw",
+		.info_mask = IIO_CHAN_INFO_SCALE_SHARED_BIT,
+		.address = AD7758_WT(AD7758_PHASE_C, AD7758_REACT_PWR),
+		.scan_index = 14,
+		.scan_type = {
+			.sign = 's',
+			.realbits = 24,
+			.storagebits = 32,
+		},
+	},
 	IIO_CHAN_SOFT_TIMESTAMP(15),
 };
 
-- 
1.7.9.4


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

* [PATCH 14/14] staging:iio:core drop the IIO_CHAN macro for ease of maintenance.
  2012-04-10 20:21 [PATCH 00/14] IIO: Kill off IIO_CHAN macro Jonathan Cameron
                   ` (12 preceding siblings ...)
  2012-04-10 20:21 ` [PATCH 13/14] staging:iio:meter:ade7758 " Jonathan Cameron
@ 2012-04-10 20:21 ` Jonathan Cameron
  2012-04-11 11:21 ` [PATCH 00/14] IIO: Kill off IIO_CHAN macro Lars-Peter Clausen
  14 siblings, 0 replies; 36+ messages in thread
From: Jonathan Cameron @ 2012-04-10 20:21 UTC (permalink / raw)
  To: linux-iio; +Cc: device-drivers-devel, Jonathan Cameron

I was warned long ago that this macro would cause trouble but didn't
heed the advice, hence I'm unwinding it now!

Signed-off-by: Jonathan Cameron <jic23@kernel.org>
---
 drivers/staging/iio/iio.h |   17 -----------------
 1 file changed, 17 deletions(-)

diff --git a/drivers/staging/iio/iio.h b/drivers/staging/iio/iio.h
index 4824812..fa6fca0 100644
--- a/drivers/staging/iio/iio.h
+++ b/drivers/staging/iio/iio.h
@@ -176,23 +176,6 @@ struct iio_chan_spec {
 #define IIO_ST(si, rb, sb, sh)						\
 	{ .sign = si, .realbits = rb, .storagebits = sb, .shift = sh }
 
-/* Macro assumes input channels */
-#define IIO_CHAN(_type, _mod, _indexed, _proc, _name, _chan, _chan2, \
-		 _inf_mask, _address, _si, _stype, _event_mask)		\
-	{ .type = _type,						\
-	  .output = 0,							\
-	  .modified = _mod,						\
-	  .indexed = _indexed,						\
-	  .processed_val = _proc,					\
-	  .extend_name = _name,						\
-	  .channel = _chan,						\
-	  .channel2 = _chan2,						\
-	  .info_mask = _inf_mask,					\
-	  .address = _address,						\
-	  .scan_index = _si,						\
-	  .scan_type = _stype,						\
-	  .event_mask = _event_mask }
-
 #define IIO_CHAN_SOFT_TIMESTAMP(_si)					\
 	{ .type = IIO_TIMESTAMP, .channel = -1,				\
 			.scan_index = _si, .scan_type = IIO_ST('s', 64, 64, 0) }
-- 
1.7.9.4


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

* Re: [PATCH 09/14] staging:iio:adc:ad7476 unwind use of IIO_CHAN macro.
  2012-04-10 20:21 ` [PATCH 09/14] staging:iio:adc:ad7476 " Jonathan Cameron
@ 2012-04-11  9:47   ` Lars-Peter Clausen
  2012-04-11 17:41     ` [PATCH V2] " Jonathan Cameron
  0 siblings, 1 reply; 36+ messages in thread
From: Lars-Peter Clausen @ 2012-04-11  9:47 UTC (permalink / raw)
  To: Jonathan Cameron; +Cc: linux-iio, device-drivers-devel

On 04/10/2012 10:21 PM, Jonathan Cameron wrote:
> This macro is being removed to simplify ongoing maintenance
> so we need to unwind and remaining users.
> 
> Signed-off-by: Jonathan Cameron <jic23@kernel.org>
> ---
>  drivers/staging/iio/adc/ad7476_core.c |   45 +++++++++++++++------------------
>  1 file changed, 21 insertions(+), 24 deletions(-)
> 
> diff --git a/drivers/staging/iio/adc/ad7476_core.c b/drivers/staging/iio/adc/ad7476_core.c
> index 0c064d1..a703693 100644
> --- a/drivers/staging/iio/adc/ad7476_core.c
> +++ b/drivers/staging/iio/adc/ad7476_core.c
> @@ -66,53 +66,50 @@ static int ad7476_read_raw(struct iio_dev *indio_dev,
>  	return -EINVAL;
>  }
>  
> +#define AD7476_CHAN(bits, sh)					\

Since shift + bits is always 12 we can simplify this a bit more and make it
just take the number of bits and calculate the shift.

> +	{							\
> +	.type = IIO_VOLTAGE,					\
> +	.indexed = 1,						\
> +	.info_mask = IIO_CHAN_INFO_SCALE_SHARED_BIT,		\
> +	.scan_type = {						\
> +		.sign = 'u',					\
> +		.realbits = bits,				\
> +		.storagebits = 16,				\
> +		.shift = sh,					\
> +	},							\
> +}

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

* Re: [PATCH 00/14] IIO: Kill off IIO_CHAN macro.
  2012-04-11 11:21 ` [PATCH 00/14] IIO: Kill off IIO_CHAN macro Lars-Peter Clausen
@ 2012-04-11 11:20   ` Jonathan Cameron
  2012-04-11 11:55     ` Lars-Peter Clausen
  0 siblings, 1 reply; 36+ messages in thread
From: Jonathan Cameron @ 2012-04-11 11:20 UTC (permalink / raw)
  To: Lars-Peter Clausen; +Cc: Jonathan Cameron, linux-iio, device-drivers-devel

On 4/11/2012 12:21 PM, Lars-Peter Clausen wrote:
> On 04/10/2012 10:21 PM, Jonathan Cameron wrote:
>> This kills off the remaing users and gets rid of it!
>>
>> Please can people sanity check I haven't messed up the
>> removal in their drivers (and anyone elses if they are
>> bored enough!)
> I wrote a small set of cocci scripts which automate the removal and detected
> some small issues. If you are interested in the scripts I've uploaded them
> at http://metafoo.de/kill_iio_chan.tar.bz2
>
> The cocci pretty printer doesn't cope very well with unwinding a macro, so
> I've added some extra sed expressions to cleanup the result.
>
>
Don't suppose you fancy updating those to do the processed and 
unprocessed stuff
you suggested?



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

* Re: [PATCH 00/14] IIO: Kill off IIO_CHAN macro.
  2012-04-10 20:21 [PATCH 00/14] IIO: Kill off IIO_CHAN macro Jonathan Cameron
                   ` (13 preceding siblings ...)
  2012-04-10 20:21 ` [PATCH 14/14] staging:iio:core drop the IIO_CHAN macro for ease of maintenance Jonathan Cameron
@ 2012-04-11 11:21 ` Lars-Peter Clausen
  2012-04-11 11:20   ` Jonathan Cameron
  14 siblings, 1 reply; 36+ messages in thread
From: Lars-Peter Clausen @ 2012-04-11 11:21 UTC (permalink / raw)
  To: Jonathan Cameron; +Cc: linux-iio, device-drivers-devel

On 04/10/2012 10:21 PM, Jonathan Cameron wrote:
> This kills off the remaing users and gets rid of it!
> 
> Please can people sanity check I haven't messed up the
> removal in their drivers (and anyone elses if they are
> bored enough!)

I wrote a small set of cocci scripts which automate the removal and detected
some small issues. If you are interested in the scripts I've uploaded them
at http://metafoo.de/kill_iio_chan.tar.bz2

The cocci pretty printer doesn't cope very well with unwinding a macro, so
I've added some extra sed expressions to cleanup the result.

- Lars

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

* Re: [PATCH 05/14] staging:iio:accel:adis16240 unwind use of IIO_CHAN macro.
  2012-04-10 20:21 ` [PATCH 05/14] staging:iio:accel:adis16240 " Jonathan Cameron
@ 2012-04-11 11:25   ` Lars-Peter Clausen
  2012-04-11 17:46     ` [PATCH V2] " Jonathan Cameron
  0 siblings, 1 reply; 36+ messages in thread
From: Lars-Peter Clausen @ 2012-04-11 11:25 UTC (permalink / raw)
  To: Jonathan Cameron; +Cc: linux-iio, device-drivers-devel

On 04/10/2012 10:21 PM, Jonathan Cameron wrote:
> This macro is being removed to simplify ongoing maintenance
> so we need to unwind and remaining users.
> 
> Signed-off-by: Jonathan Cameron <jic23@kernel.org>
> ---
>  drivers/staging/iio/accel/adis16240_core.c |  103 ++++++++++++++++++++--------
>  1 file changed, 76 insertions(+), 27 deletions(-)
> 
> diff --git a/drivers/staging/iio/accel/adis16240_core.c b/drivers/staging/iio/accel/adis16240_core.c
> index 17f77fe..43da947 100644
> --- a/drivers/staging/iio/accel/adis16240_core.c
> +++ b/drivers/staging/iio/accel/adis16240_core.c
> @@ -468,33 +468,82 @@ static int adis16240_write_raw(struct iio_dev *indio_dev,
>  }
>  
>  static struct iio_chan_spec adis16240_channels[] = {
> [...]
> -	IIO_CHAN(IIO_TEMP, 0, 1, 0, NULL, 0, 0,
> -		 IIO_CHAN_INFO_SCALE_SEPARATE_BIT,
> -		 temp, ADIS16240_SCAN_TEMP,
> -		 IIO_ST('u', 10, 16, 0), 0),
> [...]
> +	}, {
> +		.type = IIO_ACCEL,

IIO_TEMP

> +		.indexed = 1,
> +		.channel = 0,
> +		.info_mask = IIO_CHAN_INFO_SCALE_SEPARATE_BIT,
> +		.address = temp,
> +		.scan_index = ADIS16240_SCAN_TEMP,
> +		.scan_type = {
> +			.sign = 'u',
> +			.realbits = 10,
> +			.storagebits = 16,
> +		},

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

* Re: [PATCH 01/14] staging:iio:accel:adis16201 unwind use of IIO_CHAN macro.
  2012-04-10 20:21 ` [PATCH 01/14] staging:iio:accel:adis16201 unwind use of " Jonathan Cameron
@ 2012-04-11 11:39   ` Lars-Peter Clausen
  0 siblings, 0 replies; 36+ messages in thread
From: Lars-Peter Clausen @ 2012-04-11 11:39 UTC (permalink / raw)
  To: Jonathan Cameron; +Cc: linux-iio, device-drivers-devel

On 04/10/2012 10:21 PM, Jonathan Cameron wrote:
> This macro is being removed to simplify ongoing maintenance
> so we need to unwind and remaining users.
> 
> Signed-off-by: Jonathan Cameron <jic23@kernel.org>

Couldn't spot any real differences to the autogenerated cocci patch.

Acked-by: Lars-Peter Clausen <lars@metafoo.de>

> ---
>  drivers/staging/iio/accel/adis16201_core.c |  116 +++++++++++++++++++++-------
>  1 file changed, 87 insertions(+), 29 deletions(-)
> 
> diff --git a/drivers/staging/iio/accel/adis16201_core.c b/drivers/staging/iio/accel/adis16201_core.c
> index d439e45..88d3d96 100644
> --- a/drivers/staging/iio/accel/adis16201_core.c
> +++ b/drivers/staging/iio/accel/adis16201_core.c
> @@ -406,39 +406,97 @@ static int adis16201_write_raw(struct iio_dev *indio_dev,
>  }
>  
>  static struct iio_chan_spec adis16201_channels[] = {
> -	IIO_CHAN(IIO_VOLTAGE, 0, 1, 0, "supply", 0, 0,
> -		 IIO_CHAN_INFO_SCALE_SEPARATE_BIT,
> -		 in_supply, ADIS16201_SCAN_SUPPLY,
> -		 IIO_ST('u', 12, 16, 0), 0),
> -	IIO_CHAN(IIO_TEMP, 0, 1, 0, NULL, 0, 0,
> -		 IIO_CHAN_INFO_SCALE_SEPARATE_BIT |
> -		 IIO_CHAN_INFO_OFFSET_SEPARATE_BIT,
> -		 temp, ADIS16201_SCAN_TEMP,
> -		 IIO_ST('u', 12, 16, 0), 0),
> -	IIO_CHAN(IIO_ACCEL, 1, 0, 0, NULL, 0, IIO_MOD_X,
> -		 IIO_CHAN_INFO_SCALE_SHARED_BIT |
> +	{
> +		.type = IIO_VOLTAGE,
> +		.indexed = 1,
> +		.channel = 0,
> +		.extend_name = "supply",
> +		.info_mask = IIO_CHAN_INFO_SCALE_SEPARATE_BIT,
> +		.address = in_supply,
> +		.scan_index = ADIS16201_SCAN_SUPPLY,
> +		.scan_type = {
> +			.sign = 'u',
> +			.realbits = 12,
> +			.storagebits = 16,
> +		},
> +	}, {
> +		.type = IIO_TEMP,
> +		.indexed = 1,
> +		.channel = 0,
> +		.info_mask = IIO_CHAN_INFO_SCALE_SEPARATE_BIT |
> +		IIO_CHAN_INFO_OFFSET_SEPARATE_BIT,
> +		.address = temp,
> +		.scan_index = ADIS16201_SCAN_TEMP,
> +		.scan_type = {
> +			.sign = 'u',
> +			.realbits = 12,
> +			.storagebits = 16,
> +		},
> +	}, {
> +		.type = IIO_ACCEL,
> +		.modified = 1,
> +		.channel2 = IIO_MOD_X,
> +		.info_mask = IIO_CHAN_INFO_SCALE_SHARED_BIT |
>  		 IIO_CHAN_INFO_CALIBBIAS_SEPARATE_BIT,
> -		 accel_x, ADIS16201_SCAN_ACC_X,
> -		 IIO_ST('s', 14, 16, 0), 0),
> -	IIO_CHAN(IIO_ACCEL, 1, 0, 0, NULL, 0, IIO_MOD_Y,
> -		 IIO_CHAN_INFO_SCALE_SHARED_BIT |
> +		.address = accel_x,
> +		.scan_index = ADIS16201_SCAN_ACC_X,
> +		.scan_type = {
> +			.sign = 's',
> +			.realbits = 14,
> +			.storagebits = 16,
> +		},
> +	}, {
> +		.type = IIO_ACCEL,
> +		.modified = 1,
> +		.channel2 = IIO_MOD_Y,
> +		.info_mask = IIO_CHAN_INFO_SCALE_SHARED_BIT |
>  		 IIO_CHAN_INFO_CALIBBIAS_SEPARATE_BIT,
> -		 accel_y, ADIS16201_SCAN_ACC_Y,
> -		 IIO_ST('s', 14, 16, 0), 0),
> -	IIO_CHAN(IIO_VOLTAGE, 0, 1, 0, NULL, 1, 0,
> -		 IIO_CHAN_INFO_SCALE_SEPARATE_BIT,
> -		 in_aux, ADIS16201_SCAN_AUX_ADC,
> -		 IIO_ST('u', 12, 16, 0), 0),
> -	IIO_CHAN(IIO_INCLI, 1, 0, 0, NULL, 0, IIO_MOD_X,
> -		 IIO_CHAN_INFO_SCALE_SHARED_BIT |
> +		.address = accel_y,
> +		.scan_index = ADIS16201_SCAN_ACC_Y,
> +		.scan_type = {
> +			.sign = 's',
> +			.realbits = 14,
> +			.storagebits = 16,
> +		},
> +	}, {
> +		.type = IIO_VOLTAGE,
> +		.indexed = 1,
> +		.channel = 1,
> +		.info_mask = IIO_CHAN_INFO_SCALE_SEPARATE_BIT,
> +		.address = in_aux,
> +		.scan_index = ADIS16201_SCAN_AUX_ADC,
> +		.scan_type = {
> +			.sign = 'u',
> +			.realbits = 12,
> +			.storagebits = 16,
> +		},
> +	}, {
> +		.type = IIO_INCLI,
> +		.modified = 1,
> +		.channel2 = IIO_MOD_X,
> +		.info_mask = IIO_CHAN_INFO_SCALE_SHARED_BIT |
>  		 IIO_CHAN_INFO_CALIBBIAS_SEPARATE_BIT,
> -		 incli_x, ADIS16201_SCAN_INCLI_X,
> -		 IIO_ST('s', 14, 16, 0), 0),
> -	IIO_CHAN(IIO_INCLI, 1, 0, 0, NULL, 0, IIO_MOD_Y,
> -		 IIO_CHAN_INFO_SCALE_SHARED_BIT |
> +		.address = incli_x,
> +		.scan_index = ADIS16201_SCAN_INCLI_X,
> +		.scan_type = {
> +			.sign = 's',
> +			.realbits = 14,
> +			.storagebits = 16,
> +		},
> +	}, {
> +		.type = IIO_INCLI,
> +		.modified = 1,
> +		.channel2 = IIO_MOD_Y,
> +		.info_mask = IIO_CHAN_INFO_SCALE_SHARED_BIT |
>  		 IIO_CHAN_INFO_CALIBBIAS_SEPARATE_BIT,
> -		 incli_y, ADIS16201_SCAN_INCLI_Y,
> -		 IIO_ST('s', 14, 16, 0), 0),
> +		.address = incli_y,
> +		.scan_index = ADIS16201_SCAN_INCLI_Y,
> +		.scan_type = {
> +			.sign = 's',
> +			.realbits = 14,
> +			.storagebits = 16,
> +		},
> +	},
>  	IIO_CHAN_SOFT_TIMESTAMP(7)
>  };
>  


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

* Re: [PATCH 02/14] staging:iio:accel:adis16203 unwind use of IIO_CHAN macro.
  2012-04-10 20:21 ` [PATCH 02/14] staging:iio:accel:adis16203 " Jonathan Cameron
@ 2012-04-11 11:39   ` Lars-Peter Clausen
  0 siblings, 0 replies; 36+ messages in thread
From: Lars-Peter Clausen @ 2012-04-11 11:39 UTC (permalink / raw)
  To: Jonathan Cameron; +Cc: linux-iio, device-drivers-devel

On 04/10/2012 10:21 PM, Jonathan Cameron wrote:
> This macro is being removed to simplify ongoing maintenance
> so we need to unwind and remaining users.
> 
> Signed-off-by: Jonathan Cameron <jic23@kernel.org>
Couldn't spot any real differences to the autogenerated cocci patch.

Acked-by: Lars-Peter Clausen <lars@metafoo.de>

> ---
>  drivers/staging/iio/accel/adis16203_core.c |   87 ++++++++++++++++++++--------
>  1 file changed, 64 insertions(+), 23 deletions(-)
> 
> diff --git a/drivers/staging/iio/accel/adis16203_core.c b/drivers/staging/iio/accel/adis16203_core.c
> index 1a5140f..b50f04d 100644
> --- a/drivers/staging/iio/accel/adis16203_core.c
> +++ b/drivers/staging/iio/accel/adis16203_core.c
> @@ -372,29 +372,70 @@ static int adis16203_read_raw(struct iio_dev *indio_dev,
>  }
>  
>  static struct iio_chan_spec adis16203_channels[] = {
> -	IIO_CHAN(IIO_VOLTAGE, 0, 1, 0, "supply", 0, 0,
> -		 IIO_CHAN_INFO_SCALE_SEPARATE_BIT,
> -		 in_supply, ADIS16203_SCAN_SUPPLY,
> -		 IIO_ST('u', 12, 16, 0), 0),
> -	IIO_CHAN(IIO_VOLTAGE, 0, 1, 0, NULL, 1, 0,
> -		 IIO_CHAN_INFO_SCALE_SEPARATE_BIT,
> -		 in_aux, ADIS16203_SCAN_AUX_ADC,
> -		 IIO_ST('u', 12, 16, 0), 0),
> -	IIO_CHAN(IIO_INCLI, 1, 0, 0, NULL, 0, IIO_MOD_X,
> -		 IIO_CHAN_INFO_SCALE_SHARED_BIT |
> -		 IIO_CHAN_INFO_CALIBBIAS_SEPARATE_BIT,
> -		 incli_x, ADIS16203_SCAN_INCLI_X,
> -		 IIO_ST('s', 14, 16, 0), 0),
> -	/* Fixme: Not what it appears to be - see data sheet */
> -	IIO_CHAN(IIO_INCLI, 1, 0, 0, NULL, 0, IIO_MOD_Y,
> -		 IIO_CHAN_INFO_SCALE_SHARED_BIT,
> -		 incli_y, ADIS16203_SCAN_INCLI_Y,
> -		 IIO_ST('s', 14, 16, 0), 0),
> -	IIO_CHAN(IIO_TEMP, 0, 1, 0, NULL, 0, 0,
> -		 IIO_CHAN_INFO_SCALE_SEPARATE_BIT |
> -		 IIO_CHAN_INFO_OFFSET_SEPARATE_BIT,
> -		 temp, ADIS16203_SCAN_TEMP,
> -		 IIO_ST('u', 12, 16, 0), 0),
> +	{
> +		.type = IIO_VOLTAGE,
> +		.indexed = 1,
> +		.channel = 0,
> +		.extend_name = "supply",
> +		.info_mask = IIO_CHAN_INFO_SCALE_SEPARATE_BIT,
> +		.address = in_supply,
> +		.scan_index = ADIS16203_SCAN_SUPPLY,
> +		.scan_type = {
> +			.sign = 'u',
> +			.realbits = 12,
> +			.storagebits = 16,
> +		},
> +	}, {
> +		.type = IIO_VOLTAGE,
> +		.indexed = 1,
> +		.channel = 1,
> +		.info_mask = IIO_CHAN_INFO_SCALE_SEPARATE_BIT,
> +		.address = in_aux,
> +		.scan_index = ADIS16203_SCAN_AUX_ADC,
> +		.scan_type = {
> +			.sign = 'u',
> +			.realbits = 12,
> +			.storagebits = 16,
> +		},
> +	}, {
> +		.type = IIO_INCLI,
> +		.modified = 1,
> +		.channel2 = IIO_MOD_X,
> +		.info_mask = IIO_CHAN_INFO_SCALE_SHARED_BIT |
> +		IIO_CHAN_INFO_CALIBBIAS_SEPARATE_BIT,
> +		.address = incli_x,
> +		.scan_index = ADIS16203_SCAN_INCLI_X,
> +		.scan_type = {
> +			.sign = 's',
> +			.realbits = 14,
> +			.storagebits = 16,
> +		},
> +	}, { /* Fixme: Not what it appears to be - see data sheet */
> +		.type = IIO_INCLI,
> +		.modified = 1,
> +		.channel2 = IIO_MOD_Y,
> +		.info_mask = IIO_CHAN_INFO_SCALE_SHARED_BIT,
> +		.address = incli_y,
> +		.scan_index = ADIS16203_SCAN_INCLI_Y,
> +		.scan_type = {
> +			.sign = 's',
> +			.realbits = 14,
> +			.storagebits = 16,
> +		},
> +	}, {
> +		.type = IIO_TEMP,
> +		.indexed = 1,
> +		.channel = 0,
> +		.info_mask = IIO_CHAN_INFO_SCALE_SEPARATE_BIT |
> +		IIO_CHAN_INFO_OFFSET_SEPARATE_BIT,
> +		.address = temp,
> +		.scan_index = ADIS16203_SCAN_TEMP,
> +		.scan_type = {
> +			.sign = 'u',
> +			.realbits = 12,
> +			.storagebits = 16,
> +		},
> +	},
>  	IIO_CHAN_SOFT_TIMESTAMP(5),
>  };
>  


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

* Re: [PATCH 03/14] staging:iio:accel:adis16204 unwind use of IIO_CHAN macro.
  2012-04-10 20:21 ` [PATCH 03/14] staging:iio:accel:adis16204 " Jonathan Cameron
@ 2012-04-11 11:40   ` Lars-Peter Clausen
  0 siblings, 0 replies; 36+ messages in thread
From: Lars-Peter Clausen @ 2012-04-11 11:40 UTC (permalink / raw)
  To: Jonathan Cameron; +Cc: linux-iio, device-drivers-devel

On 04/10/2012 10:21 PM, Jonathan Cameron wrote:
> This macro is being removed to simplify ongoing maintenance
> so we need to unwind and remaining users.
> 
> Note that previously the supply was not indexed. I have made
> it indexed for consistency with other similar devices and
> for internal consistency with the aux adc port.

Couldn't spot any real differences to the autogenerated cocci patch.

Acked-by: Lars-Peter Clausen <lars@metafoo.de>

> 
> Signed-off-by: Jonathan Cameron <jic23@kernel.org>
> ---
>  drivers/staging/iio/accel/adis16204_core.c |   92 ++++++++++++++++++++--------
>  1 file changed, 67 insertions(+), 25 deletions(-)
> 
> diff --git a/drivers/staging/iio/accel/adis16204_core.c b/drivers/staging/iio/accel/adis16204_core.c
> index fa89364..fdf31f1 100644
> --- a/drivers/staging/iio/accel/adis16204_core.c
> +++ b/drivers/staging/iio/accel/adis16204_core.c
> @@ -444,31 +444,73 @@ static int adis16204_write_raw(struct iio_dev *indio_dev,
>  }
>  
>  static struct iio_chan_spec adis16204_channels[] = {
> -	IIO_CHAN(IIO_VOLTAGE, 0, 0, 0, "supply", 0, 0,
> -		 IIO_CHAN_INFO_SCALE_SEPARATE_BIT,
> -		 in_supply, ADIS16204_SCAN_SUPPLY,
> -		 IIO_ST('u', 12, 16, 0), 0),
> -	IIO_CHAN(IIO_VOLTAGE, 0, 1, 0, NULL, 1, 0,
> -		 IIO_CHAN_INFO_SCALE_SEPARATE_BIT,
> -		 in_aux, ADIS16204_SCAN_AUX_ADC,
> -		 IIO_ST('u', 12, 16, 0), 0),
> -	IIO_CHAN(IIO_TEMP, 0, 1, 0, NULL, 0, 0,
> -		 IIO_CHAN_INFO_SCALE_SEPARATE_BIT |
> -		 IIO_CHAN_INFO_OFFSET_SEPARATE_BIT,
> -		 temp, ADIS16204_SCAN_TEMP,
> -		 IIO_ST('u', 12, 16, 0), 0),
> -	IIO_CHAN(IIO_ACCEL, 1, 0, 0, NULL, 0, IIO_MOD_X,
> -		 IIO_CHAN_INFO_SCALE_SEPARATE_BIT |
> -		 IIO_CHAN_INFO_CALIBBIAS_SEPARATE_BIT |
> -		 IIO_CHAN_INFO_PEAK_SEPARATE_BIT,
> -		 accel_x, ADIS16204_SCAN_ACC_X,
> -		 IIO_ST('s', 14, 16, 0), 0),
> -	IIO_CHAN(IIO_ACCEL, 1, 0, 0, NULL, 0, IIO_MOD_Y,
> -		 IIO_CHAN_INFO_SCALE_SEPARATE_BIT |
> -		 IIO_CHAN_INFO_CALIBBIAS_SEPARATE_BIT |
> -		 IIO_CHAN_INFO_PEAK_SEPARATE_BIT,
> -		 accel_y, ADIS16204_SCAN_ACC_Y,
> -		 IIO_ST('s', 14, 16, 0), 0),
> +	{
> +		.type = IIO_VOLTAGE,
> +		.indexed = 1, /* Note was not previously indexed */
> +		.channel = 0,
> +		.extend_name = "supply",
> +		.info_mask = IIO_CHAN_INFO_SCALE_SEPARATE_BIT,
> +		.address = in_supply,
> +		.scan_index = ADIS16204_SCAN_SUPPLY,
> +		.scan_type = {
> +			.sign = 'u',
> +			.realbits = 12,
> +			.storagebits = 16,
> +		},
> +	}, {
> +		.type = IIO_VOLTAGE,
> +		.indexed = 1,
> +		.channel = 1,
> +		.info_mask = IIO_CHAN_INFO_SCALE_SEPARATE_BIT,
> +		.address = in_aux,
> +		.scan_index = ADIS16204_SCAN_AUX_ADC,
> +		.scan_type = {
> +			.sign = 'u',
> +			.realbits = 12,
> +			.storagebits = 16,
> +		},
> +	}, {
> +		.type = IIO_TEMP,
> +		.indexed = 1,
> +		.channel = 0,
> +		.info_mask = IIO_CHAN_INFO_SCALE_SEPARATE_BIT |
> +		IIO_CHAN_INFO_OFFSET_SEPARATE_BIT,
> +		.address = temp,
> +		.scan_index = ADIS16204_SCAN_TEMP,
> +		.scan_type = {
> +			.sign = 'u',
> +			.realbits = 12,
> +			.storagebits = 16,
> +		},
> +	}, {
> +		.type = IIO_ACCEL,
> +		.modified = 1,
> +		.channel2 = IIO_MOD_X,
> +		.info_mask = IIO_CHAN_INFO_SCALE_SEPARATE_BIT |
> +		IIO_CHAN_INFO_CALIBBIAS_SEPARATE_BIT |
> +		IIO_CHAN_INFO_PEAK_SEPARATE_BIT,
> +		.address = accel_x,
> +		.scan_index = ADIS16204_SCAN_ACC_X,
> +		.scan_type = {
> +			.sign = 's',
> +			.realbits = 14,
> +			.storagebits = 16,
> +		},
> +	}, {
> +		.type = IIO_ACCEL,
> +		.modified = 1,
> +		.channel2 = IIO_MOD_Y,
> +		.info_mask = IIO_CHAN_INFO_SCALE_SEPARATE_BIT |
> +		IIO_CHAN_INFO_CALIBBIAS_SEPARATE_BIT |
> +		IIO_CHAN_INFO_PEAK_SEPARATE_BIT,
> +		.address = accel_y,
> +		.scan_index = ADIS16204_SCAN_ACC_Y,
> +		.scan_type = {
> +			.sign = 's',
> +			.realbits = 14,
> +			.storagebits = 16,
> +		},
> +	},
>  	IIO_CHAN_SOFT_TIMESTAMP(5),
>  };
>  


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

* Re: [PATCH 04/14] staging:iio:accel:adis16209 unwind use of IIO_CHAN macro.
  2012-04-10 20:21 ` [PATCH 04/14] staging:iio:accel:adis16209 " Jonathan Cameron
@ 2012-04-11 11:42   ` Lars-Peter Clausen
  0 siblings, 0 replies; 36+ messages in thread
From: Lars-Peter Clausen @ 2012-04-11 11:42 UTC (permalink / raw)
  To: Jonathan Cameron; +Cc: linux-iio, device-drivers-devel

On 04/10/2012 10:21 PM, Jonathan Cameron wrote:
> This macro is being removed to simplify ongoing maintenance
> so we need to unwind and remaining users.
> 
> Note the addition of extend_name = "supply" for the supply voltage
> adc.  This brings this driver into line with the other adis parts.
> 
> Signed-off-by: Jonathan Cameron <jic23@kernel.org>

The cocci patch disagrees on one occasion, but I think that's an bug in the
original driver.

Acked-by: Lars-Peter Clausen <lars@metafoo.de>

> ---
>  drivers/staging/iio/accel/adis16209_core.c |  135 ++++++++++++++++++++--------
>  1 file changed, 100 insertions(+), 35 deletions(-)
> 
> diff --git a/drivers/staging/iio/accel/adis16209_core.c b/drivers/staging/iio/accel/adis16209_core.c
> index a98715f..02c003f 100644
> --- a/drivers/staging/iio/accel/adis16209_core.c
> +++ b/drivers/staging/iio/accel/adis16209_core.c
> @@ -408,41 +408,106 @@ static int adis16209_read_raw(struct iio_dev *indio_dev,
>  }
>  
>  static struct iio_chan_spec adis16209_channels[] = {
> [...]
> -	IIO_CHAN(IIO_ROT, 0, 1, 0, NULL, 0, IIO_MOD_X,
> -		    0,
> -		    rot, ADIS16209_SCAN_ROT,
> -		    IIO_ST('s', 14, 16, 0), 0),

> +	}, {
> +		.type = IIO_ROT,
> +		.modified = 1,

This one had indexed set instead of modified, which doesn't make any sense.
May be worth noting this in the changelog though.

> +		.channel2 = IIO_MOD_X,
> +		.address = rot,
> +		.scan_index = ADIS16209_SCAN_ROT,
> +		.scan_type = {
> +			.sign = 's',
> +			.realbits = 14,
> +			.storagebits = 16,
> +		},
> +	},
>  	IIO_CHAN_SOFT_TIMESTAMP(8)
>  };
>  


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

* Re: [PATCH 08/14] staging:iio:adc:ad7298 unwind use of IIO_CHAN macro.
  2012-04-10 20:21 ` [PATCH 08/14] staging:iio:adc:ad7298 " Jonathan Cameron
@ 2012-04-11 11:44   ` Lars-Peter Clausen
  0 siblings, 0 replies; 36+ messages in thread
From: Lars-Peter Clausen @ 2012-04-11 11:44 UTC (permalink / raw)
  To: Jonathan Cameron; +Cc: linux-iio, device-drivers-devel

On 04/10/2012 10:21 PM, Jonathan Cameron wrote:
> This macro is being removed to simplify ongoing maintenance
> so we need to unwind and remaining users.
> 
> Signed-off-by: Jonathan Cameron <jic23@kernel.org>

Acked-by: Lars-Peter Clausen <lars@metafoo.de>

> ---
>  drivers/staging/iio/adc/ad7298_core.c |   63 +++++++++++++++++++--------------
>  1 file changed, 36 insertions(+), 27 deletions(-)
> 
> diff --git a/drivers/staging/iio/adc/ad7298_core.c b/drivers/staging/iio/adc/ad7298_core.c
> index 8dd6aa9..0cdde18 100644
> --- a/drivers/staging/iio/adc/ad7298_core.c
> +++ b/drivers/staging/iio/adc/ad7298_core.c
> @@ -22,34 +22,43 @@
>  
>  #include "ad7298.h"
>  
> +#define AD7298_V_CHAN(index)						\
> +	{								\
> +		.type = IIO_VOLTAGE,					\
> +		.indexed = 1,						\
> +		.channel = index,					\
> +		.info_mask = IIO_CHAN_INFO_SCALE_SHARED_BIT,		\
> +		.address = index,					\
> +		.scan_index = index,					\
> +		.scan_type = {						\
> +			.sign = 'u',					\
> +			.realbits = 12,					\
> +			.storagebits = 16,				\
> +		},							\
> +	}
> +
>  static struct iio_chan_spec ad7298_channels[] = {
> -	IIO_CHAN(IIO_TEMP, 0, 1, 0, NULL, 0, 0,
> -		 IIO_CHAN_INFO_SCALE_SEPARATE_BIT,
> -		 9, AD7298_CH_TEMP, IIO_ST('s', 32, 32, 0), 0),
> -	IIO_CHAN(IIO_VOLTAGE, 0, 1, 0, NULL, 0, 0,
> -		 IIO_CHAN_INFO_SCALE_SHARED_BIT,
> -		 0, 0, IIO_ST('u', 12, 16, 0), 0),
> -	IIO_CHAN(IIO_VOLTAGE, 0, 1, 0, NULL, 1, 0,
> -		 IIO_CHAN_INFO_SCALE_SHARED_BIT,
> -		 1, 1, IIO_ST('u', 12, 16, 0), 0),
> -	IIO_CHAN(IIO_VOLTAGE, 0, 1, 0, NULL, 2, 0,
> -		 IIO_CHAN_INFO_SCALE_SHARED_BIT,
> -		 2, 2, IIO_ST('u', 12, 16, 0), 0),
> -	IIO_CHAN(IIO_VOLTAGE, 0, 1, 0, NULL, 3, 0,
> -		 IIO_CHAN_INFO_SCALE_SHARED_BIT,
> -		 3, 3, IIO_ST('u', 12, 16, 0), 0),
> -	IIO_CHAN(IIO_VOLTAGE, 0, 1, 0, NULL, 4, 0,
> -		 IIO_CHAN_INFO_SCALE_SHARED_BIT,
> -		 4, 4, IIO_ST('u', 12, 16, 0), 0),
> -	IIO_CHAN(IIO_VOLTAGE, 0, 1, 0, NULL, 5, 0,
> -		 IIO_CHAN_INFO_SCALE_SHARED_BIT,
> -		 5, 5, IIO_ST('u', 12, 16, 0), 0),
> -	IIO_CHAN(IIO_VOLTAGE, 0, 1, 0, NULL, 6, 0,
> -		 IIO_CHAN_INFO_SCALE_SHARED_BIT,
> -		 6, 6, IIO_ST('u', 12, 16, 0), 0),
> -	IIO_CHAN(IIO_VOLTAGE, 0, 1, 0, NULL, 7, 0,
> -		 IIO_CHAN_INFO_SCALE_SHARED_BIT,
> -		 7, 7, IIO_ST('u', 12, 16, 0), 0),
> +	{
> +		.type = IIO_TEMP,
> +		.indexed = 1,
> +		.channel = 0,
> +		.info_mask = IIO_CHAN_INFO_SCALE_SEPARATE_BIT,
> +		.address = 9,
> +		.scan_index = AD7298_CH_TEMP,
> +		.scan_type = {
> +			.sign = 's',
> +			.realbits = 32,
> +			.storagebits = 32,
> +		},
> +	},
> +	AD7298_V_CHAN(0),
> +	AD7298_V_CHAN(1),
> +	AD7298_V_CHAN(2),
> +	AD7298_V_CHAN(3),
> +	AD7298_V_CHAN(4),
> +	AD7298_V_CHAN(5),
> +	AD7298_V_CHAN(6),
> +	AD7298_V_CHAN(7),
>  	IIO_CHAN_SOFT_TIMESTAMP(8),
>  };
>  


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

* Re: [PATCH 12/14] staging:iio:impedance-analyzer:ad5933 unwind use of IIO_CHAN macro.
  2012-04-10 20:21 ` [PATCH 12/14] staging:iio:impedance-analyzer:ad5933 " Jonathan Cameron
@ 2012-04-11 11:46   ` Lars-Peter Clausen
  0 siblings, 0 replies; 36+ messages in thread
From: Lars-Peter Clausen @ 2012-04-11 11:46 UTC (permalink / raw)
  To: Jonathan Cameron; +Cc: linux-iio, device-drivers-devel

On 04/10/2012 10:21 PM, Jonathan Cameron wrote:
> This macro is being removed to simplify ongoing maintenance
> so we need to unwind and remaining users.
> 
> Signed-off-by: Jonathan Cameron <jic23@kernel.org>

The cocci patches disagrees on one occasion, but I think it's a bug in the
original driver again.

Acked-by: Lars-Peter Clausen <lars@metafoo.de>

> ---
>  drivers/staging/iio/impedance-analyzer/ad5933.c |   47 ++++++++++++++++++-----
>  1 file changed, 38 insertions(+), 9 deletions(-)
> 
> diff --git a/drivers/staging/iio/impedance-analyzer/ad5933.c b/drivers/staging/iio/impedance-analyzer/ad5933.c
> index cd82b56..06b9fe2 100644
> --- a/drivers/staging/iio/impedance-analyzer/ad5933.c
> +++ b/drivers/staging/iio/impedance-analyzer/ad5933.c
> @@ -109,15 +109,44 @@ static struct ad5933_platform_data ad5933_default_pdata  = {
>  };
>  
>  static struct iio_chan_spec ad5933_channels[] = {
> -	IIO_CHAN(IIO_TEMP, 0, 1, 1, NULL, 0, 0, 0,
> -		 0, AD5933_REG_TEMP_DATA, IIO_ST('s', 14, 16, 0), 0),
> -	/* Ring Channels */
> -	IIO_CHAN(IIO_VOLTAGE, 0, 1, 0, "real_raw", 0, 0,
> -		 IIO_CHAN_INFO_SCALE_SEPARATE_BIT,
> -		 AD5933_REG_REAL_DATA, 0, IIO_ST('s', 16, 16, 0), 0),
> -	IIO_CHAN(IIO_VOLTAGE, 0, 1, 0, "imag_raw", 0, 0,
> -		 IIO_CHAN_INFO_SCALE_SEPARATE_BIT,
> -		 AD5933_REG_IMAG_DATA, 1, IIO_ST('s', 16, 16, 0), 0),
> +	{
> +		.type = IIO_TEMP,
> +		.indexed = 1,
> +		.processed_val = 1,
> +		.channel = 0,
> +		.address = AD5933_REG_TEMP_DATA,

address was set to 0 and scan_index was set to AD5933_REG_TEMP_DATA with the
original code, but that doesn't make any sense.

> +		.scan_type = {
> +			.sign = 's',
> +			.realbits = 14,
> +			.storagebits = 16,
> +		},
> +	}

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

* Re: [PATCH 13/14] staging:iio:meter:ade7758 unwind use of IIO_CHAN macro.
  2012-04-10 20:21 ` [PATCH 13/14] staging:iio:meter:ade7758 " Jonathan Cameron
@ 2012-04-11 11:47   ` Lars-Peter Clausen
  0 siblings, 0 replies; 36+ messages in thread
From: Lars-Peter Clausen @ 2012-04-11 11:47 UTC (permalink / raw)
  To: Jonathan Cameron; +Cc: linux-iio, device-drivers-devel

On 04/10/2012 10:21 PM, Jonathan Cameron wrote:
> This macro is being removed to simplify ongoing maintenance
> so we need to unwind and remaining users.
> 
> Signed-off-by: Jonathan Cameron <jic23@kernel.org>

Couldn't spot any real differences to the autogenerated cocci patch.

Acked-by: Lars-Peter Clausen <lars@metafoo.de>

> ---
>  drivers/staging/iio/meter/ade7758_core.c |  256 +++++++++++++++++++++++-------
>  1 file changed, 196 insertions(+), 60 deletions(-)
> 
> diff --git a/drivers/staging/iio/meter/ade7758_core.c b/drivers/staging/iio/meter/ade7758_core.c
> index 9374d6b..4d6bffa 100644
> --- a/drivers/staging/iio/meter/ade7758_core.c
> +++ b/drivers/staging/iio/meter/ade7758_core.c
> @@ -662,66 +662,202 @@ static const struct attribute_group ade7758_attribute_group = {
>  };
>  
>  static struct iio_chan_spec ade7758_channels[] = {
> -	IIO_CHAN(IIO_VOLTAGE, 0, 1, 0, "raw", 0, 0,
> -		IIO_CHAN_INFO_SCALE_SHARED_BIT,
> -		AD7758_WT(AD7758_PHASE_A, AD7758_VOLTAGE),
> -		0, IIO_ST('s', 24, 32, 0), 0),
> -	IIO_CHAN(IIO_CURRENT, 0, 1, 0, "raw", 0, 0,
> -		IIO_CHAN_INFO_SCALE_SHARED_BIT,
> -		AD7758_WT(AD7758_PHASE_A, AD7758_CURRENT),
> -		1, IIO_ST('s', 24, 32, 0), 0),
> -	IIO_CHAN(IIO_POWER, 0, 1, 0, "apparent_raw", 0, 0,
> -		IIO_CHAN_INFO_SCALE_SHARED_BIT,
> -		AD7758_WT(AD7758_PHASE_A, AD7758_APP_PWR),
> -		2, IIO_ST('s', 24, 32, 0), 0),
> -	IIO_CHAN(IIO_POWER, 0, 1, 0, "active_raw", 0, 0,
> -		IIO_CHAN_INFO_SCALE_SHARED_BIT,
> -		AD7758_WT(AD7758_PHASE_A, AD7758_ACT_PWR),
> -		3, IIO_ST('s', 24, 32, 0), 0),
> -	IIO_CHAN(IIO_POWER, 0, 1, 0, "reactive_raw", 0, 0,
> -		IIO_CHAN_INFO_SCALE_SHARED_BIT,
> -		AD7758_WT(AD7758_PHASE_A, AD7758_REACT_PWR),
> -		4, IIO_ST('s', 24, 32, 0), 0),
> -	IIO_CHAN(IIO_VOLTAGE, 0, 1, 0, "raw", 1, 0,
> -		IIO_CHAN_INFO_SCALE_SHARED_BIT,
> -		AD7758_WT(AD7758_PHASE_B, AD7758_VOLTAGE),
> -		5, IIO_ST('s', 24, 32, 0), 0),
> -	IIO_CHAN(IIO_CURRENT, 0, 1, 0, "raw", 1, 0,
> -		IIO_CHAN_INFO_SCALE_SHARED_BIT,
> -		AD7758_WT(AD7758_PHASE_B, AD7758_CURRENT),
> -		6, IIO_ST('s', 24, 32, 0), 0),
> -	IIO_CHAN(IIO_POWER, 0, 1, 0, "apparent_raw", 1, 0,
> -		IIO_CHAN_INFO_SCALE_SHARED_BIT,
> -		AD7758_WT(AD7758_PHASE_B, AD7758_APP_PWR),
> -		7, IIO_ST('s', 24, 32, 0), 0),
> -	IIO_CHAN(IIO_POWER, 0, 1, 0, "active_raw", 1, 0,
> -		IIO_CHAN_INFO_SCALE_SHARED_BIT,
> -		AD7758_WT(AD7758_PHASE_B, AD7758_ACT_PWR),
> -		8, IIO_ST('s', 24, 32, 0), 0),
> -	IIO_CHAN(IIO_POWER, 0, 1, 0, "reactive_raw", 1, 0,
> -		IIO_CHAN_INFO_SCALE_SHARED_BIT,
> -		AD7758_WT(AD7758_PHASE_B, AD7758_REACT_PWR),
> -		9, IIO_ST('s', 24, 32, 0), 0),
> -	IIO_CHAN(IIO_VOLTAGE, 0, 1, 0, "raw", 2, 0,
> -		IIO_CHAN_INFO_SCALE_SHARED_BIT,
> -		AD7758_WT(AD7758_PHASE_C, AD7758_VOLTAGE),
> -		10, IIO_ST('s', 24, 32, 0), 0),
> -	IIO_CHAN(IIO_CURRENT, 0, 1, 0, "raw", 2, 0,
> -		IIO_CHAN_INFO_SCALE_SHARED_BIT,
> -		AD7758_WT(AD7758_PHASE_C, AD7758_CURRENT),
> -		11, IIO_ST('s', 24, 32, 0), 0),
> -	IIO_CHAN(IIO_POWER, 0, 1, 0, "apparent_raw", 2, 0,
> -		IIO_CHAN_INFO_SCALE_SHARED_BIT,
> -		AD7758_WT(AD7758_PHASE_C, AD7758_APP_PWR),
> -		12, IIO_ST('s', 24, 32, 0), 0),
> -	IIO_CHAN(IIO_POWER, 0, 1, 0, "active_raw", 2, 0,
> -		IIO_CHAN_INFO_SCALE_SHARED_BIT,
> -		AD7758_WT(AD7758_PHASE_C, AD7758_ACT_PWR),
> -		13, IIO_ST('s', 24, 32, 0), 0),
> -	IIO_CHAN(IIO_POWER, 0, 1, 0, "reactive_raw", 2, 0,
> -		IIO_CHAN_INFO_SCALE_SHARED_BIT,
> -		AD7758_WT(AD7758_PHASE_C, AD7758_REACT_PWR),
> -		14, IIO_ST('s', 24, 32, 0), 0),
> +	{
> +		.type = IIO_VOLTAGE,
> +		.indexed = 1,
> +		.channel = 0,
> +		.extend_name = "raw",
> +		.info_mask = IIO_CHAN_INFO_SCALE_SHARED_BIT,
> +		.address = AD7758_WT(AD7758_PHASE_A, AD7758_VOLTAGE),
> +		.scan_index = 0,
> +		.scan_type = {
> +			.sign = 's',
> +			.realbits = 24,
> +			.storagebits = 32,
> +		},
> +	}, {
> +		.type = IIO_CURRENT,
> +		.indexed = 1,
> +		.channel = 0,
> +		.extend_name = "raw",
> +		.info_mask = IIO_CHAN_INFO_SCALE_SHARED_BIT,
> +		.address = AD7758_WT(AD7758_PHASE_A, AD7758_CURRENT),
> +		.scan_index = 1,
> +		.scan_type = {
> +			.sign = 's',
> +			.realbits = 24,
> +			.storagebits = 32,
> +		},
> +	}, {
> +		.type = IIO_POWER,
> +		.indexed = 1,
> +		.channel = 0,
> +		.extend_name = "apparent_raw",
> +		.info_mask = IIO_CHAN_INFO_SCALE_SHARED_BIT,
> +		.address = AD7758_WT(AD7758_PHASE_A, AD7758_APP_PWR),
> +		.scan_index = 2,
> +		.scan_type = {
> +			.sign = 's',
> +			.realbits = 24,
> +			.storagebits = 32,
> +		},
> +	}, {
> +		.type = IIO_POWER,
> +		.indexed = 1,
> +		.channel = 0,
> +		.extend_name = "active_raw",
> +		.info_mask = IIO_CHAN_INFO_SCALE_SHARED_BIT,
> +		.address = AD7758_WT(AD7758_PHASE_A, AD7758_ACT_PWR),
> +		.scan_index = 3,
> +		.scan_type = {
> +			.sign = 's',
> +			.realbits = 24,
> +			.storagebits = 32,
> +		},
> +	}, {
> +		.type = IIO_POWER,
> +		.indexed = 1,
> +		.channel = 0,
> +		.extend_name = "reactive_raw",
> +		.info_mask = IIO_CHAN_INFO_SCALE_SHARED_BIT,
> +		.address = AD7758_WT(AD7758_PHASE_A, AD7758_REACT_PWR),
> +		.scan_index = 4,
> +		.scan_type = {
> +			.sign = 's',
> +			.realbits = 24,
> +			.storagebits = 32,
> +		},
> +	}, {
> +		.type = IIO_VOLTAGE,
> +		.indexed = 1,
> +		.channel = 1,
> +		.extend_name = "raw",
> +		.info_mask = IIO_CHAN_INFO_SCALE_SHARED_BIT,
> +		.address = AD7758_WT(AD7758_PHASE_B, AD7758_VOLTAGE),
> +		.scan_index = 5,
> +		.scan_type = {
> +			.sign = 's',
> +			.realbits = 24,
> +			.storagebits = 32,
> +		},
> +	}, {
> +		.type = IIO_CURRENT,
> +		.indexed = 1,
> +		.channel = 1,
> +		.extend_name = "raw",
> +		.info_mask = IIO_CHAN_INFO_SCALE_SHARED_BIT,
> +		.address = AD7758_WT(AD7758_PHASE_B, AD7758_CURRENT),
> +		.scan_index = 6,
> +		.scan_type = {
> +			.sign = 's',
> +			.realbits = 24,
> +			.storagebits = 32,
> +		},
> +	}, {
> +		.type = IIO_POWER,
> +		.indexed = 1,
> +		.channel = 1,
> +		.extend_name = "apparent_raw",
> +		.info_mask = IIO_CHAN_INFO_SCALE_SHARED_BIT,
> +		.address = AD7758_WT(AD7758_PHASE_B, AD7758_APP_PWR),
> +		.scan_index = 7,
> +		.scan_type = {
> +			.sign = 's',
> +			.realbits = 24,
> +			.storagebits = 32,
> +		},
> +	}, {
> +		.type = IIO_POWER,
> +		.indexed = 1,
> +		.channel = 1,
> +		.extend_name = "active_raw",
> +		.info_mask = IIO_CHAN_INFO_SCALE_SHARED_BIT,
> +		.address = AD7758_WT(AD7758_PHASE_B, AD7758_ACT_PWR),
> +		.scan_index = 8,
> +		.scan_type = {
> +			.sign = 's',
> +			.realbits = 24,
> +			.storagebits = 32,
> +		},
> +	}, {
> +		.type = IIO_POWER,
> +		.indexed = 1,
> +		.channel = 1,
> +		.extend_name = "reactive_raw",
> +		.info_mask = IIO_CHAN_INFO_SCALE_SHARED_BIT,
> +		.address = AD7758_WT(AD7758_PHASE_B, AD7758_REACT_PWR),
> +		.scan_index = 9,
> +		.scan_type = {
> +			.sign = 's',
> +			.realbits = 24,
> +			.storagebits = 32,
> +		},
> +	}, {
> +		.type = IIO_VOLTAGE,
> +		.indexed = 1,
> +		.channel = 2,
> +		.extend_name = "raw",
> +		.info_mask = IIO_CHAN_INFO_SCALE_SHARED_BIT,
> +		.address = AD7758_WT(AD7758_PHASE_C, AD7758_VOLTAGE),
> +		.scan_index = 10,
> +		.scan_type = {
> +			.sign = 's',
> +			.realbits = 24,
> +			.storagebits = 32,
> +		},
> +	}, {
> +		.type = IIO_CURRENT,
> +		.indexed = 1,
> +		.channel = 2,
> +		.extend_name = "raw",
> +		.info_mask = IIO_CHAN_INFO_SCALE_SHARED_BIT,
> +		.address = AD7758_WT(AD7758_PHASE_C, AD7758_CURRENT),
> +		.scan_index = 11,
> +		.scan_type = {
> +			.sign = 's',
> +			.realbits = 24,
> +			.storagebits = 32,
> +		},
> +	}, {
> +		.type = IIO_POWER,
> +		.indexed = 1,
> +		.channel = 2,
> +		.extend_name = "apparent_raw",
> +		.info_mask = IIO_CHAN_INFO_SCALE_SHARED_BIT,
> +		.address = AD7758_WT(AD7758_PHASE_C, AD7758_APP_PWR),
> +		.scan_index = 12,
> +		.scan_type = {
> +			.sign = 's',
> +			.realbits = 24,
> +			.storagebits = 32,
> +		},
> +	}, {
> +		.type = IIO_POWER,
> +		.indexed = 1,
> +		.channel = 2,
> +		.extend_name = "active_raw",
> +		.info_mask = IIO_CHAN_INFO_SCALE_SHARED_BIT,
> +		.address = AD7758_WT(AD7758_PHASE_C, AD7758_ACT_PWR),
> +		.scan_index = 13,
> +		.scan_type = {
> +			.sign = 's',
> +			.realbits = 24,
> +			.storagebits = 32,
> +		},
> +	}, {
> +		.type = IIO_POWER,
> +		.indexed = 1,
> +		.channel = 2,
> +		.extend_name = "reactive_raw",
> +		.info_mask = IIO_CHAN_INFO_SCALE_SHARED_BIT,
> +		.address = AD7758_WT(AD7758_PHASE_C, AD7758_REACT_PWR),
> +		.scan_index = 14,
> +		.scan_type = {
> +			.sign = 's',
> +			.realbits = 24,
> +			.storagebits = 32,
> +		},
> +	},
>  	IIO_CHAN_SOFT_TIMESTAMP(15),
>  };
>  

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

* Re: [PATCH 10/14] staging:iio:accel:ad7780 unwind use of IIO_CHAN macro.
  2012-04-10 20:21 ` [PATCH 10/14] staging:iio:accel:ad7780 " Jonathan Cameron
@ 2012-04-11 11:49   ` Lars-Peter Clausen
  0 siblings, 0 replies; 36+ messages in thread
From: Lars-Peter Clausen @ 2012-04-11 11:49 UTC (permalink / raw)
  To: Jonathan Cameron; +Cc: linux-iio, device-drivers-devel

On 04/10/2012 10:21 PM, Jonathan Cameron wrote:
> This macro is being removed to simplify ongoing maintenance
> so we need to unwind and remaining users.
> 
> Signed-off-by: Jonathan Cameron <jic23@kernel.org>

Looks good, but it might makes sense to add a macro here, because the two
channel specs only differ in the number of realbits (and shift).

Acked-by: Lars-Peter Clausen <lars@metafoo.de>

> ---
>  drivers/staging/iio/adc/ad7780.c |   30 ++++++++++++++++++++++++------
>  1 file changed, 24 insertions(+), 6 deletions(-)
> 
> diff --git a/drivers/staging/iio/adc/ad7780.c b/drivers/staging/iio/adc/ad7780.c
> index a13e58c..4f0a6c9 100644
> --- a/drivers/staging/iio/adc/ad7780.c
> +++ b/drivers/staging/iio/adc/ad7780.c
> @@ -126,14 +126,32 @@ static int ad7780_read_raw(struct iio_dev *indio_dev,
>  
>  static const struct ad7780_chip_info ad7780_chip_info_tbl[] = {
>  	[ID_AD7780] = {
> -		.channel = IIO_CHAN(IIO_VOLTAGE, 0, 1, 0, NULL, 0, 0,
> -				    IIO_CHAN_INFO_SCALE_SHARED_BIT,
> -				    0, 0, IIO_ST('s', 24, 32, 8), 0),
> +		.channel = {
> +			.type = IIO_VOLTAGE,
> +			.indexed = 1,
> +			.channel = 0,
> +			.info_mask = IIO_CHAN_INFO_SCALE_SHARED_BIT,
> +			.scan_type = {
> +				.sign = 's',
> +				.realbits = 24,
> +				.storagebits = 32,
> +				.shift = 8,
> +			},
> +		},
>  	},
>  	[ID_AD7781] = {
> -		.channel = IIO_CHAN(IIO_VOLTAGE, 0, 1, 0, NULL, 0, 0,
> -				    IIO_CHAN_INFO_SCALE_SHARED_BIT,
> -				    0, 0, IIO_ST('s', 20, 32, 12), 0),
> +		.channel = {
> +			.type = IIO_VOLTAGE,
> +			.indexed = 1,
> +			.channel = 0,
> +			.info_mask = IIO_CHAN_INFO_SCALE_SHARED_BIT,
> +			.scan_type = {
> +				.sign = 's',
> +				.realbits = 20,
> +				.storagebits = 32,
> +				.shift = 12,
> +			},
> +		},
>  	},
>  };
>  


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

* Re: [PATCH 11/14] staging:iio:gyro:adis16260 unwind use of IIO_CHAN macro.
  2012-04-10 20:21 ` [PATCH 11/14] staging:iio:gyro:adis16260 " Jonathan Cameron
@ 2012-04-11 11:52   ` Lars-Peter Clausen
  0 siblings, 0 replies; 36+ messages in thread
From: Lars-Peter Clausen @ 2012-04-11 11:52 UTC (permalink / raw)
  To: Jonathan Cameron; +Cc: linux-iio, device-drivers-devel

On 04/10/2012 10:21 PM, Jonathan Cameron wrote:
> This macro is being removed to simplify ongoing maintenance
> so we need to unwind and remaining users.
> 
> Signed-off-by: Jonathan Cameron <jic23@kernel.org>

Looks good.

Acked-by: Lars-Peter Clausen <lars@metafoo.de>

> ---
>  drivers/staging/iio/gyro/adis16260_core.c |   89 +++++++++++++++++++++--------
>  1 file changed, 65 insertions(+), 24 deletions(-)
> 
> diff --git a/drivers/staging/iio/gyro/adis16260_core.c b/drivers/staging/iio/gyro/adis16260_core.c
> index 8f6af47..92f024e 100644
> --- a/drivers/staging/iio/gyro/adis16260_core.c
> +++ b/drivers/staging/iio/gyro/adis16260_core.c
> @@ -389,30 +389,71 @@ enum adis16260_channel {
>  };
>  #define ADIS16260_GYRO_CHANNEL_SET(axis, mod)				\
>  	struct iio_chan_spec adis16260_channels_##axis[] = {		\
> -		IIO_CHAN(IIO_ANGL_VEL, 1, 0, 0, NULL, 0, mod,		\
> -			 IIO_CHAN_INFO_CALIBBIAS_SEPARATE_BIT |	\
> -			 IIO_CHAN_INFO_CALIBSCALE_SEPARATE_BIT |	\
> -			 IIO_CHAN_INFO_SCALE_SEPARATE_BIT,		\
> -			 gyro, ADIS16260_SCAN_GYRO,			\
> -			 IIO_ST('s', 14, 16, 0), 0),			\
> -		IIO_CHAN(IIO_ANGL, 1, 0, 0, NULL, 0, mod,		\
> -			 0,						\
> -			 angle, ADIS16260_SCAN_ANGL,			\
> -			 IIO_ST('u', 14, 16, 0), 0),			\
> -		IIO_CHAN(IIO_TEMP, 0, 1, 0, NULL, 0, 0,			\
> -			 IIO_CHAN_INFO_OFFSET_SEPARATE_BIT |		\
> -			 IIO_CHAN_INFO_SCALE_SEPARATE_BIT,		\
> -			 temp, ADIS16260_SCAN_TEMP,			\
> -			 IIO_ST('u', 12, 16, 0), 0),			\
> -		IIO_CHAN(IIO_VOLTAGE, 0, 1, 0, "supply", 0, 0,		\
> -			 IIO_CHAN_INFO_SCALE_SEPARATE_BIT,		\
> -			 in_supply, ADIS16260_SCAN_SUPPLY,		\
> -			 IIO_ST('u', 12, 16, 0), 0),			\
> -		IIO_CHAN(IIO_VOLTAGE, 0, 1, 0, NULL, 1, 0,		\
> -			 IIO_CHAN_INFO_SCALE_SEPARATE_BIT,		\
> -			 in_aux, ADIS16260_SCAN_AUX_ADC,		\
> -			 IIO_ST('u', 12, 16, 0), 0),			\
> -		IIO_CHAN_SOFT_TIMESTAMP(5)				\
> +		{							\
> +			.type = IIO_ANGL_VEL,				\
> +			.modified = 1,					\
> +			.channel2 = mod,				\
> +			.info_mask = IIO_CHAN_INFO_CALIBBIAS_SEPARATE_BIT | \
> +			IIO_CHAN_INFO_CALIBSCALE_SEPARATE_BIT |		\
> +			IIO_CHAN_INFO_SCALE_SEPARATE_BIT,		\
> +			.address = gyro,				\
> +			.scan_index = ADIS16260_SCAN_GYRO,		\
> +			.scan_type = {					\
> +				.sign = 's',				\
> +				.realbits = 14,				\
> +				.storagebits = 16,			\
> +			},						\
> +		}, {							\
> +			.type = IIO_ANGL,				\
> +			.modified = 1,					\
> +			.channel2 = mod,				\
> +			.address = angle,				\
> +			.scan_index = ADIS16260_SCAN_ANGL,		\
> +			.scan_type = {					\
> +				.sign = 'u',				\
> +				.realbits = 14,				\
> +				.storagebits = 16,			\
> +			},						\
> +		}, {							\
> +			.type = IIO_TEMP,				\
> +			.indexed = 1,					\
> +			.channel = 0,					\
> +			.info_mask = IIO_CHAN_INFO_OFFSET_SEPARATE_BIT | \
> +			IIO_CHAN_INFO_SCALE_SEPARATE_BIT,		\
> +			.address = temp,				\
> +			.scan_index = ADIS16260_SCAN_TEMP,		\
> +			.scan_type = {					\
> +				.sign = 'u',				\
> +				.realbits = 12,				\
> +				.storagebits = 16,			\
> +			},						\
> +		}, {							\
> +			.type = IIO_VOLTAGE,				\
> +			.indexed = 1,					\
> +			.channel = 0,					\
> +			.extend_name = "supply",			\
> +			.info_mask = IIO_CHAN_INFO_SCALE_SEPARATE_BIT,	\
> +			.address = in_supply,				\
> +			.scan_index = ADIS16260_SCAN_SUPPLY,		\
> +			.scan_type = {					\
> +				.sign = 'u',				\
> +				.realbits = 12,				\
> +				.storagebits = 16,			\
> +			},						\
> +		}, {							\
> +			.type = IIO_VOLTAGE,				\
> +			.indexed = 1,					\
> +			.channel = 1,					\
> +			.info_mask = IIO_CHAN_INFO_SCALE_SEPARATE_BIT,	\
> +			.address = in_aux,				\
> +			.scan_index = ADIS16260_SCAN_AUX_ADC,		\
> +			.scan_type = {					\
> +				.sign = 'u',				\
> +				.realbits = 12,				\
> +				.storagebits = 16,			\
> +			},						\
> +		},							\
> +		IIO_CHAN_SOFT_TIMESTAMP(5),				\
>  	}
>  
>  static const ADIS16260_GYRO_CHANNEL_SET(x, IIO_MOD_X);


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

* Re: [PATCH 00/14] IIO: Kill off IIO_CHAN macro.
  2012-04-11 11:55     ` Lars-Peter Clausen
@ 2012-04-11 11:53       ` Jonathan Cameron
  0 siblings, 0 replies; 36+ messages in thread
From: Jonathan Cameron @ 2012-04-11 11:53 UTC (permalink / raw)
  To: Lars-Peter Clausen; +Cc: Jonathan Cameron, linux-iio, device-drivers-devel

On 4/11/2012 12:55 PM, Lars-Peter Clausen wrote:
> On 04/11/2012 01:20 PM, Jonathan Cameron wrote:
>> On 4/11/2012 12:21 PM, Lars-Peter Clausen wrote:
>>> On 04/10/2012 10:21 PM, Jonathan Cameron wrote:
>>>> This kills off the remaing users and gets rid of it!
>>>>
>>>> Please can people sanity check I haven't messed up the
>>>> removal in their drivers (and anyone elses if they are
>>>> bored enough!)
>>> I wrote a small set of cocci scripts which automate the removal and detected
>>> some small issues. If you are interested in the scripts I've uploaded them
>>> at http://metafoo.de/kill_iio_chan.tar.bz2
>>>
>>> The cocci pretty printer doesn't cope very well with unwinding a macro, so
>>> I've added some extra sed expressions to cleanup the result.
>>>
>>>
>> Don't suppose you fancy updating those to do the processed and unprocessed
>> stuff
>> you suggested?
>>
> These are just for the IIO_CHAN() macro removal, but I can try to come up
> with some that also do the conversion to explicit value attributes.
Gah, too many balls in the air! Thanks for looking at these. Will update 
sometime soonish.



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

* Re: [PATCH 00/14] IIO: Kill off IIO_CHAN macro.
  2012-04-11 11:20   ` Jonathan Cameron
@ 2012-04-11 11:55     ` Lars-Peter Clausen
  2012-04-11 11:53       ` Jonathan Cameron
  0 siblings, 1 reply; 36+ messages in thread
From: Lars-Peter Clausen @ 2012-04-11 11:55 UTC (permalink / raw)
  To: Jonathan Cameron; +Cc: Jonathan Cameron, linux-iio, device-drivers-devel

On 04/11/2012 01:20 PM, Jonathan Cameron wrote:
> On 4/11/2012 12:21 PM, Lars-Peter Clausen wrote:
>> On 04/10/2012 10:21 PM, Jonathan Cameron wrote:
>>> This kills off the remaing users and gets rid of it!
>>>
>>> Please can people sanity check I haven't messed up the
>>> removal in their drivers (and anyone elses if they are
>>> bored enough!)
>> I wrote a small set of cocci scripts which automate the removal and detected
>> some small issues. If you are interested in the scripts I've uploaded them
>> at http://metafoo.de/kill_iio_chan.tar.bz2
>>
>> The cocci pretty printer doesn't cope very well with unwinding a macro, so
>> I've added some extra sed expressions to cleanup the result.
>>
>>
> Don't suppose you fancy updating those to do the processed and unprocessed
> stuff
> you suggested?
> 

These are just for the IIO_CHAN() macro removal, but I can try to come up
with some that also do the conversion to explicit value attributes.

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

* [PATCH V2] staging:iio:adc:ad7476 unwind use of IIO_CHAN macro.
  2012-04-11  9:47   ` Lars-Peter Clausen
@ 2012-04-11 17:41     ` Jonathan Cameron
  2012-04-13  8:22       ` Lars-Peter Clausen
  0 siblings, 1 reply; 36+ messages in thread
From: Jonathan Cameron @ 2012-04-11 17:41 UTC (permalink / raw)
  To: linux-iio; +Cc: device-drivers-devel, lars, Jonathan Cameron

This macro is being removed to simplify ongoing maintenance
so we need to unwind and remaining users.

V2 has the cleanup Lars-Peter suggested.

Signed-off-by: Jonathan Cameron <jic23@kernel.org>

---
Basically this now makes use of the fact that the shift + bits = 12 in
all cases. 

 drivers/staging/iio/adc/ad7476_core.c |   45 +++++++++++++++------------------
 1 file changed, 21 insertions(+), 24 deletions(-)

diff --git a/drivers/staging/iio/adc/ad7476_core.c b/drivers/staging/iio/adc/ad7476_core.c
index 0c064d1..694b508 100644
--- a/drivers/staging/iio/adc/ad7476_core.c
+++ b/drivers/staging/iio/adc/ad7476_core.c
@@ -66,53 +66,50 @@ static int ad7476_read_raw(struct iio_dev *indio_dev,
 	return -EINVAL;
 }
 
+#define AD7476_CHAN(bits)					\
+	{							\
+	.type = IIO_VOLTAGE,					\
+	.indexed = 1,						\
+	.info_mask = IIO_CHAN_INFO_SCALE_SHARED_BIT,		\
+	.scan_type = {						\
+		.sign = 'u',					\
+		.realbits = bits,				\
+		.storagebits = 16,				\
+		.shift = 12 - bits,				\
+	},							\
+}
+
 static const struct ad7476_chip_info ad7476_chip_info_tbl[] = {
 	[ID_AD7466] = {
-		.channel[0] = IIO_CHAN(IIO_VOLTAGE, 0, 1, 0, NULL, 0, 0,
-				       IIO_CHAN_INFO_SCALE_SHARED_BIT,
-				       0, 0, IIO_ST('u', 12, 16, 0), 0),
+		.channel[0] = AD7476_CHAN(12),
 		.channel[1] = IIO_CHAN_SOFT_TIMESTAMP(1),
 	},
 	[ID_AD7467] = {
-		.channel[0] = IIO_CHAN(IIO_VOLTAGE, 0, 1, 0, NULL, 0, 0,
-				       IIO_CHAN_INFO_SCALE_SHARED_BIT,
-				       0, 0, IIO_ST('u', 10, 16, 2), 0),
+		.channel[0] = AD7476_CHAN(10),
 		.channel[1] = IIO_CHAN_SOFT_TIMESTAMP(1),
 	},
 	[ID_AD7468] = {
-		.channel[0] = IIO_CHAN(IIO_VOLTAGE, 0, 1 , 0, NULL, 0, 0,
-				       IIO_CHAN_INFO_SCALE_SHARED_BIT,
-				       0, 0, IIO_ST('u', 8, 16, 4), 0),
+		.channel[0] = AD7476_CHAN(8),
 		.channel[1] = IIO_CHAN_SOFT_TIMESTAMP(1),
 	},
 	[ID_AD7475] = {
-		.channel[0] = IIO_CHAN(IIO_VOLTAGE, 0, 1, 0, NULL, 0, 0,
-				       IIO_CHAN_INFO_SCALE_SHARED_BIT,
-				       0, 0, IIO_ST('u', 12, 16, 0), 0),
+		.channel[0] = AD7476_CHAN(12),
 		.channel[1] = IIO_CHAN_SOFT_TIMESTAMP(1),
 	},
 	[ID_AD7476] = {
-		.channel[0] = IIO_CHAN(IIO_VOLTAGE, 0, 1, 0, NULL, 0, 0,
-				       IIO_CHAN_INFO_SCALE_SHARED_BIT,
-				       0, 0, IIO_ST('u', 12, 16, 0), 0),
+		.channel[0] = AD7476_CHAN(12),
 		.channel[1] = IIO_CHAN_SOFT_TIMESTAMP(1),
 	},
 	[ID_AD7477] = {
-		.channel[0] = IIO_CHAN(IIO_VOLTAGE, 0, 1, 0, NULL, 0, 0,
-				       IIO_CHAN_INFO_SCALE_SHARED_BIT,
-				       0, 0, IIO_ST('u', 10, 16, 2), 0),
+		.channel[0] = AD7476_CHAN(10),
 		.channel[1] = IIO_CHAN_SOFT_TIMESTAMP(1),
 	},
 	[ID_AD7478] = {
-		.channel[0] = IIO_CHAN(IIO_VOLTAGE, 0, 1, 0, NULL, 0, 0,
-				       IIO_CHAN_INFO_SCALE_SHARED_BIT,
-				       0, 0, IIO_ST('u', 8, 16, 4), 0),
+		.channel[0] = AD7476_CHAN(8),
 		.channel[1] = IIO_CHAN_SOFT_TIMESTAMP(1),
 	},
 	[ID_AD7495] = {
-		.channel[0] = IIO_CHAN(IIO_VOLTAGE, 0, 1, 0, NULL, 0, 0,
-				       IIO_CHAN_INFO_SCALE_SHARED_BIT,
-				       0, 0, IIO_ST('u', 12, 16, 0), 0),
+		.channel[0] = AD7476_CHAN(12),
 		.channel[1] = IIO_CHAN_SOFT_TIMESTAMP(1),
 		.int_vref_mv = 2500,
 	},
-- 
1.7.9.4


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

* [PATCH V2] staging:iio:accel:adis16240 unwind use of IIO_CHAN macro.
  2012-04-11 11:25   ` Lars-Peter Clausen
@ 2012-04-11 17:46     ` Jonathan Cameron
  2012-04-13  8:26       ` Lars-Peter Clausen
  0 siblings, 1 reply; 36+ messages in thread
From: Jonathan Cameron @ 2012-04-11 17:46 UTC (permalink / raw)
  To: linux-iio; +Cc: device-drivers-devel, lars, Jonathan Cameron

This macro is being removed to simplify ongoing maintenance
so we need to unwind and remaining users.

Signed-off-by: Jonathan Cameron <jic23@kernel.org>
---

Fixed as per Lars-Peter's review..


 drivers/staging/iio/accel/adis16240_core.c |  103 ++++++++++++++++++++--------
 1 file changed, 76 insertions(+), 27 deletions(-)

diff --git a/drivers/staging/iio/accel/adis16240_core.c b/drivers/staging/iio/accel/adis16240_core.c
index 17f77fe..fb0b328 100644
--- a/drivers/staging/iio/accel/adis16240_core.c
+++ b/drivers/staging/iio/accel/adis16240_core.c
@@ -468,33 +468,82 @@ static int adis16240_write_raw(struct iio_dev *indio_dev,
 }
 
 static struct iio_chan_spec adis16240_channels[] = {
-	IIO_CHAN(IIO_VOLTAGE, 0, 1, 0, "supply", 0, 0,
-		 IIO_CHAN_INFO_SCALE_SEPARATE_BIT,
-		 in_supply, ADIS16240_SCAN_SUPPLY,
-		 IIO_ST('u', 10, 16, 0), 0),
-	IIO_CHAN(IIO_VOLTAGE, 0, 1, 0, NULL, 1, 0,
-		 0,
-		 in_aux, ADIS16240_SCAN_AUX_ADC,
-		 IIO_ST('u', 10, 16, 0), 0),
-	IIO_CHAN(IIO_ACCEL, 1, 0, 0, NULL, 0, IIO_MOD_X,
-		 IIO_CHAN_INFO_SCALE_SHARED_BIT |
-		 IIO_CHAN_INFO_CALIBBIAS_SEPARATE_BIT,
-		 accel_x, ADIS16240_SCAN_ACC_X,
-		 IIO_ST('s', 10, 16, 0), 0),
-	IIO_CHAN(IIO_ACCEL, 1, 0, 0, NULL, 0, IIO_MOD_Y,
-		 IIO_CHAN_INFO_SCALE_SHARED_BIT |
-		 IIO_CHAN_INFO_CALIBBIAS_SEPARATE_BIT,
-		 accel_y, ADIS16240_SCAN_ACC_Y,
-		 IIO_ST('s', 10, 16, 0), 0),
-	IIO_CHAN(IIO_ACCEL, 1, 0, 0, NULL, 0, IIO_MOD_Z,
-		 IIO_CHAN_INFO_SCALE_SHARED_BIT |
-		 IIO_CHAN_INFO_CALIBBIAS_SEPARATE_BIT,
-		 accel_z, ADIS16240_SCAN_ACC_Z,
-		 IIO_ST('s', 10, 16, 0), 0),
-	IIO_CHAN(IIO_TEMP, 0, 1, 0, NULL, 0, 0,
-		 IIO_CHAN_INFO_SCALE_SEPARATE_BIT,
-		 temp, ADIS16240_SCAN_TEMP,
-		 IIO_ST('u', 10, 16, 0), 0),
+	{
+		.type = IIO_VOLTAGE,
+		.indexed = 1,
+		.channel = 0,
+		.extend_name = "supply",
+		.info_mask = IIO_CHAN_INFO_SCALE_SEPARATE_BIT,
+		.address = in_supply,
+		.scan_index = ADIS16240_SCAN_SUPPLY,
+		.scan_type = {
+			.sign = 'u',
+			.realbits = 10,
+			.storagebits = 16,
+		},
+	}, {
+		.type = IIO_VOLTAGE,
+		.indexed = 1,
+		.channel = 1,
+		.address = in_aux,
+		.scan_index = ADIS16240_SCAN_AUX_ADC,
+		.scan_type = {
+			.sign = 'u',
+			.realbits = 10,
+			.storagebits = 16,
+		},
+	}, {
+		.type = IIO_ACCEL,
+		.modified = 1,
+		.channel2 = IIO_MOD_X,
+		.info_mask = IIO_CHAN_INFO_SCALE_SHARED_BIT |
+		IIO_CHAN_INFO_CALIBBIAS_SEPARATE_BIT,
+		.address = accel_x,
+		.scan_index = ADIS16240_SCAN_ACC_X,
+		.scan_type = {
+			.sign = 's',
+			.realbits = 10,
+			.storagebits = 16,
+		},
+	}, {
+		.type = IIO_ACCEL,
+		.modified = 1,
+		.channel2 = IIO_MOD_Y,
+		.info_mask = IIO_CHAN_INFO_SCALE_SHARED_BIT |
+		IIO_CHAN_INFO_CALIBBIAS_SEPARATE_BIT,
+		.address = accel_y,
+		.scan_index = ADIS16240_SCAN_ACC_Y,
+		.scan_type = {
+			.sign = 's',
+			.realbits = 10,
+			.storagebits = 16,
+		},
+	}, {
+		.type = IIO_ACCEL,
+		.modified = 1,
+		.channel2 = IIO_MOD_Z,
+		.info_mask = IIO_CHAN_INFO_SCALE_SHARED_BIT |
+		IIO_CHAN_INFO_CALIBBIAS_SEPARATE_BIT,
+		.address = accel_z,
+		.scan_index = ADIS16240_SCAN_ACC_Z,
+		.scan_type = {
+			.sign = 's',
+			.realbits = 10,
+			.storagebits = 16,
+		},
+	}, {
+		.type = IIO_TEMP,
+		.indexed = 1,
+		.channel = 0,
+		.info_mask = IIO_CHAN_INFO_SCALE_SEPARATE_BIT,
+		.address = temp,
+		.scan_index = ADIS16240_SCAN_TEMP,
+		.scan_type = {
+			.sign = 'u',
+			.realbits = 10,
+			.storagebits = 16,
+		},
+	},
 	IIO_CHAN_SOFT_TIMESTAMP(6)
 };
 
-- 
1.7.9.4


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

* Re: [PATCH V2] staging:iio:adc:ad7476 unwind use of IIO_CHAN macro.
  2012-04-11 17:41     ` [PATCH V2] " Jonathan Cameron
@ 2012-04-13  8:22       ` Lars-Peter Clausen
  0 siblings, 0 replies; 36+ messages in thread
From: Lars-Peter Clausen @ 2012-04-13  8:22 UTC (permalink / raw)
  To: Jonathan Cameron; +Cc: linux-iio, device-drivers-devel

On 04/11/2012 07:41 PM, Jonathan Cameron wrote:
> This macro is being removed to simplify ongoing maintenance
> so we need to unwind and remaining users.
> 
> V2 has the cleanup Lars-Peter suggested.
> 
> Signed-off-by: Jonathan Cameron <jic23@kernel.org>

Looks good, thanks.

Acked-by: Lars-Peter Clausen <lars@metafoo.de>

> 
> ---
> Basically this now makes use of the fact that the shift + bits = 12 in
> all cases. 
> 
>  drivers/staging/iio/adc/ad7476_core.c |   45 +++++++++++++++------------------
>  1 file changed, 21 insertions(+), 24 deletions(-)
> 
> diff --git a/drivers/staging/iio/adc/ad7476_core.c b/drivers/staging/iio/adc/ad7476_core.c
> index 0c064d1..694b508 100644
> --- a/drivers/staging/iio/adc/ad7476_core.c
> +++ b/drivers/staging/iio/adc/ad7476_core.c
> @@ -66,53 +66,50 @@ static int ad7476_read_raw(struct iio_dev *indio_dev,
>  	return -EINVAL;
>  }
>  
> +#define AD7476_CHAN(bits)					\
> +	{							\
> +	.type = IIO_VOLTAGE,					\
> +	.indexed = 1,						\
> +	.info_mask = IIO_CHAN_INFO_SCALE_SHARED_BIT,		\
> +	.scan_type = {						\
> +		.sign = 'u',					\
> +		.realbits = bits,				\
> +		.storagebits = 16,				\
> +		.shift = 12 - bits,				\
> +	},							\
> +}
> +
>  static const struct ad7476_chip_info ad7476_chip_info_tbl[] = {
>  	[ID_AD7466] = {
> -		.channel[0] = IIO_CHAN(IIO_VOLTAGE, 0, 1, 0, NULL, 0, 0,
> -				       IIO_CHAN_INFO_SCALE_SHARED_BIT,
> -				       0, 0, IIO_ST('u', 12, 16, 0), 0),
> +		.channel[0] = AD7476_CHAN(12),
>  		.channel[1] = IIO_CHAN_SOFT_TIMESTAMP(1),
>  	},
>  	[ID_AD7467] = {
> -		.channel[0] = IIO_CHAN(IIO_VOLTAGE, 0, 1, 0, NULL, 0, 0,
> -				       IIO_CHAN_INFO_SCALE_SHARED_BIT,
> -				       0, 0, IIO_ST('u', 10, 16, 2), 0),
> +		.channel[0] = AD7476_CHAN(10),
>  		.channel[1] = IIO_CHAN_SOFT_TIMESTAMP(1),
>  	},
>  	[ID_AD7468] = {
> -		.channel[0] = IIO_CHAN(IIO_VOLTAGE, 0, 1 , 0, NULL, 0, 0,
> -				       IIO_CHAN_INFO_SCALE_SHARED_BIT,
> -				       0, 0, IIO_ST('u', 8, 16, 4), 0),
> +		.channel[0] = AD7476_CHAN(8),
>  		.channel[1] = IIO_CHAN_SOFT_TIMESTAMP(1),
>  	},
>  	[ID_AD7475] = {
> -		.channel[0] = IIO_CHAN(IIO_VOLTAGE, 0, 1, 0, NULL, 0, 0,
> -				       IIO_CHAN_INFO_SCALE_SHARED_BIT,
> -				       0, 0, IIO_ST('u', 12, 16, 0), 0),
> +		.channel[0] = AD7476_CHAN(12),
>  		.channel[1] = IIO_CHAN_SOFT_TIMESTAMP(1),
>  	},
>  	[ID_AD7476] = {
> -		.channel[0] = IIO_CHAN(IIO_VOLTAGE, 0, 1, 0, NULL, 0, 0,
> -				       IIO_CHAN_INFO_SCALE_SHARED_BIT,
> -				       0, 0, IIO_ST('u', 12, 16, 0), 0),
> +		.channel[0] = AD7476_CHAN(12),
>  		.channel[1] = IIO_CHAN_SOFT_TIMESTAMP(1),
>  	},
>  	[ID_AD7477] = {
> -		.channel[0] = IIO_CHAN(IIO_VOLTAGE, 0, 1, 0, NULL, 0, 0,
> -				       IIO_CHAN_INFO_SCALE_SHARED_BIT,
> -				       0, 0, IIO_ST('u', 10, 16, 2), 0),
> +		.channel[0] = AD7476_CHAN(10),
>  		.channel[1] = IIO_CHAN_SOFT_TIMESTAMP(1),
>  	},
>  	[ID_AD7478] = {
> -		.channel[0] = IIO_CHAN(IIO_VOLTAGE, 0, 1, 0, NULL, 0, 0,
> -				       IIO_CHAN_INFO_SCALE_SHARED_BIT,
> -				       0, 0, IIO_ST('u', 8, 16, 4), 0),
> +		.channel[0] = AD7476_CHAN(8),
>  		.channel[1] = IIO_CHAN_SOFT_TIMESTAMP(1),
>  	},
>  	[ID_AD7495] = {
> -		.channel[0] = IIO_CHAN(IIO_VOLTAGE, 0, 1, 0, NULL, 0, 0,
> -				       IIO_CHAN_INFO_SCALE_SHARED_BIT,
> -				       0, 0, IIO_ST('u', 12, 16, 0), 0),
> +		.channel[0] = AD7476_CHAN(12),
>  		.channel[1] = IIO_CHAN_SOFT_TIMESTAMP(1),
>  		.int_vref_mv = 2500,
>  	},


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

* Re: [PATCH V2] staging:iio:accel:adis16240 unwind use of IIO_CHAN macro.
  2012-04-11 17:46     ` [PATCH V2] " Jonathan Cameron
@ 2012-04-13  8:26       ` Lars-Peter Clausen
  2012-04-13  8:26         ` Lars-Peter Clausen
  0 siblings, 1 reply; 36+ messages in thread
From: Lars-Peter Clausen @ 2012-04-13  8:26 UTC (permalink / raw)
  To: Jonathan Cameron; +Cc: linux-iio, device-drivers-devel

On 04/11/2012 07:46 PM, Jonathan Cameron wrote:
> This macro is being removed to simplify ongoing maintenance
> so we need to unwind and remaining users.
> 
> Signed-off-by: Jonathan Cameron <jic23@kernel.org>

Looks good, thanks.

Acked-by: Lars-Peter Clausen

> ---
> 
> Fixed as per Lars-Peter's review..
> 
> 
>  drivers/staging/iio/accel/adis16240_core.c |  103 ++++++++++++++++++++--------
>  1 file changed, 76 insertions(+), 27 deletions(-)
> 
> diff --git a/drivers/staging/iio/accel/adis16240_core.c b/drivers/staging/iio/accel/adis16240_core.c
> index 17f77fe..fb0b328 100644
> --- a/drivers/staging/iio/accel/adis16240_core.c
> +++ b/drivers/staging/iio/accel/adis16240_core.c
> @@ -468,33 +468,82 @@ static int adis16240_write_raw(struct iio_dev *indio_dev,
>  }
>  
>  static struct iio_chan_spec adis16240_channels[] = {
> -	IIO_CHAN(IIO_VOLTAGE, 0, 1, 0, "supply", 0, 0,
> -		 IIO_CHAN_INFO_SCALE_SEPARATE_BIT,
> -		 in_supply, ADIS16240_SCAN_SUPPLY,
> -		 IIO_ST('u', 10, 16, 0), 0),
> -	IIO_CHAN(IIO_VOLTAGE, 0, 1, 0, NULL, 1, 0,
> -		 0,
> -		 in_aux, ADIS16240_SCAN_AUX_ADC,
> -		 IIO_ST('u', 10, 16, 0), 0),
> -	IIO_CHAN(IIO_ACCEL, 1, 0, 0, NULL, 0, IIO_MOD_X,
> -		 IIO_CHAN_INFO_SCALE_SHARED_BIT |
> -		 IIO_CHAN_INFO_CALIBBIAS_SEPARATE_BIT,
> -		 accel_x, ADIS16240_SCAN_ACC_X,
> -		 IIO_ST('s', 10, 16, 0), 0),
> -	IIO_CHAN(IIO_ACCEL, 1, 0, 0, NULL, 0, IIO_MOD_Y,
> -		 IIO_CHAN_INFO_SCALE_SHARED_BIT |
> -		 IIO_CHAN_INFO_CALIBBIAS_SEPARATE_BIT,
> -		 accel_y, ADIS16240_SCAN_ACC_Y,
> -		 IIO_ST('s', 10, 16, 0), 0),
> -	IIO_CHAN(IIO_ACCEL, 1, 0, 0, NULL, 0, IIO_MOD_Z,
> -		 IIO_CHAN_INFO_SCALE_SHARED_BIT |
> -		 IIO_CHAN_INFO_CALIBBIAS_SEPARATE_BIT,
> -		 accel_z, ADIS16240_SCAN_ACC_Z,
> -		 IIO_ST('s', 10, 16, 0), 0),
> -	IIO_CHAN(IIO_TEMP, 0, 1, 0, NULL, 0, 0,
> -		 IIO_CHAN_INFO_SCALE_SEPARATE_BIT,
> -		 temp, ADIS16240_SCAN_TEMP,
> -		 IIO_ST('u', 10, 16, 0), 0),
> +	{
> +		.type = IIO_VOLTAGE,
> +		.indexed = 1,
> +		.channel = 0,
> +		.extend_name = "supply",
> +		.info_mask = IIO_CHAN_INFO_SCALE_SEPARATE_BIT,
> +		.address = in_supply,
> +		.scan_index = ADIS16240_SCAN_SUPPLY,
> +		.scan_type = {
> +			.sign = 'u',
> +			.realbits = 10,
> +			.storagebits = 16,
> +		},
> +	}, {
> +		.type = IIO_VOLTAGE,
> +		.indexed = 1,
> +		.channel = 1,
> +		.address = in_aux,
> +		.scan_index = ADIS16240_SCAN_AUX_ADC,
> +		.scan_type = {
> +			.sign = 'u',
> +			.realbits = 10,
> +			.storagebits = 16,
> +		},
> +	}, {
> +		.type = IIO_ACCEL,
> +		.modified = 1,
> +		.channel2 = IIO_MOD_X,
> +		.info_mask = IIO_CHAN_INFO_SCALE_SHARED_BIT |
> +		IIO_CHAN_INFO_CALIBBIAS_SEPARATE_BIT,
> +		.address = accel_x,
> +		.scan_index = ADIS16240_SCAN_ACC_X,
> +		.scan_type = {
> +			.sign = 's',
> +			.realbits = 10,
> +			.storagebits = 16,
> +		},
> +	}, {
> +		.type = IIO_ACCEL,
> +		.modified = 1,
> +		.channel2 = IIO_MOD_Y,
> +		.info_mask = IIO_CHAN_INFO_SCALE_SHARED_BIT |
> +		IIO_CHAN_INFO_CALIBBIAS_SEPARATE_BIT,
> +		.address = accel_y,
> +		.scan_index = ADIS16240_SCAN_ACC_Y,
> +		.scan_type = {
> +			.sign = 's',
> +			.realbits = 10,
> +			.storagebits = 16,
> +		},
> +	}, {
> +		.type = IIO_ACCEL,
> +		.modified = 1,
> +		.channel2 = IIO_MOD_Z,
> +		.info_mask = IIO_CHAN_INFO_SCALE_SHARED_BIT |
> +		IIO_CHAN_INFO_CALIBBIAS_SEPARATE_BIT,
> +		.address = accel_z,
> +		.scan_index = ADIS16240_SCAN_ACC_Z,
> +		.scan_type = {
> +			.sign = 's',
> +			.realbits = 10,
> +			.storagebits = 16,
> +		},
> +	}, {
> +		.type = IIO_TEMP,
> +		.indexed = 1,
> +		.channel = 0,
> +		.info_mask = IIO_CHAN_INFO_SCALE_SEPARATE_BIT,
> +		.address = temp,
> +		.scan_index = ADIS16240_SCAN_TEMP,
> +		.scan_type = {
> +			.sign = 'u',
> +			.realbits = 10,
> +			.storagebits = 16,
> +		},
> +	},
>  	IIO_CHAN_SOFT_TIMESTAMP(6)
>  };
>  


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

* Re: [PATCH V2] staging:iio:accel:adis16240 unwind use of IIO_CHAN macro.
  2012-04-13  8:26       ` Lars-Peter Clausen
@ 2012-04-13  8:26         ` Lars-Peter Clausen
  0 siblings, 0 replies; 36+ messages in thread
From: Lars-Peter Clausen @ 2012-04-13  8:26 UTC (permalink / raw)
  To: Jonathan Cameron; +Cc: linux-iio, device-drivers-devel

On 04/13/2012 10:26 AM, Lars-Peter Clausen wrote:
> On 04/11/2012 07:46 PM, Jonathan Cameron wrote:
>> This macro is being removed to simplify ongoing maintenance
>> so we need to unwind and remaining users.
>>
>> Signed-off-by: Jonathan Cameron <jic23@kernel.org>
> 
> Looks good, thanks.
> 
> Acked-by: Lars-Peter Clausen

oops, hit send to quick...

Acked-by: Lars-Peter Clausen <lars@metafoo.de>

> 
>> ---
>>
>> Fixed as per Lars-Peter's review..
>>
>>
>>  drivers/staging/iio/accel/adis16240_core.c |  103 ++++++++++++++++++++--------
>>  1 file changed, 76 insertions(+), 27 deletions(-)
>>
>> diff --git a/drivers/staging/iio/accel/adis16240_core.c b/drivers/staging/iio/accel/adis16240_core.c
>> index 17f77fe..fb0b328 100644
>> --- a/drivers/staging/iio/accel/adis16240_core.c
>> +++ b/drivers/staging/iio/accel/adis16240_core.c
>> @@ -468,33 +468,82 @@ static int adis16240_write_raw(struct iio_dev *indio_dev,
>>  }
>>  
>>  static struct iio_chan_spec adis16240_channels[] = {
>> -	IIO_CHAN(IIO_VOLTAGE, 0, 1, 0, "supply", 0, 0,
>> -		 IIO_CHAN_INFO_SCALE_SEPARATE_BIT,
>> -		 in_supply, ADIS16240_SCAN_SUPPLY,
>> -		 IIO_ST('u', 10, 16, 0), 0),
>> -	IIO_CHAN(IIO_VOLTAGE, 0, 1, 0, NULL, 1, 0,
>> -		 0,
>> -		 in_aux, ADIS16240_SCAN_AUX_ADC,
>> -		 IIO_ST('u', 10, 16, 0), 0),
>> -	IIO_CHAN(IIO_ACCEL, 1, 0, 0, NULL, 0, IIO_MOD_X,
>> -		 IIO_CHAN_INFO_SCALE_SHARED_BIT |
>> -		 IIO_CHAN_INFO_CALIBBIAS_SEPARATE_BIT,
>> -		 accel_x, ADIS16240_SCAN_ACC_X,
>> -		 IIO_ST('s', 10, 16, 0), 0),
>> -	IIO_CHAN(IIO_ACCEL, 1, 0, 0, NULL, 0, IIO_MOD_Y,
>> -		 IIO_CHAN_INFO_SCALE_SHARED_BIT |
>> -		 IIO_CHAN_INFO_CALIBBIAS_SEPARATE_BIT,
>> -		 accel_y, ADIS16240_SCAN_ACC_Y,
>> -		 IIO_ST('s', 10, 16, 0), 0),
>> -	IIO_CHAN(IIO_ACCEL, 1, 0, 0, NULL, 0, IIO_MOD_Z,
>> -		 IIO_CHAN_INFO_SCALE_SHARED_BIT |
>> -		 IIO_CHAN_INFO_CALIBBIAS_SEPARATE_BIT,
>> -		 accel_z, ADIS16240_SCAN_ACC_Z,
>> -		 IIO_ST('s', 10, 16, 0), 0),
>> -	IIO_CHAN(IIO_TEMP, 0, 1, 0, NULL, 0, 0,
>> -		 IIO_CHAN_INFO_SCALE_SEPARATE_BIT,
>> -		 temp, ADIS16240_SCAN_TEMP,
>> -		 IIO_ST('u', 10, 16, 0), 0),
>> +	{
>> +		.type = IIO_VOLTAGE,
>> +		.indexed = 1,
>> +		.channel = 0,
>> +		.extend_name = "supply",
>> +		.info_mask = IIO_CHAN_INFO_SCALE_SEPARATE_BIT,
>> +		.address = in_supply,
>> +		.scan_index = ADIS16240_SCAN_SUPPLY,
>> +		.scan_type = {
>> +			.sign = 'u',
>> +			.realbits = 10,
>> +			.storagebits = 16,
>> +		},
>> +	}, {
>> +		.type = IIO_VOLTAGE,
>> +		.indexed = 1,
>> +		.channel = 1,
>> +		.address = in_aux,
>> +		.scan_index = ADIS16240_SCAN_AUX_ADC,
>> +		.scan_type = {
>> +			.sign = 'u',
>> +			.realbits = 10,
>> +			.storagebits = 16,
>> +		},
>> +	}, {
>> +		.type = IIO_ACCEL,
>> +		.modified = 1,
>> +		.channel2 = IIO_MOD_X,
>> +		.info_mask = IIO_CHAN_INFO_SCALE_SHARED_BIT |
>> +		IIO_CHAN_INFO_CALIBBIAS_SEPARATE_BIT,
>> +		.address = accel_x,
>> +		.scan_index = ADIS16240_SCAN_ACC_X,
>> +		.scan_type = {
>> +			.sign = 's',
>> +			.realbits = 10,
>> +			.storagebits = 16,
>> +		},
>> +	}, {
>> +		.type = IIO_ACCEL,
>> +		.modified = 1,
>> +		.channel2 = IIO_MOD_Y,
>> +		.info_mask = IIO_CHAN_INFO_SCALE_SHARED_BIT |
>> +		IIO_CHAN_INFO_CALIBBIAS_SEPARATE_BIT,
>> +		.address = accel_y,
>> +		.scan_index = ADIS16240_SCAN_ACC_Y,
>> +		.scan_type = {
>> +			.sign = 's',
>> +			.realbits = 10,
>> +			.storagebits = 16,
>> +		},
>> +	}, {
>> +		.type = IIO_ACCEL,
>> +		.modified = 1,
>> +		.channel2 = IIO_MOD_Z,
>> +		.info_mask = IIO_CHAN_INFO_SCALE_SHARED_BIT |
>> +		IIO_CHAN_INFO_CALIBBIAS_SEPARATE_BIT,
>> +		.address = accel_z,
>> +		.scan_index = ADIS16240_SCAN_ACC_Z,
>> +		.scan_type = {
>> +			.sign = 's',
>> +			.realbits = 10,
>> +			.storagebits = 16,
>> +		},
>> +	}, {
>> +		.type = IIO_TEMP,
>> +		.indexed = 1,
>> +		.channel = 0,
>> +		.info_mask = IIO_CHAN_INFO_SCALE_SEPARATE_BIT,
>> +		.address = temp,
>> +		.scan_index = ADIS16240_SCAN_TEMP,
>> +		.scan_type = {
>> +			.sign = 'u',
>> +			.realbits = 10,
>> +			.storagebits = 16,
>> +		},
>> +	},
>>  	IIO_CHAN_SOFT_TIMESTAMP(6)
>>  };
>>  
> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-iio" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html


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

* [PATCH 14/14] staging:iio:core drop the IIO_CHAN macro for ease of maintenance.
  2012-04-13  9:42 [PATCH 00/14 V2] " Jonathan Cameron
@ 2012-04-13  9:43 ` Jonathan Cameron
  0 siblings, 0 replies; 36+ messages in thread
From: Jonathan Cameron @ 2012-04-13  9:43 UTC (permalink / raw)
  To: gregkh; +Cc: linux-iio, Jonathan Cameron

I was warned long ago that this macro would cause trouble but didn't
heed the advice, hence I'm unwinding it now!

Signed-off-by: Jonathan Cameron <jic23@kernel.org>
---
 drivers/staging/iio/iio.h |   17 -----------------
 1 files changed, 0 insertions(+), 17 deletions(-)

diff --git a/drivers/staging/iio/iio.h b/drivers/staging/iio/iio.h
index 4824812..fa6fca0 100644
--- a/drivers/staging/iio/iio.h
+++ b/drivers/staging/iio/iio.h
@@ -176,23 +176,6 @@ struct iio_chan_spec {
 #define IIO_ST(si, rb, sb, sh)						\
 	{ .sign = si, .realbits = rb, .storagebits = sb, .shift = sh }
 
-/* Macro assumes input channels */
-#define IIO_CHAN(_type, _mod, _indexed, _proc, _name, _chan, _chan2, \
-		 _inf_mask, _address, _si, _stype, _event_mask)		\
-	{ .type = _type,						\
-	  .output = 0,							\
-	  .modified = _mod,						\
-	  .indexed = _indexed,						\
-	  .processed_val = _proc,					\
-	  .extend_name = _name,						\
-	  .channel = _chan,						\
-	  .channel2 = _chan2,						\
-	  .info_mask = _inf_mask,					\
-	  .address = _address,						\
-	  .scan_index = _si,						\
-	  .scan_type = _stype,						\
-	  .event_mask = _event_mask }
-
 #define IIO_CHAN_SOFT_TIMESTAMP(_si)					\
 	{ .type = IIO_TIMESTAMP, .channel = -1,				\
 			.scan_index = _si, .scan_type = IIO_ST('s', 64, 64, 0) }
-- 
1.7.0.4


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

end of thread, other threads:[~2012-04-13  9:43 UTC | newest]

Thread overview: 36+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-04-10 20:21 [PATCH 00/14] IIO: Kill off IIO_CHAN macro Jonathan Cameron
2012-04-10 20:21 ` [PATCH 01/14] staging:iio:accel:adis16201 unwind use of " Jonathan Cameron
2012-04-11 11:39   ` Lars-Peter Clausen
2012-04-10 20:21 ` [PATCH 02/14] staging:iio:accel:adis16203 " Jonathan Cameron
2012-04-11 11:39   ` Lars-Peter Clausen
2012-04-10 20:21 ` [PATCH 03/14] staging:iio:accel:adis16204 " Jonathan Cameron
2012-04-11 11:40   ` Lars-Peter Clausen
2012-04-10 20:21 ` [PATCH 04/14] staging:iio:accel:adis16209 " Jonathan Cameron
2012-04-11 11:42   ` Lars-Peter Clausen
2012-04-10 20:21 ` [PATCH 05/14] staging:iio:accel:adis16240 " Jonathan Cameron
2012-04-11 11:25   ` Lars-Peter Clausen
2012-04-11 17:46     ` [PATCH V2] " Jonathan Cameron
2012-04-13  8:26       ` Lars-Peter Clausen
2012-04-13  8:26         ` Lars-Peter Clausen
2012-04-10 20:21 ` [PATCH 06/14] staging:iio:accel:lis3l02dq " Jonathan Cameron
2012-04-10 20:21 ` [PATCH 07/14] staging:iio:accel:sca3000 " Jonathan Cameron
2012-04-10 20:21 ` [PATCH 08/14] staging:iio:adc:ad7298 " Jonathan Cameron
2012-04-11 11:44   ` Lars-Peter Clausen
2012-04-10 20:21 ` [PATCH 09/14] staging:iio:adc:ad7476 " Jonathan Cameron
2012-04-11  9:47   ` Lars-Peter Clausen
2012-04-11 17:41     ` [PATCH V2] " Jonathan Cameron
2012-04-13  8:22       ` Lars-Peter Clausen
2012-04-10 20:21 ` [PATCH 10/14] staging:iio:accel:ad7780 " Jonathan Cameron
2012-04-11 11:49   ` Lars-Peter Clausen
2012-04-10 20:21 ` [PATCH 11/14] staging:iio:gyro:adis16260 " Jonathan Cameron
2012-04-11 11:52   ` Lars-Peter Clausen
2012-04-10 20:21 ` [PATCH 12/14] staging:iio:impedance-analyzer:ad5933 " Jonathan Cameron
2012-04-11 11:46   ` Lars-Peter Clausen
2012-04-10 20:21 ` [PATCH 13/14] staging:iio:meter:ade7758 " Jonathan Cameron
2012-04-11 11:47   ` Lars-Peter Clausen
2012-04-10 20:21 ` [PATCH 14/14] staging:iio:core drop the IIO_CHAN macro for ease of maintenance Jonathan Cameron
2012-04-11 11:21 ` [PATCH 00/14] IIO: Kill off IIO_CHAN macro Lars-Peter Clausen
2012-04-11 11:20   ` Jonathan Cameron
2012-04-11 11:55     ` Lars-Peter Clausen
2012-04-11 11:53       ` Jonathan Cameron
2012-04-13  9:42 [PATCH 00/14 V2] " Jonathan Cameron
2012-04-13  9:43 ` [PATCH 14/14] staging:iio:core drop the IIO_CHAN macro for ease of maintenance Jonathan Cameron

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.