|
@@ -164,14 +164,14 @@ static int hdc100x_get_measurement(struct hdc100x_data *data,
|
|
|
dev_err(&client->dev, "cannot read high byte measurement");
|
|
|
return ret;
|
|
|
}
|
|
|
- val = ret << 6;
|
|
|
+ val = ret << 8;
|
|
|
|
|
|
ret = i2c_smbus_read_byte(client);
|
|
|
if (ret < 0) {
|
|
|
dev_err(&client->dev, "cannot read low byte measurement");
|
|
|
return ret;
|
|
|
}
|
|
|
- val |= ret >> 2;
|
|
|
+ val |= ret;
|
|
|
|
|
|
return val;
|
|
|
}
|
|
@@ -212,17 +212,17 @@ static int hdc100x_read_raw(struct iio_dev *indio_dev,
|
|
|
case IIO_CHAN_INFO_SCALE:
|
|
|
if (chan->type == IIO_TEMP) {
|
|
|
*val = 165000;
|
|
|
- *val2 = 65536 >> 2;
|
|
|
+ *val2 = 65536;
|
|
|
return IIO_VAL_FRACTIONAL;
|
|
|
} else {
|
|
|
- *val = 0;
|
|
|
- *val2 = 10000;
|
|
|
- return IIO_VAL_INT_PLUS_MICRO;
|
|
|
+ *val = 100;
|
|
|
+ *val2 = 65536;
|
|
|
+ return IIO_VAL_FRACTIONAL;
|
|
|
}
|
|
|
break;
|
|
|
case IIO_CHAN_INFO_OFFSET:
|
|
|
- *val = -3971;
|
|
|
- *val2 = 879096;
|
|
|
+ *val = -15887;
|
|
|
+ *val2 = 515151;
|
|
|
return IIO_VAL_INT_PLUS_MICRO;
|
|
|
default:
|
|
|
return -EINVAL;
|