RE: [PATCH v2] iio: adc: add new lp8788 adc driver
From: Kim, Milo <hidden>
Date: 2012-08-16 00:42:41
Also in:
lkml
From: Kim, Milo <hidden>
Date: 2012-08-16 00:42:41
Also in:
lkml
quoted
+ switch (mask) { + case IIO_CHAN_INFO_RAW: + *val =3D result; + return IIO_VAL_INT; + case IIO_CHAN_INFO_SCALE: + *val =3D adc_const[id] * ((result * 1000 + 500) / 1000);=20 This looks wrong. The IIO_CHAN_INFO_SCALE attribute is the factor by which IIO_CHAN_INFO_RAW needs to be multiplied to get the value in the proper unit, which is specified in the IIO ABI spec. E.g. milli volts for voltages. =20 What you return here seems to be the IIO_CHAN_INFO_PROCESSED attribute. Which basically is raw * scale.
Thanks a lot for your review. Any way to get the result with offset value in the iio-consumer side? What I need is as below. result =3D raw * scale + offset At this moment, there are two apis() for reading the iio channel - iio_read_channel_raw() and iio_read_channel_scale(). Does it sound good if I add iio_read_channel_offset() consumer api using IIO_CHAN_INFO_OFFSET? Best Regards, Milo