Additional modifiers in IIO_CHAN_INFO_SCALE check will mostly have a ppm unit and the switch statement is more confusing, and adds unneeded code. Signed-off-by: Matt Ranostay <matt.ranostay@xxxxxxxxxxxx> --- drivers/iio/chemical/atlas-ezo-sensor.c | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/drivers/iio/chemical/atlas-ezo-sensor.c b/drivers/iio/chemical/atlas-ezo-sensor.c index 307c3488f4bd..5fae1c4087ee 100644 --- a/drivers/iio/chemical/atlas-ezo-sensor.c +++ b/drivers/iio/chemical/atlas-ezo-sensor.c @@ -165,17 +165,19 @@ static int atlas_ezo_read_raw(struct iio_dev *indio_dev, return -EINVAL; } - /* IIO_CONCENTRATION modifiers */ - switch (chan->channel2) { - case IIO_MOD_CO2: - *val = 0; - *val2 = 100; /* 0.0001 */ - return IIO_VAL_INT_PLUS_MICRO; - case IIO_MOD_O2: + if (chan->channel2 == IIO_NO_MOD) + return -EINVAL; + + // IIO_CONCENTRATION modifier for percent + if (chan->channel2 == IIO_MOD_O2) { *val = 100; return IIO_VAL_INT; } - return -EINVAL; + + // IIO_CONCENTRATION modifier for PPM - 0.0001 + *val = 0; + *val2 = 100; + return IIO_VAL_INT_PLUS_MICRO; } return 0; -- 2.30.2