On Thu, 8 Aug 2019 21:13:50 +0530 Himanshu Jha <himanshujha199640@xxxxxxxxx> wrote: > Standard ABI for reporting pressure is kilopascal and for > relative humidity it is millipercent. > > What: /sys/bus/iio/devices/iio:deviceX/in_pressureY_input > What: /sys/bus/iio/devices/iio:deviceX/in_pressure_input > KernelVersion: 3.8 > Contact: linux-iio@xxxxxxxxxxxxxxx > Description: > Scaled pressure measurement from channel Y, in kilopascal. > > What: /sys/bus/iio/devices/iio:deviceX/in_humidityrelative_input > KernelVersion: 3.14 > Contact: linux-iio@xxxxxxxxxxxxxxx > Description: > Scaled humidity measurement in milli percent. > > Currently pressure is reported in hectopascal(hPa) and relative humidity > in percent. Hence fix this ABI mismatch conforming to the standard ABI. > > Fixes: 1b3bd8592780 ("iio: chemical: Add support for Bosch BME680 sensor") > Signed-off-by: Himanshu Jha <himanshujha199640@xxxxxxxxx> Hopefully any users will cope with their scripts getting broken by this. I'm going to let this one sit for a little longer to give others time to take a look. Give me a poke if it looks like I've lost it down the back of the sofa in a week or two. Thanks, Jonathan > --- > > While cleaning this mess I wonder about the gas channel and there > exists no `in_resistance_input` in standard ABI :-( > > We only have: > > What: /sys/bus/iio/devices/iio:deviceX/in_resistance_raw > What: /sys/bus/iio/devices/iio:deviceX/in_resistanceX_raw > What: /sys/bus/iio/devices/iio:deviceX/out_resistance_raw > What: /sys/bus/iio/devices/iio:deviceX/out_resistanceX_raw > KernelVersion: 4.3 > Contact: linux-iio@xxxxxxxxxxxxxxx > Description: > Raw (unscaled no offset etc.) resistance reading that can be processed > into an ohm value. > > The sensor outputs processed value which is reported as is. > > So, does it need a new ABI ? New documentation as the ABI is clearly already there. Good for completeness but that description for _raw makes it obvious what the units will be etc so hopefully we don't have any disagreement between drivers. > > drivers/iio/chemical/bme680_core.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/iio/chemical/bme680_core.c b/drivers/iio/chemical/bme680_core.c > index ccde4c65ff93..28cc96d1e3c8 100644 > --- a/drivers/iio/chemical/bme680_core.c > +++ b/drivers/iio/chemical/bme680_core.c > @@ -670,7 +670,7 @@ static int bme680_read_press(struct bme680_data *data, > } > > *val = bme680_compensate_press(data, adc_press); > - *val2 = 100; > + *val2 = 1000; > return IIO_VAL_FRACTIONAL; > } > > @@ -704,7 +704,7 @@ static int bme680_read_humid(struct bme680_data *data, > comp_humidity = bme680_compensate_humid(data, adc_humidity); > > *val = comp_humidity; > - *val2 = 1000; > + *val2 = 1000000; > return IIO_VAL_FRACTIONAL; > } >