On Sat, 17 Mar 2018 01:36:22 +0530 Himanshu Jha <himanshujha199640@xxxxxxxxx> wrote: > Clarify the conversion and formation of resultant data in the > adis16201_read_raw() with sufficient comments and remove the unnecessary > comments. > > Signed-off-by: Himanshu Jha <himanshujha199640@xxxxxxxxx> It is a little illogical to have comments for all but one of the channels, but given we don't normally comment them unless they are 'odd', this is fine. Applied, thanks Jonathan > --- > v2: > -clarify voltage base conversions. > > drivers/staging/iio/accel/adis16201.c | 27 ++++++++++++++++++--------- > 1 file changed, 18 insertions(+), 9 deletions(-) > > diff --git a/drivers/staging/iio/accel/adis16201.c b/drivers/staging/iio/accel/adis16201.c > index 8de3f27..97150ea 100644 > --- a/drivers/staging/iio/accel/adis16201.c > +++ b/drivers/staging/iio/accel/adis16201.c > @@ -120,31 +120,43 @@ static int adis16201_read_raw(struct iio_dev *indio_dev, > switch (chan->type) { > case IIO_VOLTAGE: > if (chan->channel == 0) { > + /* Voltage base units are mV hence 1.22 mV */ > *val = 1; > - *val2 = 220000; /* 1.22 mV */ > + *val2 = 220000; > } else { > + /* Voltage base units are mV hence 0.61 mV */ > *val = 0; > - *val2 = 610000; /* 0.610 mV */ > + *val2 = 610000; > } > return IIO_VAL_INT_PLUS_MICRO; > case IIO_TEMP: > - *val = -470; /* 0.47 C */ > + *val = -470; > *val2 = 0; > return IIO_VAL_INT_PLUS_MICRO; > case IIO_ACCEL: > + /* > + * IIO base unit for sensitivity of accelerometer > + * is milli g. > + * 1 LSB represents 0.244 mg. > + */ > *val = 0; > - *val2 = IIO_G_TO_M_S_2(462400); /* 0.4624 mg */ > + *val2 = IIO_G_TO_M_S_2(462400); > return IIO_VAL_INT_PLUS_NANO; > case IIO_INCLI: > *val = 0; > - *val2 = 100000; /* 0.1 degree */ > + *val2 = 100000; > return IIO_VAL_INT_PLUS_MICRO; > default: > return -EINVAL; > } > break; > case IIO_CHAN_INFO_OFFSET: > - *val = 25000 / -470 - 1278; /* 25 C = 1278 */ > + /* > + * The raw ADC value is 1278 when the temperature > + * is 25 degrees and the scale factor per milli > + * degree celcius is -470. > + */ > + *val = 25000 / -470 - 1278; > return IIO_VAL_INT; > case IIO_CHAN_INFO_CALIBBIAS: > switch (chan->type) { > @@ -252,13 +264,11 @@ static int adis16201_probe(struct spi_device *spi) > struct adis *st; > struct iio_dev *indio_dev; > > - /* setup the industrialio driver allocated elements */ > indio_dev = devm_iio_device_alloc(&spi->dev, sizeof(*st)); > if (!indio_dev) > return -ENOMEM; > > st = iio_priv(indio_dev); > - /* this is only used for removal purposes */ > spi_set_drvdata(spi, indio_dev); > > indio_dev->name = spi->dev.driver->name; > @@ -277,7 +287,6 @@ static int adis16201_probe(struct spi_device *spi) > if (ret) > return ret; > > - /* Get the device into a sane initial state */ > ret = adis_initial_startup(st); > if (ret) > goto error_cleanup_buffer_trigger; _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel