Message ID | 1521230786-18155-6-git-send-email-himanshujha199640@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Sat, 17 Mar 2018 01:36:22 +0530 Himanshu Jha <himanshujha199640@gmail.com> 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@gmail.com> 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; -- 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
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;
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@gmail.com> --- v2: -clarify voltage base conversions. drivers/staging/iio/accel/adis16201.c | 27 ++++++++++++++++++--------- 1 file changed, 18 insertions(+), 9 deletions(-)