Code Review
/
kvmfornfv.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
review
|
tree
raw
|
inline
| side by side
These changes are the raw update to linux-4.4.6-rt14. Kernel sources
[kvmfornfv.git]
/
kernel
/
drivers
/
iio
/
humidity
/
si7020.c
diff --git
a/kernel/drivers/iio/humidity/si7020.c
b/kernel/drivers/iio/humidity/si7020.c
index
fa3b809
..
71991b5
100644
(file)
--- a/
kernel/drivers/iio/humidity/si7020.c
+++ b/
kernel/drivers/iio/humidity/si7020.c
@@
-50,15
+50,19
@@
static int si7020_read_raw(struct iio_dev *indio_dev,
switch (mask) {
case IIO_CHAN_INFO_RAW:
switch (mask) {
case IIO_CHAN_INFO_RAW:
- ret = i2c_smbus_read_word_
data
(*client,
- chan->type == IIO_TEMP ?
- SI7020CMD_TEMP_HOLD :
- SI7020CMD_RH_HOLD);
+ ret = i2c_smbus_read_word_
swapped
(*client,
+
chan->type == IIO_TEMP ?
+
SI7020CMD_TEMP_HOLD :
+
SI7020CMD_RH_HOLD);
if (ret < 0)
return ret;
*val = ret >> 2;
if (ret < 0)
return ret;
*val = ret >> 2;
+ /*
+ * Humidity values can slightly exceed the 0-100%RH
+ * range and should be corrected by software
+ */
if (chan->type == IIO_HUMIDITYRELATIVE)
if (chan->type == IIO_HUMIDITYRELATIVE)
- *val
&= GENMASK(11, 0
);
+ *val
= clamp_val(*val, 786, 13893
);
return IIO_VAL_INT;
case IIO_CHAN_INFO_SCALE:
if (chan->type == IIO_TEMP)
return IIO_VAL_INT;
case IIO_CHAN_INFO_SCALE:
if (chan->type == IIO_TEMP)