Re: [PATCH 2/3] staging:iio sync drivers with current ABI

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 08/30/10 15:03, Manuel Stahl wrote:

Youch, I hadn't registered just how far away this lot were from the abi.
Thanks for doing this.

I sometimes wonder if it would be better to loose all the macros and move
over to abi doc based enforcement (like hwmon does).  What do people think?
As can be seen in this patch, it makes very little difference in the length of
code.  Disadvantage is that it does add a review burden.

Let's merge this fix anyway and consider whether to loose some of the macros
at a later date.

Quite a bit of this fixes naming of parameter that weren't correct under the
previous abi.  Clearly we (meaning mainly me :) ) need to review drivers
much more closely for abi breakage.

An excellent patch.  Thank you very much for doing this.

One minor white space introduction that I'd like you to clean up before
sending on.


> Signed-off-by: Manuel Stahl <manuel.stahl@xxxxxxxxxxxxxxxxx>
Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxx>

> ---
>  drivers/staging/iio/accel/accel.h          |   42 +++++++++++++++++++++---
>  drivers/staging/iio/accel/adis16209_core.c |   26 +++++----------
>  drivers/staging/iio/accel/adis16209_ring.c |   12 +++---
>  drivers/staging/iio/accel/adis16220_core.c |   12 +++---
>  drivers/staging/iio/accel/adis16240_core.c |   22 ++++++------
>  drivers/staging/iio/accel/adis16240_ring.c |   12 +++---
>  drivers/staging/iio/accel/inclinometer.h   |    2 +
>  drivers/staging/iio/accel/lis3l02dq_core.c |    2 +-
>  drivers/staging/iio/accel/sca3000_core.c   |    4 +-
>  drivers/staging/iio/adc/adc.h              |    9 +++++
>  drivers/staging/iio/gyro/adis16260_core.c  |   20 ++++++------
>  drivers/staging/iio/gyro/adis16260_ring.c  |   12 +++---
>  drivers/staging/iio/gyro/gyro.h            |   46 ++++++++++++++++++++++-----
>  drivers/staging/iio/imu/adis16300_core.c   |   36 ++++++++++++---------
>  drivers/staging/iio/imu/adis16300_ring.c   |   12 +++---
>  drivers/staging/iio/imu/adis16350_core.c   |   44 ++++++++++++++++++--------
>  drivers/staging/iio/imu/adis16350_ring.c   |   12 +++---
>  drivers/staging/iio/imu/adis16400_core.c   |   47 +++++++++++++++-------------
>  drivers/staging/iio/imu/adis16400_ring.c   |   12 +++---
>  drivers/staging/iio/sysfs.h                |   17 ++++++++--
>  20 files changed, 249 insertions(+), 152 deletions(-)


> 
> diff --git a/drivers/staging/iio/accel/accel.h b/drivers/staging/iio/accel/accel.h
> index 1b6e37f..01e9302 100644
> --- a/drivers/staging/iio/accel/accel.h
> +++ b/drivers/staging/iio/accel/accel.h
> @@ -14,14 +14,44 @@
>  #define IIO_DEV_ATTR_ACCEL_Z_OFFSET(_mode, _show, _store, _addr)	\
>  	IIO_DEVICE_ATTR(accel_z_offset, _mode, _show, _store, _addr)
>  
> -#define IIO_DEV_ATTR_ACCEL_X_GAIN(_mode, _show, _store, _addr)		\
> -	IIO_DEVICE_ATTR(accel_x_gain, _mode, _show, _store, _addr)
> +#define IIO_CONST_ATTR_ACCEL_SCALE(_string)		\
> +	IIO_CONST_ATTR(accel_scale, _string)
>  
> -#define IIO_DEV_ATTR_ACCEL_Y_GAIN(_mode, _show, _store, _addr)		\
> -	IIO_DEVICE_ATTR(accel_y_gain, _mode, _show, _store, _addr)
> +#define IIO_DEV_ATTR_ACCEL_SCALE(_mode, _show, _store, _addr)		\
> +	IIO_DEVICE_ATTR(accel_scale, _mode, _show, _store, _addr)
>  
> -#define IIO_DEV_ATTR_ACCEL_Z_GAIN(_mode, _show, _store, _addr)		\
> -	IIO_DEVICE_ATTR(accel_z_gain, _mode, _show, _store, _addr)
> +#define IIO_DEV_ATTR_ACCEL_X_SCALE(_mode, _show, _store, _addr)		\
> +	IIO_DEVICE_ATTR(accel_x_scale, _mode, _show, _store, _addr)
> +
> +#define IIO_DEV_ATTR_ACCEL_Y_SCALE(_mode, _show, _store, _addr)		\
> +	IIO_DEVICE_ATTR(accel_y_scale, _mode, _show, _store, _addr)
> +
> +#define IIO_DEV_ATTR_ACCEL_Z_SCALE(_mode, _show, _store, _addr)		\
> +	IIO_DEVICE_ATTR(accel_z_scale, _mode, _show, _store, _addr)
> +
> +#define IIO_DEV_ATTR_ACCEL_CALIBBIAS(_mode, _show, _store, _addr)		\
> +	IIO_DEVICE_ATTR(accel_calibbias, _mode, _show, _store, _addr)
> +
> +#define IIO_DEV_ATTR_ACCEL_X_CALIBBIAS(_mode, _show, _store, _addr)		\
> +	IIO_DEVICE_ATTR(accel_x_calibbias, _mode, _show, _store, _addr)
> +
> +#define IIO_DEV_ATTR_ACCEL_Y_CALIBBIAS(_mode, _show, _store, _addr)		\
> +	IIO_DEVICE_ATTR(accel_y_calibbias, _mode, _show, _store, _addr)
> +
> +#define IIO_DEV_ATTR_ACCEL_Z_CALIBBIAS(_mode, _show, _store, _addr)		\
> +	IIO_DEVICE_ATTR(accel_z_calibbias, _mode, _show, _store, _addr)
> +
> +#define IIO_DEV_ATTR_ACCEL_CALIBSCALE(_mode, _show, _store, _addr)		\
> +	IIO_DEVICE_ATTR(accel_calibscale, _mode, _show, _store, _addr)
> +
> +#define IIO_DEV_ATTR_ACCEL_X_CALIBSCALE(_mode, _show, _store, _addr)		\
> +	IIO_DEVICE_ATTR(accel_x_calibscale, _mode, _show, _store, _addr)
> +
> +#define IIO_DEV_ATTR_ACCEL_Y_CALIBSCALE(_mode, _show, _store, _addr)		\
> +	IIO_DEVICE_ATTR(accel_y_calibscale, _mode, _show, _store, _addr)
> +
> +#define IIO_DEV_ATTR_ACCEL_Z_CALIBSCALE(_mode, _show, _store, _addr)		\
> +	IIO_DEVICE_ATTR(accel_z_calibscale, _mode, _show, _store, _addr)
>  
>  #define IIO_DEV_ATTR_ACCEL(_show, _addr)			\
>  	IIO_DEVICE_ATTR(accel_raw, S_IRUGO, _show, NULL, _addr)
> diff --git a/drivers/staging/iio/accel/adis16209_core.c b/drivers/staging/iio/accel/adis16209_core.c
> index 6c6923f..bda497a 100644
> --- a/drivers/staging/iio/accel/adis16209_core.c
> +++ b/drivers/staging/iio/accel/adis16209_core.c
> @@ -393,7 +393,7 @@ err_ret:
>  
>  static IIO_DEV_ATTR_IN_NAMED_RAW(supply, adis16209_read_14bit_unsigned,
>  		ADIS16209_SUPPLY_OUT);
> -static IIO_CONST_ATTR(in_supply_scale, "0.30518");
> +static IIO_CONST_ATTR_IN_NAMED_SCALE(supply, "0.30518");
Here is an example of just how silly it can get...

>  static IIO_DEV_ATTR_IN_RAW(0, adis16209_read_12bit_unsigned,
>  		ADIS16209_AUX_ADC);
>  static IIO_CONST_ATTR(in0_scale, "0.6105");
> @@ -402,11 +402,11 @@ static IIO_DEV_ATTR_ACCEL_X(adis16209_read_14bit_signed,
>  		ADIS16209_XACCL_OUT);
>  static IIO_DEV_ATTR_ACCEL_Y(adis16209_read_14bit_signed,
>  		ADIS16209_YACCL_OUT);
> -static IIO_DEV_ATTR_ACCEL_X_OFFSET(S_IWUSR | S_IRUGO,
> +static IIO_DEV_ATTR_ACCEL_X_CALIBBIAS(S_IWUSR | S_IRUGO,
>  		adis16209_read_14bit_signed,
>  		adis16209_write_16bit,
>  		ADIS16209_XACCL_NULL);
> -static IIO_DEV_ATTR_ACCEL_Y_OFFSET(S_IWUSR | S_IRUGO,
> +static IIO_DEV_ATTR_ACCEL_Y_CALIBBIAS(S_IWUSR | S_IRUGO,
>  		adis16209_read_14bit_signed,
>  		adis16209_write_16bit,
>  		ADIS16209_YACCL_NULL);
> @@ -416,26 +416,18 @@ static IIO_DEV_ATTR_INCLI_X(adis16209_read_14bit_signed,
>  		ADIS16209_XINCL_OUT);
>  static IIO_DEV_ATTR_INCLI_Y(adis16209_read_14bit_signed,
>  		ADIS16209_YINCL_OUT);
> -static IIO_DEV_ATTR_INCLI_X_OFFSET(S_IWUSR | S_IRUGO,
> -		adis16209_read_14bit_signed,
> -		adis16209_write_16bit,
> -		ADIS16209_XACCL_NULL);
> -static IIO_DEV_ATTR_INCLI_Y_OFFSET(S_IWUSR | S_IRUGO,
> -		adis16209_read_14bit_signed,
> -		adis16209_write_16bit,
> -		ADIS16209_YACCL_NULL);
>  static IIO_CONST_ATTR(incli_scale, "0.025");
>  
>  static IIO_DEVICE_ATTR(rot_raw, S_IRUGO, adis16209_read_14bit_signed,
>  		       NULL, ADIS16209_ROT_OUT);
>  
>  static IIO_DEV_ATTR_TEMP(adis16209_read_temp);
> -static IIO_CONST_ATTR(temp_offset, "25");
> -static IIO_CONST_ATTR(temp_scale, "-0.47");
> +static IIO_CONST_ATTR_TEMP_OFFSET("25");
> +static IIO_CONST_ATTR_TEMP_SCALE("-0.47");
Again. Do we really need these macros?
>  
>  static IIO_DEVICE_ATTR(reset, S_IWUSR, NULL, adis16209_write_reset, 0);
>  
> -static IIO_CONST_ATTR(name, "adis16209");
> +static IIO_CONST_ATTR_NAME("adis16209");
>  
>  static struct attribute *adis16209_event_attributes[] = {
>  	NULL
> @@ -457,13 +449,11 @@ static struct attribute *adis16209_attributes[] = {
>  	&iio_const_attr_in0_scale.dev_attr.attr,
>  	&iio_dev_attr_accel_x_raw.dev_attr.attr,
>  	&iio_dev_attr_accel_y_raw.dev_attr.attr,
> -	&iio_dev_attr_accel_x_offset.dev_attr.attr,
> -	&iio_dev_attr_accel_y_offset.dev_attr.attr,
> +	&iio_dev_attr_accel_x_calibbias.dev_attr.attr,
> +	&iio_dev_attr_accel_y_calibbias.dev_attr.attr,
>  	&iio_const_attr_accel_scale.dev_attr.attr,
>  	&iio_dev_attr_incli_x_raw.dev_attr.attr,
>  	&iio_dev_attr_incli_y_raw.dev_attr.attr,
> -	&iio_dev_attr_incli_x_offset.dev_attr.attr,
> -	&iio_dev_attr_incli_y_offset.dev_attr.attr,
>  	&iio_const_attr_incli_scale.dev_attr.attr,
>  	&iio_dev_attr_rot_raw.dev_attr.attr,
>  	NULL
> diff --git a/drivers/staging/iio/accel/adis16209_ring.c b/drivers/staging/iio/accel/adis16209_ring.c
> index 120bf91..3eb1d55 100644
> --- a/drivers/staging/iio/accel/adis16209_ring.c
> +++ b/drivers/staging/iio/accel/adis16209_ring.c
> @@ -17,13 +17,13 @@
>  #include "../trigger.h"
>  #include "adis16209.h"
>  
> -static IIO_SCAN_EL_C(supply, ADIS16209_SCAN_SUPPLY, IIO_UNSIGNED(14),
> +static IIO_SCAN_EL_C(in_supply, ADIS16209_SCAN_SUPPLY, IIO_UNSIGNED(14),
>  		     ADIS16209_SUPPLY_OUT, NULL);
good spot.  Should have caught that one the first time round...

>  static IIO_SCAN_EL_C(accel_x, ADIS16209_SCAN_ACC_X, IIO_SIGNED(14),
>  		     ADIS16209_XACCL_OUT, NULL);
>  static IIO_SCAN_EL_C(accel_y, ADIS16209_SCAN_ACC_Y, IIO_SIGNED(14),
>  		     ADIS16209_YACCL_OUT, NULL);
> -static IIO_SCAN_EL_C(aux_adc, ADIS16209_SCAN_AUX_ADC, IIO_UNSIGNED(12),
> +static IIO_SCAN_EL_C(in0, ADIS16209_SCAN_AUX_ADC, IIO_UNSIGNED(12),
>  		     ADIS16209_AUX_ADC, NULL);
>  static IIO_SCAN_EL_C(temp, ADIS16209_SCAN_TEMP, IIO_UNSIGNED(12),
>  		     ADIS16209_TEMP_OUT, NULL);
> @@ -37,10 +37,10 @@ static IIO_SCAN_EL_C(rot, ADIS16209_SCAN_ROT, IIO_SIGNED(14),
>  static IIO_SCAN_EL_TIMESTAMP(8);
>  
>  static struct attribute *adis16209_scan_el_attrs[] = {
> -	&iio_scan_el_supply.dev_attr.attr,
> +	&iio_scan_el_in_supply.dev_attr.attr,
>  	&iio_scan_el_accel_x.dev_attr.attr,
>  	&iio_scan_el_accel_y.dev_attr.attr,
> -	&iio_scan_el_aux_adc.dev_attr.attr,
> +	&iio_scan_el_in0.dev_attr.attr,
>  	&iio_scan_el_temp.dev_attr.attr,
>  	&iio_scan_el_incli_x.dev_attr.attr,
>  	&iio_scan_el_incli_y.dev_attr.attr,
> @@ -177,12 +177,12 @@ int adis16209_configure_ring(struct iio_dev *indio_dev)
>  	ring->owner = THIS_MODULE;
>  
>  	/* Set default scan mode */
> -	iio_scan_mask_set(ring, iio_scan_el_supply.number);
> +	iio_scan_mask_set(ring, iio_scan_el_in_supply.number);
>  	iio_scan_mask_set(ring, iio_scan_el_rot.number);
>  	iio_scan_mask_set(ring, iio_scan_el_accel_x.number);
>  	iio_scan_mask_set(ring, iio_scan_el_accel_y.number);
>  	iio_scan_mask_set(ring, iio_scan_el_temp.number);
> -	iio_scan_mask_set(ring, iio_scan_el_aux_adc.number);
> +	iio_scan_mask_set(ring, iio_scan_el_in0.number);
>  	iio_scan_mask_set(ring, iio_scan_el_incli_x.number);
>  	iio_scan_mask_set(ring, iio_scan_el_incli_y.number);
>  
> diff --git a/drivers/staging/iio/accel/adis16220_core.c b/drivers/staging/iio/accel/adis16220_core.c
> index bb7d765..edcf57d 100644
> --- a/drivers/staging/iio/accel/adis16220_core.c
> +++ b/drivers/staging/iio/accel/adis16220_core.c
> @@ -487,7 +487,7 @@ static struct bin_attribute adc2_bin = {
>  
>  static IIO_DEV_ATTR_IN_NAMED_RAW(supply, adis16220_read_12bit_unsigned,
>  		ADIS16220_CAPT_SUPPLY);
> -static IIO_CONST_ATTR(in_supply_scale, "0.0012207");
> +static IIO_CONST_ATTR_IN_NAMED_SCALE(supply, "0.0012207");
>  static IIO_DEV_ATTR_ACCEL(adis16220_read_16bit, ADIS16220_CAPT_BUFA);
>  static IIO_DEVICE_ATTR(accel_peak_raw, S_IRUGO, adis16220_read_16bit,
>  		NULL, ADIS16220_CAPT_PEAKA);
> @@ -496,8 +496,8 @@ static IIO_DEV_ATTR_ACCEL_OFFSET(S_IWUSR | S_IRUGO,
>  		adis16220_write_16bit,
>  		ADIS16220_ACCL_NULL);
>  static IIO_DEV_ATTR_TEMP_RAW(adis16220_read_12bit_unsigned);
> -static IIO_CONST_ATTR(temp_offset, "25");
> -static IIO_CONST_ATTR(temp_scale, "-0.47");
> +static IIO_CONST_ATTR_TEMP_OFFSET("25");
> +static IIO_CONST_ATTR_TEMP_SCALE("-0.47");
>  
>  static IIO_DEV_ATTR_IN_RAW(0, adis16220_read_16bit, ADIS16220_CAPT_BUF1);
>  static IIO_DEV_ATTR_IN_RAW(1, adis16220_read_16bit, ADIS16220_CAPT_BUF2);
> @@ -518,9 +518,9 @@ static IIO_DEV_ATTR_CAPTURE_COUNT(S_IWUSR | S_IRUGO,
>  		adis16220_write_16bit,
>  		ADIS16220_CAPT_PNTR);
>  
> -static IIO_CONST_ATTR_AVAIL_SAMP_FREQ("100200");
> +static IIO_CONST_ATTR_SAMP_FREQ_AVAIL("100200");
>  
> -static IIO_CONST_ATTR(name, "adis16220");
> +static IIO_CONST_ATTR_NAME("adis16220");
>  
>  static struct attribute *adis16220_attributes[] = {
>  	&iio_dev_attr_in_supply_raw.dev_attr.attr,
> @@ -533,7 +533,7 @@ static struct attribute *adis16220_attributes[] = {
>  	&iio_dev_attr_in1_raw.dev_attr.attr,
>  	&iio_const_attr_temp_offset.dev_attr.attr,
>  	&iio_const_attr_temp_scale.dev_attr.attr,
> -	&iio_const_attr_available_sampling_frequency.dev_attr.attr,
> +	&iio_const_attr_sampling_frequency_available.dev_attr.attr,
>  	&iio_dev_attr_reset.dev_attr.attr,
>  	&iio_dev_attr_capture.dev_attr.attr,
>  	&iio_dev_attr_capture_count.dev_attr.attr,
> diff --git a/drivers/staging/iio/accel/adis16240_core.c b/drivers/staging/iio/accel/adis16240_core.c
> index 3e9531d..4583258 100644
> --- a/drivers/staging/iio/accel/adis16240_core.c
> +++ b/drivers/staging/iio/accel/adis16240_core.c
> @@ -380,7 +380,7 @@ static IIO_DEV_ATTR_IN_NAMED_RAW(supply, adis16240_read_10bit_unsigned,
>  		ADIS16240_SUPPLY_OUT);
>  static IIO_DEV_ATTR_IN_RAW(0, adis16240_read_10bit_signed,
>  		ADIS16240_AUX_ADC);
> -static IIO_CONST_ATTR(in_supply_scale, "0.00488");
> +static IIO_CONST_ATTR_IN_NAMED_SCALE(supply, "0.00488");
>  static IIO_DEV_ATTR_ACCEL_X(adis16240_read_10bit_signed,
>  		ADIS16240_XACCL_OUT);
>  static IIO_DEVICE_ATTR(accel_x_peak_raw, S_IRUGO,
> @@ -400,26 +400,26 @@ static IIO_DEVICE_ATTR(accel_z_peak_raw, S_IRUGO,
>  static IIO_DEVICE_ATTR(accel_xyz_squared_peak_raw, S_IRUGO,
>  		       adis16240_read_12bit_signed, NULL,
>  		       ADIS16240_XYZPEAK_OUT);
> -static IIO_DEV_ATTR_ACCEL_X_OFFSET(S_IWUSR | S_IRUGO,
> +static IIO_DEV_ATTR_ACCEL_X_CALIBBIAS(S_IWUSR | S_IRUGO,
>  		adis16240_read_10bit_signed,
>  		adis16240_write_16bit,
>  		ADIS16240_XACCL_OFF);
> -static IIO_DEV_ATTR_ACCEL_Y_OFFSET(S_IWUSR | S_IRUGO,
> +static IIO_DEV_ATTR_ACCEL_Y_CALIBBIAS(S_IWUSR | S_IRUGO,
>  		adis16240_read_10bit_signed,
>  		adis16240_write_16bit,
>  		ADIS16240_YACCL_OFF);
> -static IIO_DEV_ATTR_ACCEL_Z_OFFSET(S_IWUSR | S_IRUGO,
> +static IIO_DEV_ATTR_ACCEL_Z_CALIBBIAS(S_IWUSR | S_IRUGO,
>  		adis16240_read_10bit_signed,
>  		adis16240_write_16bit,
>  		ADIS16240_ZACCL_OFF);
>  static IIO_DEV_ATTR_TEMP_RAW(adis16240_read_10bit_unsigned);
> -static IIO_CONST_ATTR(temp_scale, "0.244");
> +static IIO_CONST_ATTR_TEMP_SCALE("0.244");
>  
>  static IIO_DEVICE_ATTR(reset, S_IWUSR, NULL, adis16240_write_reset, 0);
>  
> -static IIO_CONST_ATTR_AVAIL_SAMP_FREQ("4096");
> +static IIO_CONST_ATTR_SAMP_FREQ_AVAIL("4096");
>  
> -static IIO_CONST_ATTR(name, "adis16240");
> +static IIO_CONST_ATTR_NAME("adis16240");
>  
>  static struct attribute *adis16240_event_attributes[] = {
>  	NULL
> @@ -434,18 +434,18 @@ static struct attribute *adis16240_attributes[] = {
>  	&iio_const_attr_in_supply_scale.dev_attr.attr,
>  	&iio_dev_attr_in0_raw.dev_attr.attr,
>  	&iio_dev_attr_accel_x_raw.dev_attr.attr,
> -	&iio_dev_attr_accel_x_offset.dev_attr.attr,
> +	&iio_dev_attr_accel_x_calibbias.dev_attr.attr,
>  	&iio_dev_attr_accel_x_peak_raw.dev_attr.attr,
>  	&iio_dev_attr_accel_y_raw.dev_attr.attr,
> -	&iio_dev_attr_accel_y_offset.dev_attr.attr,
> +	&iio_dev_attr_accel_y_calibbias.dev_attr.attr,
>  	&iio_dev_attr_accel_y_peak_raw.dev_attr.attr,
>  	&iio_dev_attr_accel_z_raw.dev_attr.attr,
> -	&iio_dev_attr_accel_z_offset.dev_attr.attr,
> +	&iio_dev_attr_accel_z_calibbias.dev_attr.attr,
>  	&iio_dev_attr_accel_z_peak_raw.dev_attr.attr,
>  	&iio_dev_attr_accel_xyz_squared_peak_raw.dev_attr.attr,
>  	&iio_dev_attr_temp_raw.dev_attr.attr,
>  	&iio_const_attr_temp_scale.dev_attr.attr,
> -	&iio_const_attr_available_sampling_frequency.dev_attr.attr,
> +	&iio_const_attr_sampling_frequency_available.dev_attr.attr,
>  	&iio_dev_attr_reset.dev_attr.attr,
>  	&iio_const_attr_name.dev_attr.attr,
>  	NULL
> diff --git a/drivers/staging/iio/accel/adis16240_ring.c b/drivers/staging/iio/accel/adis16240_ring.c
> index 581d0e5..9282372 100644
> --- a/drivers/staging/iio/accel/adis16240_ring.c
> +++ b/drivers/staging/iio/accel/adis16240_ring.c
> @@ -17,7 +17,7 @@
>  #include "../trigger.h"
>  #include "adis16240.h"
>  
> -static IIO_SCAN_EL_C(supply, ADIS16240_SCAN_SUPPLY, IIO_UNSIGNED(10),
> +static IIO_SCAN_EL_C(in_supply, ADIS16240_SCAN_SUPPLY, IIO_UNSIGNED(10),
>  		ADIS16240_SUPPLY_OUT, NULL);
>  static IIO_SCAN_EL_C(accel_x, ADIS16240_SCAN_ACC_X, IIO_SIGNED(10),
>  		ADIS16240_XACCL_OUT, NULL);
> @@ -25,7 +25,7 @@ static IIO_SCAN_EL_C(accel_y, ADIS16240_SCAN_ACC_Y, IIO_SIGNED(10),
>  		ADIS16240_YACCL_OUT, NULL);
>  static IIO_SCAN_EL_C(accel_z, ADIS16240_SCAN_ACC_Z, IIO_SIGNED(10),
>  		ADIS16240_ZACCL_OUT, NULL);
> -static IIO_SCAN_EL_C(aux_adc, ADIS16240_SCAN_AUX_ADC, IIO_UNSIGNED(10),
> +static IIO_SCAN_EL_C(in0, ADIS16240_SCAN_AUX_ADC, IIO_UNSIGNED(10),
>  		ADIS16240_AUX_ADC, NULL);
>  static IIO_SCAN_EL_C(temp, ADIS16240_SCAN_TEMP, IIO_UNSIGNED(10),
>  		ADIS16240_TEMP_OUT, NULL);
> @@ -33,11 +33,11 @@ static IIO_SCAN_EL_C(temp, ADIS16240_SCAN_TEMP, IIO_UNSIGNED(10),
>  static IIO_SCAN_EL_TIMESTAMP(6);
>  
>  static struct attribute *adis16240_scan_el_attrs[] = {
> -	&iio_scan_el_supply.dev_attr.attr,
> +	&iio_scan_el_in_supply.dev_attr.attr,
>  	&iio_scan_el_accel_x.dev_attr.attr,
>  	&iio_scan_el_accel_y.dev_attr.attr,
>  	&iio_scan_el_accel_z.dev_attr.attr,
> -	&iio_scan_el_aux_adc.dev_attr.attr,
> +	&iio_scan_el_in0.dev_attr.attr,
>  	&iio_scan_el_temp.dev_attr.attr,
>  	&iio_scan_el_timestamp.dev_attr.attr,
>  	NULL,
> @@ -169,12 +169,12 @@ int adis16240_configure_ring(struct iio_dev *indio_dev)
>  	ring->owner = THIS_MODULE;
>  
>  	/* Set default scan mode */
> -	iio_scan_mask_set(ring, iio_scan_el_supply.number);
> +	iio_scan_mask_set(ring, iio_scan_el_in_supply.number);
>  	iio_scan_mask_set(ring, iio_scan_el_accel_x.number);
>  	iio_scan_mask_set(ring, iio_scan_el_accel_y.number);
>  	iio_scan_mask_set(ring, iio_scan_el_accel_z.number);
>  	iio_scan_mask_set(ring, iio_scan_el_temp.number);
> -	iio_scan_mask_set(ring, iio_scan_el_aux_adc.number);
> +	iio_scan_mask_set(ring, iio_scan_el_in0.number);
>  
>  	ret = iio_alloc_pollfunc(indio_dev, NULL, &adis16240_poll_func_th);
>  	if (ret)
> diff --git a/drivers/staging/iio/accel/inclinometer.h b/drivers/staging/iio/accel/inclinometer.h
> index 5b49f83..faf73d7 100644
> --- a/drivers/staging/iio/accel/inclinometer.h
> +++ b/drivers/staging/iio/accel/inclinometer.h
> @@ -21,3 +21,5 @@
>  #define IIO_DEV_ATTR_INCLI_Z_OFFSET(_mode, _show, _store, _addr) \
>  	IIO_DEVICE_ATTR(incli_z_offset, _mode, _show, _store, _addr)
>  
> +#define IIO_CONST_ATTR_INCLI_SCALE(_string) \
> +	IIO_CONST_ATTR(incli_scale, _string)
> diff --git a/drivers/staging/iio/accel/lis3l02dq_core.c b/drivers/staging/iio/accel/lis3l02dq_core.c
> index 0ee9337..655f2b7 100644
> --- a/drivers/staging/iio/accel/lis3l02dq_core.c
> +++ b/drivers/staging/iio/accel/lis3l02dq_core.c
> @@ -731,7 +731,7 @@ static struct attribute_group lis3l02dq_event_attribute_group = {
>  	.attrs = lis3l02dq_event_attributes,
>  };
>  
> -static IIO_CONST_ATTR(name, "lis3l02dq");
> +static IIO_CONST_ATTR_NAME("lis3l02dq");
>  static IIO_CONST_ATTR(accel_scale, "0.00958");
>  
>  static struct attribute *lis3l02dq_attributes[] = {
> diff --git a/drivers/staging/iio/accel/sca3000_core.c b/drivers/staging/iio/accel/sca3000_core.c
> index b78b6b6..0eb2c4c 100644
> --- a/drivers/staging/iio/accel/sca3000_core.c
> +++ b/drivers/staging/iio/accel/sca3000_core.c
> @@ -721,8 +721,8 @@ error_ret:
>  }
>  static IIO_DEV_ATTR_TEMP_RAW(sca3000_read_temp);
>  
> -static IIO_CONST_ATTR(temp_scale, "0.555556");
> -static IIO_CONST_ATTR(temp_offset, "-214.6");
> +static IIO_CONST_ATTR_TEMP_SCALE("0.555556");
> +static IIO_CONST_ATTR_TEMP_OFFSET("-214.6");
>  
>  /**
>   * sca3000_show_thresh() sysfs query of a threshold
> diff --git a/drivers/staging/iio/adc/adc.h b/drivers/staging/iio/adc/adc.h
> index 7841e6a..6cb916e 100644
> --- a/drivers/staging/iio/adc/adc.h
> +++ b/drivers/staging/iio/adc/adc.h
> @@ -27,5 +27,14 @@
>  			      NULL,					\
>  			      _addr)
>  
> +
> +#define IIO_CONST_ATTR_IN_NAMED_OFFSET(_name, _string)			\
> +	IIO_CONST_ATTR(in_##_name##_offset, _string)
> +
> +#define IIO_CONST_ATTR_IN_NAMED_SCALE(_name, _string)			\
> +	IIO_CONST_ATTR(in_##_name##_scale, _string)
A lot of white space here.  Could you cut it down to one line please.,
> +
> +
> +
>  #define IIO_EVENT_CODE_IN_HIGH_THRESH(a) (IIO_EVENT_CODE_ADC_BASE  + a)
>  #define IIO_EVENT_CODE_IN_LOW_THRESH(a) (IIO_EVENT_CODE_ADC_BASE  + a + 32)
> diff --git a/drivers/staging/iio/gyro/adis16260_core.c b/drivers/staging/iio/gyro/adis16260_core.c
> index 134dfaa..ac5378b 100644
> --- a/drivers/staging/iio/gyro/adis16260_core.c
> +++ b/drivers/staging/iio/gyro/adis16260_core.c
> @@ -445,22 +445,22 @@ err_ret:
>  static IIO_DEV_ATTR_IN_NAMED_RAW(supply,
>  				adis16260_read_12bit_unsigned,
>  				ADIS16260_SUPPLY_OUT);
> -static IIO_CONST_ATTR(in_supply_scale, "0.0018315");
> +static IIO_CONST_ATTR_IN_NAMED_SCALE(supply, "0.0018315");
>  
>  static IIO_DEV_ATTR_GYRO(adis16260_read_14bit_signed,
>  		ADIS16260_GYRO_OUT);
> -static IIO_DEV_ATTR_GYRO_SCALE(S_IWUSR | S_IRUGO,
> +static IIO_DEV_ATTR_GYRO_CALIBSCALE(S_IWUSR | S_IRUGO,
>  		adis16260_read_14bit_signed,
>  		adis16260_write_16bit,
>  		ADIS16260_GYRO_SCALE);
> -static IIO_DEV_ATTR_GYRO_OFFSET(S_IWUSR | S_IRUGO,
> +static IIO_DEV_ATTR_GYRO_CALIBBIAS(S_IWUSR | S_IRUGO,
>  		adis16260_read_12bit_signed,
>  		adis16260_write_16bit,
>  		ADIS16260_GYRO_OFF);
>  
>  static IIO_DEV_ATTR_TEMP_RAW(adis16260_read_12bit_unsigned);
> -static IIO_CONST_ATTR(temp_offset, "25");
> -static IIO_CONST_ATTR(temp_scale, "0.1453");
> +static IIO_CONST_ATTR_TEMP_OFFSET("25");
> +static IIO_CONST_ATTR_TEMP_SCALE("0.1453");
>  
>  static IIO_DEV_ATTR_IN_RAW(0, adis16260_read_12bit_unsigned,
>  		ADIS16260_AUX_ADC);
> @@ -474,9 +474,9 @@ static IIO_DEV_ATTR_ANGL(adis16260_read_14bit_signed,
>  
>  static IIO_DEVICE_ATTR(reset, S_IWUSR, NULL, adis16260_write_reset, 0);
>  
> -static IIO_CONST_ATTR_AVAIL_SAMP_FREQ("256 2048");
> +static IIO_CONST_ATTR_SAMP_FREQ_AVAIL("256 2048");
>  
> -static IIO_CONST_ATTR(name, "adis16260");
> +static IIO_CONST_ATTR_NAME("adis16260");
>  
>  static struct attribute *adis16260_event_attributes[] = {
>  	NULL
> @@ -490,8 +490,8 @@ static struct attribute *adis16260_attributes[] = {
>  	&iio_dev_attr_in_supply_raw.dev_attr.attr,
>  	&iio_const_attr_in_supply_scale.dev_attr.attr,
>  	&iio_dev_attr_gyro_raw.dev_attr.attr,
> -	&iio_dev_attr_gyro_scale.dev_attr.attr,
> -	&iio_dev_attr_gyro_offset.dev_attr.attr,
ouch.  I definitely need to start checking this stuff more carefully
in driver submissions.
> +	&iio_dev_attr_gyro_calibscale.dev_attr.attr,
> +	&iio_dev_attr_gyro_calibbias.dev_attr.attr,
>  	&iio_dev_attr_angl_raw.dev_attr.attr,
>  	&iio_dev_attr_temp_raw.dev_attr.attr,
>  	&iio_const_attr_temp_offset.dev_attr.attr,
> @@ -499,7 +499,7 @@ static struct attribute *adis16260_attributes[] = {
>  	&iio_dev_attr_in0_raw.dev_attr.attr,
>  	&iio_const_attr_in0_scale.dev_attr.attr,
>  	&iio_dev_attr_sampling_frequency.dev_attr.attr,
> -	&iio_const_attr_available_sampling_frequency.dev_attr.attr,
> +	&iio_const_attr_sampling_frequency_available.dev_attr.attr,
>  	&iio_dev_attr_reset.dev_attr.attr,
>  	&iio_const_attr_name.dev_attr.attr,
>  	NULL
> diff --git a/drivers/staging/iio/gyro/adis16260_ring.c b/drivers/staging/iio/gyro/adis16260_ring.c
> index 0334860..659a672 100644
> --- a/drivers/staging/iio/gyro/adis16260_ring.c
> +++ b/drivers/staging/iio/gyro/adis16260_ring.c
> @@ -17,11 +17,11 @@
>  #include "../trigger.h"
>  #include "adis16260.h"
>  
> -static IIO_SCAN_EL_C(supply, ADIS16260_SCAN_SUPPLY, IIO_UNSIGNED(12),
> +static IIO_SCAN_EL_C(in_supply, ADIS16260_SCAN_SUPPLY, IIO_UNSIGNED(12),
>  		ADIS16260_SUPPLY_OUT, NULL);
>  static IIO_SCAN_EL_C(gyro, ADIS16260_SCAN_GYRO, IIO_SIGNED(14),
>  		ADIS16260_GYRO_OUT, NULL);
> -static IIO_SCAN_EL_C(aux_adc, ADIS16260_SCAN_AUX_ADC, IIO_SIGNED(14),
> +static IIO_SCAN_EL_C(in0, ADIS16260_SCAN_AUX_ADC, IIO_SIGNED(14),
>  		ADIS16260_AUX_ADC, NULL);
>  static IIO_SCAN_EL_C(temp, ADIS16260_SCAN_TEMP, IIO_UNSIGNED(12),
>  		ADIS16260_TEMP_OUT, NULL);
> @@ -31,9 +31,9 @@ static IIO_SCAN_EL_C(angl, ADIS16260_SCAN_ANGL, IIO_UNSIGNED(12),
>  static IIO_SCAN_EL_TIMESTAMP(5);
>  
>  static struct attribute *adis16260_scan_el_attrs[] = {
> -	&iio_scan_el_supply.dev_attr.attr,
> +	&iio_scan_el_in_supply.dev_attr.attr,
>  	&iio_scan_el_gyro.dev_attr.attr,
> -	&iio_scan_el_aux_adc.dev_attr.attr,
> +	&iio_scan_el_in0.dev_attr.attr,
>  	&iio_scan_el_temp.dev_attr.attr,
>  	&iio_scan_el_angl.dev_attr.attr,
>  	&iio_scan_el_timestamp.dev_attr.attr,
> @@ -172,9 +172,9 @@ int adis16260_configure_ring(struct iio_dev *indio_dev)
>  	ring->owner = THIS_MODULE;
>  
>  	/* Set default scan mode */
> -	iio_scan_mask_set(ring, iio_scan_el_supply.number);
> +	iio_scan_mask_set(ring, iio_scan_el_in_supply.number);
>  	iio_scan_mask_set(ring, iio_scan_el_gyro.number);
> -	iio_scan_mask_set(ring, iio_scan_el_aux_adc.number);
> +	iio_scan_mask_set(ring, iio_scan_el_in0.number);
>  	iio_scan_mask_set(ring, iio_scan_el_temp.number);
>  	iio_scan_mask_set(ring, iio_scan_el_angl.number);
>  
> diff --git a/drivers/staging/iio/gyro/gyro.h b/drivers/staging/iio/gyro/gyro.h
> index f68edab..98b837b 100644
> --- a/drivers/staging/iio/gyro/gyro.h
> +++ b/drivers/staging/iio/gyro/gyro.h
> @@ -3,6 +3,9 @@
>  
>  /* Gyroscope types of attribute */
>  
> +#define IIO_CONST_ATTR_GYRO_OFFSET(_string)	\
> +	IIO_CONST_ATTR(gyro_offset, _string)
> +
>  #define IIO_DEV_ATTR_GYRO_OFFSET(_mode, _show, _store, _addr)	\
>  	IIO_DEVICE_ATTR(gyro_offset, _mode, _show, _store, _addr)
>  
> @@ -15,18 +18,45 @@
>  #define IIO_DEV_ATTR_GYRO_Z_OFFSET(_mode, _show, _store, _addr)	\
>  	IIO_DEVICE_ATTR(gyro_z_offset, _mode, _show, _store, _addr)
>  
> -#define IIO_DEV_ATTR_GYRO_X_GAIN(_mode, _show, _store, _addr)		\
> -	IIO_DEVICE_ATTR(gyro_x_gain, _mode, _show, _store, _addr)
> -
> -#define IIO_DEV_ATTR_GYRO_Y_GAIN(_mode, _show, _store, _addr)		\
> -	IIO_DEVICE_ATTR(gyro_y_gain, _mode, _show, _store, _addr)
> -
> -#define IIO_DEV_ATTR_GYRO_Z_GAIN(_mode, _show, _store, _addr)		\
> -	IIO_DEVICE_ATTR(gyro_z_gain, _mode, _show, _store, _addr)
> +#define IIO_CONST_ATTR_GYRO_SCALE(_string)		\
> +	IIO_CONST_ATTR(gyro_scale, _string)
>  
>  #define IIO_DEV_ATTR_GYRO_SCALE(_mode, _show, _store, _addr)		\
>  	IIO_DEVICE_ATTR(gyro_scale, S_IRUGO, _show, _store, _addr)
>  
> +#define IIO_DEV_ATTR_GYRO_X_SCALE(_mode, _show, _store, _addr)		\
> +	IIO_DEVICE_ATTR(gyro_x_scale, _mode, _show, _store, _addr)
> +
> +#define IIO_DEV_ATTR_GYRO_Y_SCALE(_mode, _show, _store, _addr)		\
> +	IIO_DEVICE_ATTR(gyro_y_scale, _mode, _show, _store, _addr)
> +
> +#define IIO_DEV_ATTR_GYRO_Z_SCALE(_mode, _show, _store, _addr)		\
> +	IIO_DEVICE_ATTR(gyro_z_scale, _mode, _show, _store, _addr)
> +
> +#define IIO_DEV_ATTR_GYRO_CALIBBIAS(_mode, _show, _store, _addr)		\
> +	IIO_DEVICE_ATTR(gyro_calibbias, S_IRUGO, _show, _store, _addr)
> +
> +#define IIO_DEV_ATTR_GYRO_X_CALIBBIAS(_mode, _show, _store, _addr)		\
> +	IIO_DEVICE_ATTR(gyro_x_calibbias, _mode, _show, _store, _addr)
> +
> +#define IIO_DEV_ATTR_GYRO_Y_CALIBBIAS(_mode, _show, _store, _addr)		\
> +	IIO_DEVICE_ATTR(gyro_y_calibbias, _mode, _show, _store, _addr)
> +
> +#define IIO_DEV_ATTR_GYRO_Z_CALIBBIAS(_mode, _show, _store, _addr)		\
> +	IIO_DEVICE_ATTR(gyro_z_calibbias, _mode, _show, _store, _addr)
> +
> +#define IIO_DEV_ATTR_GYRO_CALIBSCALE(_mode, _show, _store, _addr)		\
> +	IIO_DEVICE_ATTR(gyro_calibscale, S_IRUGO, _show, _store, _addr)
> +
> +#define IIO_DEV_ATTR_GYRO_X_CALIBSCALE(_mode, _show, _store, _addr)		\
> +	IIO_DEVICE_ATTR(gyro_x_calibscale, _mode, _show, _store, _addr)
> +
> +#define IIO_DEV_ATTR_GYRO_Y_CALIBSCALE(_mode, _show, _store, _addr)		\
> +	IIO_DEVICE_ATTR(gyro_y_calibscale, _mode, _show, _store, _addr)
> +
> +#define IIO_DEV_ATTR_GYRO_Z_CALIBSCALE(_mode, _show, _store, _addr)		\
> +	IIO_DEVICE_ATTR(gyro_z_calibscale, _mode, _show, _store, _addr)
> +
>  #define IIO_DEV_ATTR_GYRO(_show, _addr)			\
>  	IIO_DEVICE_ATTR(gyro_raw, S_IRUGO, _show, NULL, _addr)
>  
> diff --git a/drivers/staging/iio/imu/adis16300_core.c b/drivers/staging/iio/imu/adis16300_core.c
> index f1950d5..168e8b3 100644
> --- a/drivers/staging/iio/imu/adis16300_core.c
> +++ b/drivers/staging/iio/imu/adis16300_core.c
> @@ -503,28 +503,33 @@ err_ret:
>  	return ret;
>  }
>  
> -static IIO_DEV_ATTR_ACCEL_X_OFFSET(S_IWUSR | S_IRUGO,
> +static IIO_DEV_ATTR_GYRO_X_CALIBBIAS(S_IWUSR | S_IRUGO,
> +		adis16300_read_12bit_signed,
> +		adis16300_write_16bit,
> +		ADIS16300_XGYRO_OFF);
> +
> +static IIO_DEV_ATTR_ACCEL_X_CALIBBIAS(S_IWUSR | S_IRUGO,
>  		adis16300_read_12bit_signed,
>  		adis16300_write_16bit,
>  		ADIS16300_XACCL_OFF);
>  
> -static IIO_DEV_ATTR_ACCEL_Y_OFFSET(S_IWUSR | S_IRUGO,
> +static IIO_DEV_ATTR_ACCEL_Y_CALIBBIAS(S_IWUSR | S_IRUGO,
>  		adis16300_read_12bit_signed,
>  		adis16300_write_16bit,
>  		ADIS16300_YACCL_OFF);
>  
> -static IIO_DEV_ATTR_ACCEL_Z_OFFSET(S_IWUSR | S_IRUGO,
> +static IIO_DEV_ATTR_ACCEL_Z_CALIBBIAS(S_IWUSR | S_IRUGO,
>  		adis16300_read_12bit_signed,
>  		adis16300_write_16bit,
>  		ADIS16300_ZACCL_OFF);
>  
>  static IIO_DEV_ATTR_IN_NAMED_RAW(supply, adis16300_read_14bit_unsigned,
>  			   ADIS16300_SUPPLY_OUT);
> -static IIO_CONST_ATTR(in_supply_scale, "0.00242");
> +static IIO_CONST_ATTR_IN_NAMED_SCALE(supply, "0.00242");
>  
>  static IIO_DEV_ATTR_GYRO_X(adis16300_read_14bit_signed,
>  		ADIS16300_XGYRO_OUT);
> -static IIO_CONST_ATTR(gyro_scale, "0.05 deg/s");
> +static IIO_CONST_ATTR_GYRO_SCALE("0.05 deg/s");
>  
>  static IIO_DEV_ATTR_ACCEL_X(adis16300_read_14bit_signed,
>  		ADIS16300_XACCL_OUT);
> @@ -532,17 +537,17 @@ static IIO_DEV_ATTR_ACCEL_Y(adis16300_read_14bit_signed,
>  		ADIS16300_YACCL_OUT);
>  static IIO_DEV_ATTR_ACCEL_Z(adis16300_read_14bit_signed,
>  		ADIS16300_ZACCL_OUT);
> -static IIO_CONST_ATTR(accel_scale, "0.0006 g");
> +static IIO_CONST_ATTR_ACCEL_SCALE("0.0006 g");
Abi says that units should be m/s^2.  Also we shouldn't have units
in the attributes.   I've been meaning to clear them out.  They
just make userspace code more complex for no gain.
>  
>  static IIO_DEV_ATTR_INCLI_X(adis16300_read_13bit_signed,
>  		ADIS16300_XINCLI_OUT);
>  static IIO_DEV_ATTR_INCLI_Y(adis16300_read_13bit_signed,
>  		ADIS16300_YINCLI_OUT);
> -static IIO_CONST_ATTR(incli_scale, "0.044 d");
> +static IIO_CONST_ATTR_INCLI_SCALE("0.044 deg");
>  
>  static IIO_DEV_ATTR_TEMP_RAW(adis16300_read_12bit_unsigned);
> -static IIO_CONST_ATTR(temp_offset, "198.16 K");
> -static IIO_CONST_ATTR(temp_scale, "0.14 K");
> +static IIO_CONST_ATTR_TEMP_OFFSET("198.16 K");
> +static IIO_CONST_ATTR_TEMP_SCALE("0.14 K");
These need to be suitable for conversion to milli degrees C to match
hwmon.
>  
>  static IIO_DEV_ATTR_IN_RAW(0, adis16300_read_12bit_unsigned,
>  		ADIS16300_AUX_ADC);
> @@ -554,9 +559,9 @@ static IIO_DEV_ATTR_SAMP_FREQ(S_IWUSR | S_IRUGO,
>  
>  static IIO_DEVICE_ATTR(reset, S_IWUSR, NULL, adis16300_write_reset, 0);
>  
> -static IIO_CONST_ATTR_AVAIL_SAMP_FREQ("409 546 819 1638");
> +static IIO_CONST_ATTR_SAMP_FREQ_AVAIL("409 546 819 1638");
>  
> -static IIO_CONST_ATTR(name, "adis16300");
> +static IIO_CONST_ATTR_NAME("adis16300");
>  
>  static struct attribute *adis16300_event_attributes[] = {
>  	NULL
> @@ -567,9 +572,10 @@ static struct attribute_group adis16300_event_attribute_group = {
>  };
>  
>  static struct attribute *adis16300_attributes[] = {
> -	&iio_dev_attr_accel_x_offset.dev_attr.attr,
> -	&iio_dev_attr_accel_y_offset.dev_attr.attr,
> -	&iio_dev_attr_accel_z_offset.dev_attr.attr,
> +	&iio_dev_attr_gyro_x_calibbias.dev_attr.attr,
> +	&iio_dev_attr_accel_x_calibbias.dev_attr.attr,
> +	&iio_dev_attr_accel_y_calibbias.dev_attr.attr,
> +	&iio_dev_attr_accel_z_calibbias.dev_attr.attr,
>  	&iio_dev_attr_in_supply_raw.dev_attr.attr,
>  	&iio_const_attr_in_supply_scale.dev_attr.attr,
>  	&iio_dev_attr_gyro_x_raw.dev_attr.attr,
> @@ -587,7 +593,7 @@ static struct attribute *adis16300_attributes[] = {
>  	&iio_dev_attr_in0_raw.dev_attr.attr,
>  	&iio_const_attr_in0_scale.dev_attr.attr,
>  	&iio_dev_attr_sampling_frequency.dev_attr.attr,
> -	&iio_const_attr_available_sampling_frequency.dev_attr.attr,
> +	&iio_const_attr_sampling_frequency_available.dev_attr.attr,
>  	&iio_dev_attr_reset.dev_attr.attr,
>  	&iio_const_attr_name.dev_attr.attr,
>  	NULL
> diff --git a/drivers/staging/iio/imu/adis16300_ring.c b/drivers/staging/iio/imu/adis16300_ring.c
> index 742cad6..0e09051 100644
> --- a/drivers/staging/iio/imu/adis16300_ring.c
> +++ b/drivers/staging/iio/imu/adis16300_ring.c
> @@ -17,7 +17,7 @@
>  #include "../trigger.h"
>  #include "adis16300.h"
>  
> -static IIO_SCAN_EL_C(supply, ADIS16300_SCAN_SUPPLY, IIO_UNSIGNED(14),
> +static IIO_SCAN_EL_C(in_supply, ADIS16300_SCAN_SUPPLY, IIO_UNSIGNED(14),
>  		     ADIS16300_SUPPLY_OUT, NULL);
>  
>  static IIO_SCAN_EL_C(gyro_x, ADIS16300_SCAN_GYRO_X, IIO_SIGNED(14),
> @@ -32,7 +32,7 @@ static IIO_SCAN_EL_C(accel_z, ADIS16300_SCAN_ACC_Z, IIO_SIGNED(14),
>  
>  static IIO_SCAN_EL_C(temp, ADIS16300_SCAN_TEMP, IIO_UNSIGNED(12),
>  		     ADIS16300_TEMP_OUT, NULL);
> -static IIO_SCAN_EL_C(adc_0, ADIS16300_SCAN_ADC_0, IIO_UNSIGNED(12),
> +static IIO_SCAN_EL_C(in0, ADIS16300_SCAN_ADC_0, IIO_UNSIGNED(12),
>  		     ADIS16300_AUX_ADC, NULL);
>  
>  static IIO_SCAN_EL_C(incli_x, ADIS16300_SCAN_INCLI_X, IIO_SIGNED(12),
> @@ -43,7 +43,7 @@ static IIO_SCAN_EL_C(incli_y, ADIS16300_SCAN_INCLI_Y, IIO_SIGNED(12),
>  static IIO_SCAN_EL_TIMESTAMP(9);
>  
>  static struct attribute *adis16300_scan_el_attrs[] = {
> -	&iio_scan_el_supply.dev_attr.attr,
> +	&iio_scan_el_in_supply.dev_attr.attr,
>  	&iio_scan_el_gyro_x.dev_attr.attr,
>  	&iio_scan_el_temp.dev_attr.attr,
>  	&iio_scan_el_accel_x.dev_attr.attr,
> @@ -51,7 +51,7 @@ static struct attribute *adis16300_scan_el_attrs[] = {
>  	&iio_scan_el_accel_z.dev_attr.attr,
>  	&iio_scan_el_incli_x.dev_attr.attr,
>  	&iio_scan_el_incli_y.dev_attr.attr,
> -	&iio_scan_el_adc_0.dev_attr.attr,
> +	&iio_scan_el_in0.dev_attr.attr,
>  	&iio_scan_el_timestamp.dev_attr.attr,
>  	NULL,
>  };
> @@ -196,13 +196,13 @@ int adis16300_configure_ring(struct iio_dev *indio_dev)
>  	ring->owner = THIS_MODULE;
>  
>  	/* Set default scan mode */
> -	iio_scan_mask_set(ring, iio_scan_el_supply.number);
> +	iio_scan_mask_set(ring, iio_scan_el_in_supply.number);
>  	iio_scan_mask_set(ring, iio_scan_el_gyro_x.number);
>  	iio_scan_mask_set(ring, iio_scan_el_accel_x.number);
>  	iio_scan_mask_set(ring, iio_scan_el_accel_y.number);
>  	iio_scan_mask_set(ring, iio_scan_el_accel_z.number);
>  	iio_scan_mask_set(ring, iio_scan_el_temp.number);
> -	iio_scan_mask_set(ring, iio_scan_el_adc_0.number);
> +	iio_scan_mask_set(ring, iio_scan_el_in0.number);
>  	iio_scan_mask_set(ring, iio_scan_el_incli_x.number);
>  	iio_scan_mask_set(ring, iio_scan_el_incli_y.number);
>  
> diff --git a/drivers/staging/iio/imu/adis16350_core.c b/drivers/staging/iio/imu/adis16350_core.c
> index 1575b7b..d1f1015 100644
> --- a/drivers/staging/iio/imu/adis16350_core.c
> +++ b/drivers/staging/iio/imu/adis16350_core.c
> @@ -475,24 +475,39 @@ err_ret:
>  	return ret;
>  }
>  
> -static IIO_DEV_ATTR_ACCEL_X_OFFSET(S_IWUSR | S_IRUGO,
> +static IIO_DEV_ATTR_GYRO_X_CALIBBIAS(S_IWUSR | S_IRUGO,
> +		adis16350_read_12bit_signed,
> +		adis16350_write_16bit,
> +		ADIS16350_XGYRO_OFF);
> +
> +static IIO_DEV_ATTR_GYRO_Y_CALIBBIAS(S_IWUSR | S_IRUGO,
> +		adis16350_read_12bit_signed,
> +		adis16350_write_16bit,
> +		ADIS16350_YGYRO_OFF);
> +
> +static IIO_DEV_ATTR_GYRO_Z_CALIBBIAS(S_IWUSR | S_IRUGO,
> +		adis16350_read_12bit_signed,
> +		adis16350_write_16bit,
> +		ADIS16350_ZGYRO_OFF);
> +
Good point.  I never even noticed these weren't present in the
driver.


> +static IIO_DEV_ATTR_ACCEL_X_CALIBBIAS(S_IWUSR | S_IRUGO,
>  		adis16350_read_12bit_signed,
>  		adis16350_write_16bit,
>  		ADIS16350_XACCL_OFF);
>  
> -static IIO_DEV_ATTR_ACCEL_Y_OFFSET(S_IWUSR | S_IRUGO,
> +static IIO_DEV_ATTR_ACCEL_Y_CALIBBIAS(S_IWUSR | S_IRUGO,
>  		adis16350_read_12bit_signed,
>  		adis16350_write_16bit,
>  		ADIS16350_YACCL_OFF);
>  
> -static IIO_DEV_ATTR_ACCEL_Z_OFFSET(S_IWUSR | S_IRUGO,
> +static IIO_DEV_ATTR_ACCEL_Z_CALIBBIAS(S_IWUSR | S_IRUGO,
>  		adis16350_read_12bit_signed,
>  		adis16350_write_16bit,
>  		ADIS16350_ZACCL_OFF);
>  
>  static IIO_DEV_ATTR_IN_NAMED_RAW(supply, adis16350_read_12bit_unsigned,
>  		ADIS16350_SUPPLY_OUT);
> -static IIO_CONST_ATTR(in_supply_scale, "0.002418");
> +static IIO_CONST_ATTR_IN_NAMED_SCALE(supply, "0.002418");
>  
>  static IIO_DEV_ATTR_GYRO_X(adis16350_read_14bit_signed,
>  		ADIS16350_XGYRO_OUT);
> @@ -500,7 +515,7 @@ static IIO_DEV_ATTR_GYRO_Y(adis16350_read_14bit_signed,
>  		ADIS16350_YGYRO_OUT);
>  static IIO_DEV_ATTR_GYRO_Z(adis16350_read_14bit_signed,
>  		ADIS16350_ZGYRO_OUT);
> -static IIO_CONST_ATTR(gyro_scale, "0.05");
> +static IIO_CONST_ATTR_GYRO_SCALE("0.05");
>  
>  static IIO_DEV_ATTR_ACCEL_X(adis16350_read_14bit_signed,
>  		ADIS16350_XACCL_OUT);
> @@ -508,7 +523,7 @@ static IIO_DEV_ATTR_ACCEL_Y(adis16350_read_14bit_signed,
>  		ADIS16350_YACCL_OUT);
>  static IIO_DEV_ATTR_ACCEL_Z(adis16350_read_14bit_signed,
>  		ADIS16350_ZACCL_OUT);
> -static IIO_CONST_ATTR(accel_scale, "0.00333");
> +static IIO_CONST_ATTR_ACCEL_SCALE("0.00333");
>  
>  static IIO_DEVICE_ATTR(temp_x_raw, S_IRUGO, adis16350_read_12bit_signed,
>  		NULL, ADIS16350_XTEMP_OUT);
> @@ -516,7 +531,7 @@ static IIO_DEVICE_ATTR(temp_y_raw, S_IRUGO, adis16350_read_12bit_signed,
>  		NULL, ADIS16350_YTEMP_OUT);
>  static IIO_DEVICE_ATTR(temp_z_raw, S_IRUGO, adis16350_read_12bit_signed,
>  		NULL, ADIS16350_ZTEMP_OUT);
> -static IIO_CONST_ATTR(temp_scale, "0.0005");
> +static IIO_CONST_ATTR_TEMP_SCALE("0.0005");
>  
>  static IIO_DEV_ATTR_IN_RAW(0, adis16350_read_12bit_unsigned,
>  		ADIS16350_AUX_ADC);
> @@ -529,14 +544,17 @@ static IIO_DEV_ATTR_SAMP_FREQ(S_IWUSR | S_IRUGO,
>  static IIO_DEVICE_ATTR(reset, S_IWUSR, NULL,
>  		adis16350_write_reset, 0);
>  
> -static IIO_CONST_ATTR_AVAIL_SAMP_FREQ("409 546 819 1638");
> +static IIO_CONST_ATTR_SAMP_FREQ_AVAIL("409 546 819 1638");
>  
> -static IIO_CONST_ATTR(name, "adis16350");
> +static IIO_CONST_ATTR_NAME("adis16350");
>  
>  static struct attribute *adis16350_attributes[] = {
> -	&iio_dev_attr_accel_x_offset.dev_attr.attr,
> -	&iio_dev_attr_accel_y_offset.dev_attr.attr,
> -	&iio_dev_attr_accel_z_offset.dev_attr.attr,
> +	&iio_dev_attr_gyro_x_calibbias.dev_attr.attr,
> +	&iio_dev_attr_gyro_y_calibbias.dev_attr.attr,
> +	&iio_dev_attr_gyro_z_calibbias.dev_attr.attr,
> +	&iio_dev_attr_accel_x_calibbias.dev_attr.attr,
> +	&iio_dev_attr_accel_y_calibbias.dev_attr.attr,
> +	&iio_dev_attr_accel_z_calibbias.dev_attr.attr,
>  	&iio_dev_attr_in_supply_raw.dev_attr.attr,
>  	&iio_const_attr_in_supply_scale.dev_attr.attr,
>  	&iio_dev_attr_gyro_x_raw.dev_attr.attr,
> @@ -554,7 +572,7 @@ static struct attribute *adis16350_attributes[] = {
>  	&iio_dev_attr_in0_raw.dev_attr.attr,
>  	&iio_const_attr_in0_scale.dev_attr.attr,
>  	&iio_dev_attr_sampling_frequency.dev_attr.attr,
> -	&iio_const_attr_available_sampling_frequency.dev_attr.attr,
> +	&iio_const_attr_sampling_frequency_available.dev_attr.attr,
>  	&iio_dev_attr_reset.dev_attr.attr,
>  	&iio_const_attr_name.dev_attr.attr,
>  	NULL
> diff --git a/drivers/staging/iio/imu/adis16350_ring.c b/drivers/staging/iio/imu/adis16350_ring.c
> index a0b80e4..aefbae5 100644
> --- a/drivers/staging/iio/imu/adis16350_ring.c
> +++ b/drivers/staging/iio/imu/adis16350_ring.c
> @@ -17,7 +17,7 @@
>  #include "../trigger.h"
>  #include "adis16350.h"
>  
> -static IIO_SCAN_EL_C(supply, ADIS16350_SCAN_SUPPLY, IIO_UNSIGNED(12),
> +static IIO_SCAN_EL_C(in_supply, ADIS16350_SCAN_SUPPLY, IIO_UNSIGNED(12),
>  		ADIS16350_SUPPLY_OUT, NULL);
>  
>  static IIO_SCAN_EL_C(gyro_x, ADIS16350_SCAN_GYRO_X, IIO_SIGNED(14),
> @@ -41,13 +41,13 @@ static IIO_SCAN_EL_C(temp_y, ADIS16350_SCAN_TEMP_Y, IIO_SIGNED(12),
>  static IIO_SCAN_EL_C(temp_z, ADIS16350_SCAN_TEMP_Z, IIO_SIGNED(12),
>  		ADIS16350_ZTEMP_OUT, NULL);
>  
> -static IIO_SCAN_EL_C(adc_0, ADIS16350_SCAN_ADC_0, IIO_UNSIGNED(12),
> +static IIO_SCAN_EL_C(in0, ADIS16350_SCAN_ADC_0, IIO_UNSIGNED(12),
>  		ADIS16350_AUX_ADC, NULL);
>  
>  static IIO_SCAN_EL_TIMESTAMP(11);
>  
>  static struct attribute *adis16350_scan_el_attrs[] = {
> -	&iio_scan_el_supply.dev_attr.attr,
> +	&iio_scan_el_in_supply.dev_attr.attr,
>  	&iio_scan_el_gyro_x.dev_attr.attr,
>  	&iio_scan_el_gyro_y.dev_attr.attr,
>  	&iio_scan_el_gyro_z.dev_attr.attr,
> @@ -57,7 +57,7 @@ static struct attribute *adis16350_scan_el_attrs[] = {
>  	&iio_scan_el_temp_x.dev_attr.attr,
>  	&iio_scan_el_temp_y.dev_attr.attr,
>  	&iio_scan_el_temp_z.dev_attr.attr,
> -	&iio_scan_el_adc_0.dev_attr.attr,
> +	&iio_scan_el_in0.dev_attr.attr,
>  	&iio_scan_el_timestamp.dev_attr.attr,
>  	NULL,
>  };
> @@ -196,7 +196,7 @@ int adis16350_configure_ring(struct iio_dev *indio_dev)
>  	ring->owner = THIS_MODULE;
>  
>  	/* Set default scan mode */
> -	iio_scan_mask_set(ring, iio_scan_el_supply.number);
> +	iio_scan_mask_set(ring, iio_scan_el_in_supply.number);
>  	iio_scan_mask_set(ring, iio_scan_el_gyro_x.number);
>  	iio_scan_mask_set(ring, iio_scan_el_gyro_y.number);
>  	iio_scan_mask_set(ring, iio_scan_el_gyro_z.number);
> @@ -206,7 +206,7 @@ int adis16350_configure_ring(struct iio_dev *indio_dev)
>  	iio_scan_mask_set(ring, iio_scan_el_temp_x.number);
>  	iio_scan_mask_set(ring, iio_scan_el_temp_y.number);
>  	iio_scan_mask_set(ring, iio_scan_el_temp_z.number);
> -	iio_scan_mask_set(ring, iio_scan_el_adc_0.number);
> +	iio_scan_mask_set(ring, iio_scan_el_in0.number);
>  
>  	ret = iio_alloc_pollfunc(indio_dev, NULL, &adis16350_poll_func_th);
>  	if (ret)
> diff --git a/drivers/staging/iio/imu/adis16400_core.c b/drivers/staging/iio/imu/adis16400_core.c
> index 6013fee..1765fef 100644
> --- a/drivers/staging/iio/imu/adis16400_core.c
> +++ b/drivers/staging/iio/imu/adis16400_core.c
> @@ -490,24 +490,24 @@ err_ret:
>  	return ret;
>  }
>  
> -static IIO_DEV_ATTR_ACCEL_X_OFFSET(S_IWUSR | S_IRUGO,
> -		adis16400_read_12bit_signed,
> -		adis16400_write_16bit,
> -		ADIS16400_XACCL_OFF);
> +#define ADIS16400_DEV_ATTR_CALIBBIAS(_channel, _reg)		\
> +	IIO_DEV_ATTR_##_channel##_CALIBBIAS(S_IWUSR | S_IRUGO,	\
> +			adis16400_read_12bit_signed,		\
> +			adis16400_write_16bit,			\
> +			_reg)
>  
> -static IIO_DEV_ATTR_ACCEL_Y_OFFSET(S_IWUSR | S_IRUGO,
> -		adis16400_read_12bit_signed,
> -		adis16400_write_16bit,
> -		ADIS16400_YACCL_OFF);
> +static ADIS16400_DEV_ATTR_CALIBBIAS(GYRO_X, ADIS16400_XGYRO_OFF);
> +static ADIS16400_DEV_ATTR_CALIBBIAS(GYRO_Y, ADIS16400_XGYRO_OFF);
> +static ADIS16400_DEV_ATTR_CALIBBIAS(GYRO_Z, ADIS16400_XGYRO_OFF);
> +
> +static ADIS16400_DEV_ATTR_CALIBBIAS(ACCEL_X, ADIS16400_XACCL_OFF);
> +static ADIS16400_DEV_ATTR_CALIBBIAS(ACCEL_Y, ADIS16400_XACCL_OFF);
> +static ADIS16400_DEV_ATTR_CALIBBIAS(ACCEL_Z, ADIS16400_XACCL_OFF);
>  
> -static IIO_DEV_ATTR_ACCEL_Z_OFFSET(S_IWUSR | S_IRUGO,
> -		adis16400_read_12bit_signed,
> -		adis16400_write_16bit,
> -		ADIS16400_ZACCL_OFF);
>  
>  static IIO_DEV_ATTR_IN_NAMED_RAW(supply, adis16400_read_14bit_signed,
>  		ADIS16400_SUPPLY_OUT);
> -static IIO_CONST_ATTR(in_supply_scale, "0.002418");
> +static IIO_CONST_ATTR_IN_NAMED_SCALE(supply, "0.002418 V");
>  
>  static IIO_DEV_ATTR_GYRO_X(adis16400_read_14bit_signed,
>  		ADIS16400_XGYRO_OUT);
> @@ -535,12 +535,12 @@ static IIO_CONST_ATTR(magn_scale, "0.0005 Gs");
>  
>  
>  static IIO_DEV_ATTR_TEMP_RAW(adis16400_read_12bit_signed);
> -static IIO_CONST_ATTR(temp_offset, "198.16 K");
> -static IIO_CONST_ATTR(temp_scale, "0.14 K");
> +static IIO_CONST_ATTR_TEMP_OFFSET("198.16 K");
> +static IIO_CONST_ATTR_TEMP_SCALE("0.14 K");
>  
>  static IIO_DEV_ATTR_IN_RAW(0, adis16400_read_12bit_unsigned,
>  		ADIS16400_AUX_ADC);
> -static IIO_CONST_ATTR(in0_scale, "0.000806");
> +static IIO_CONST_ATTR(in0_scale, "0.000806 V");
>  
>  static IIO_DEV_ATTR_SAMP_FREQ(S_IWUSR | S_IRUGO,
>  		adis16400_read_frequency,
> @@ -548,9 +548,9 @@ static IIO_DEV_ATTR_SAMP_FREQ(S_IWUSR | S_IRUGO,
>  
>  static IIO_DEVICE_ATTR(reset, S_IWUSR, NULL, adis16400_write_reset, 0);
>  
> -static IIO_CONST_ATTR_AVAIL_SAMP_FREQ("409 546 819 1638");
> +static IIO_CONST_ATTR_SAMP_FREQ_AVAIL("409 546 819 1638");
>  
> -static IIO_CONST_ATTR(name, "adis16400");
> +static IIO_CONST_ATTR_NAME("adis16400");
>  
>  static struct attribute *adis16400_event_attributes[] = {
>  	NULL
> @@ -561,9 +561,12 @@ static struct attribute_group adis16400_event_attribute_group = {
>  };
>  
>  static struct attribute *adis16400_attributes[] = {
> -	&iio_dev_attr_accel_x_offset.dev_attr.attr,
> -	&iio_dev_attr_accel_y_offset.dev_attr.attr,
> -	&iio_dev_attr_accel_z_offset.dev_attr.attr,
> +	&iio_dev_attr_gyro_x_calibbias.dev_attr.attr,
> +	&iio_dev_attr_gyro_y_calibbias.dev_attr.attr,
> +	&iio_dev_attr_gyro_z_calibbias.dev_attr.attr,
> +	&iio_dev_attr_accel_x_calibbias.dev_attr.attr,
> +	&iio_dev_attr_accel_y_calibbias.dev_attr.attr,
> +	&iio_dev_attr_accel_z_calibbias.dev_attr.attr,
>  	&iio_dev_attr_in_supply_raw.dev_attr.attr,
>  	&iio_const_attr_in_supply_scale.dev_attr.attr,
>  	&iio_dev_attr_gyro_x_raw.dev_attr.attr,
> @@ -584,7 +587,7 @@ static struct attribute *adis16400_attributes[] = {
>  	&iio_dev_attr_in0_raw.dev_attr.attr,
>  	&iio_const_attr_in0_scale.dev_attr.attr,
>  	&iio_dev_attr_sampling_frequency.dev_attr.attr,
> -	&iio_const_attr_available_sampling_frequency.dev_attr.attr,
> +	&iio_const_attr_sampling_frequency_available.dev_attr.attr,
>  	&iio_dev_attr_reset.dev_attr.attr,
>  	&iio_const_attr_name.dev_attr.attr,
>  	NULL
> diff --git a/drivers/staging/iio/imu/adis16400_ring.c b/drivers/staging/iio/imu/adis16400_ring.c
> index 667f77b..de5ef5c 100644
> --- a/drivers/staging/iio/imu/adis16400_ring.c
> +++ b/drivers/staging/iio/imu/adis16400_ring.c
> @@ -17,7 +17,7 @@
>  #include "../trigger.h"
>  #include "adis16400.h"
>  
> -static IIO_SCAN_EL_C(supply, ADIS16400_SCAN_SUPPLY, IIO_SIGNED(14),
> +static IIO_SCAN_EL_C(in_supply, ADIS16400_SCAN_SUPPLY, IIO_SIGNED(14),
>  		     ADIS16400_SUPPLY_OUT, NULL);
>  
>  static IIO_SCAN_EL_C(gyro_x, ADIS16400_SCAN_GYRO_X, IIO_SIGNED(14),
> @@ -43,13 +43,13 @@ static IIO_SCAN_EL_C(magn_z, ADIS16400_SCAN_MAGN_Z, IIO_SIGNED(14),
>  
>  static IIO_SCAN_EL_C(temp, ADIS16400_SCAN_TEMP, IIO_SIGNED(12),
>  		     ADIS16400_TEMP_OUT, NULL);
> -static IIO_SCAN_EL_C(adc_0, ADIS16400_SCAN_ADC_0, IIO_SIGNED(12),
> +static IIO_SCAN_EL_C(in0, ADIS16400_SCAN_ADC_0, IIO_SIGNED(12),
>  		     ADIS16400_AUX_ADC, NULL);
>  
>  static IIO_SCAN_EL_TIMESTAMP(12);
>  
>  static struct attribute *adis16400_scan_el_attrs[] = {
> -	&iio_scan_el_supply.dev_attr.attr,
> +	&iio_scan_el_in_supply.dev_attr.attr,
>  	&iio_scan_el_gyro_x.dev_attr.attr,
>  	&iio_scan_el_gyro_y.dev_attr.attr,
>  	&iio_scan_el_gyro_z.dev_attr.attr,
> @@ -60,7 +60,7 @@ static struct attribute *adis16400_scan_el_attrs[] = {
>  	&iio_scan_el_magn_y.dev_attr.attr,
>  	&iio_scan_el_magn_z.dev_attr.attr,
>  	&iio_scan_el_temp.dev_attr.attr,
> -	&iio_scan_el_adc_0.dev_attr.attr,
> +	&iio_scan_el_in0.dev_attr.attr,
>  	&iio_scan_el_timestamp.dev_attr.attr,
>  	NULL,
>  };
> @@ -205,7 +205,7 @@ int adis16400_configure_ring(struct iio_dev *indio_dev)
>  	ring->owner = THIS_MODULE;
>  
>  	/* Set default scan mode */
> -	iio_scan_mask_set(ring, iio_scan_el_supply.number);
> +	iio_scan_mask_set(ring, iio_scan_el_in_supply.number);
>  	iio_scan_mask_set(ring, iio_scan_el_gyro_x.number);
>  	iio_scan_mask_set(ring, iio_scan_el_gyro_y.number);
>  	iio_scan_mask_set(ring, iio_scan_el_gyro_z.number);
> @@ -216,7 +216,7 @@ int adis16400_configure_ring(struct iio_dev *indio_dev)
>  	iio_scan_mask_set(ring, iio_scan_el_magn_y.number);
>  	iio_scan_mask_set(ring, iio_scan_el_magn_z.number);
>  	iio_scan_mask_set(ring, iio_scan_el_temp.number);
> -	iio_scan_mask_set(ring, iio_scan_el_adc_0.number);
> +	iio_scan_mask_set(ring, iio_scan_el_in0.number);
>  
>  	ret = iio_alloc_pollfunc(indio_dev, NULL, &adis16400_poll_func_th);
>  	if (ret)
> diff --git a/drivers/staging/iio/sysfs.h b/drivers/staging/iio/sysfs.h
> index 6083416..a4d4bb6 100644
> --- a/drivers/staging/iio/sysfs.h
> +++ b/drivers/staging/iio/sysfs.h
> @@ -130,6 +130,13 @@ struct iio_const_attr {
>  	IIO_DEVICE_ATTR(name, S_IRUGO, _show, NULL, 0)
>  
>  /**
> + * IIO_CONST_ATTR_NAME - constant identifier
> + * @_string: the name
> + **/
> +#define IIO_CONST_ATTR_NAME(_string)				\
> +	IIO_CONST_ATTR(name, _string)
> +
> +/**
>   * IIO_DEV_ATTR_SAMP_FREQ - sets any internal clock frequency
>   * @_mode: sysfs file mode/permissions
>   * @_show: output method for the attribute
> @@ -156,10 +163,6 @@ struct iio_const_attr {
>   *
>   * Constant version
>   **/
> -/* Deprecated */
> -#define IIO_CONST_ATTR_AVAIL_SAMP_FREQ(_string)			\
> -	IIO_CONST_ATTR(available_sampling_frequency, _string)
> -
>  #define IIO_CONST_ATTR_SAMP_FREQ_AVAIL(_string)			\
>  	IIO_CONST_ATTR(sampling_frequency_available, _string)
>  
> @@ -244,6 +247,12 @@ struct iio_const_attr {
>  #define IIO_DEV_ATTR_TEMP_RAW(_show)			\
>  	IIO_DEVICE_ATTR(temp_raw, S_IRUGO, _show, NULL, 0)
>  
> +#define IIO_CONST_ATTR_TEMP_OFFSET(_string)		\
> +	IIO_CONST_ATTR(temp_offset, _string)
> +
> +#define IIO_CONST_ATTR_TEMP_SCALE(_string)		\
> +	IIO_CONST_ATTR(temp_scale, _string)
> +
>  /**
>   * IIO_EVENT_SH - generic shared event handler
>   * @_name: event name

--
To unsubscribe from this list: send the line "unsubscribe linux-iio" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Input]     [Linux Kernel]     [Linux SCSI]     [X.org]

  Powered by Linux