Re: [PATCH] iio: chemical: ccs811: Renamed resistance member in ccs811_reading struct

From: Narcisa Ana Maria Vasile
Date: Tue Feb 20 2018 - 15:25:04 EST


On Sat, Feb 17, 2018 at 02:14:42PM +0000, Jonathan Cameron wrote:
> On Wed, 14 Feb 2018 01:08:35 +0000
> Richard Lai <richard@xxxxxxxxxxxxxx> wrote:
>
> > The resistance member in ccs811_reading struct is an unsigned 16-bit
> > integer variable used to store RAW_DATA register bytes read from CCS811.
> > It is kind of misleading to name this struct member as resistance.
> >
> > About the RAW_DATA register bytes, the CCS811 datasheet states that:
> > -----
> > Two byte read only register which contains the latest readings from the
> > sense resistor.
> >
> > The most significant 6 bits of the Byte 0 contain the value of the current
> > through the sensor (0ÎA to 63ÎA).
> >
> > The lower 10 bits contain (as computed from the ADC) the readings of the
> > voltage across the sensor with the selected current (1023 = 1.65V)"
> > -----
> >
True.

> > Hence, the RAW_DATA register byte contains information about electric
> > current and voltage of the CCS811 sensor. Calling this struct member
> > 'resistance' is kind of misleading, although both electric current and
> > voltage are needed to calculate the electrical resistance of the sensor
> > using Ohm's law, V = I x R, in which a new channel type of IIO_RESISTANCE
> > may be added to the driver in the future.
> >


> > Signed-off-by: Richard Lai <richard@xxxxxxxxxxxxxx>
> This seems logical to me, but I'd just like to let it sit for a few
> more days to let Narcisa have time to respond.
>
I agree, Richard's suggestion is a better fit as a name for this
register.
> Feel free to give me a poke if it looks like I have forgotten this
> in a week or so.
>
> Thanks,
>
> Jonathan
>
> > ---
> > drivers/iio/chemical/ccs811.c | 6 +++---
> > 1 file changed, 3 insertions(+), 3 deletions(-)
> >
> > diff --git a/drivers/iio/chemical/ccs811.c b/drivers/iio/chemical/ccs811.c
> > index 8e8beb7..e6f6bc4 100644
> > --- a/drivers/iio/chemical/ccs811.c
> > +++ b/drivers/iio/chemical/ccs811.c
> > @@ -66,7 +66,7 @@ struct ccs811_reading {
> > __be16 voc;
> > u8 status;
> > u8 error;
> > - __be16 resistance;
> > + __be16 raw_data;
> > } __attribute__((__packed__));
> >
> > struct ccs811_data {
> > @@ -202,12 +202,12 @@ static int ccs811_read_raw(struct iio_dev *indio_dev,
> >
> > switch (chan->type) {
> > case IIO_VOLTAGE:
> > - *val = be16_to_cpu(data->buffer.resistance) &
> > + *val = be16_to_cpu(data->buffer.raw_data) &
> > CCS811_VOLTAGE_MASK;
> > ret = IIO_VAL_INT;
> > break;
> > case IIO_CURRENT:
> > - *val = be16_to_cpu(data->buffer.resistance) >> 10;
> > + *val = be16_to_cpu(data->buffer.raw_data) >> 10;
> > ret = IIO_VAL_INT;
> > break;
> > case IIO_CONCENTRATION:
>