1
0
Fork 0

iio: humidity: hts221: avoid useless ODR reconfiguration

Configure sensor ODR just in hts221_write_raw() in order to avoid
to set device sample rate multiple times.

Signed-off-by: Lorenzo Bianconi <lorenzo.bianconi@st.com>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
hifive-unleashed-5.1
Lorenzo Bianconi 2017-07-17 19:38:59 +02:00 committed by Jonathan Cameron
parent f6f58d9d93
commit ffebe74b7c
1 changed files with 8 additions and 9 deletions

View File

@ -208,11 +208,6 @@ static int hts221_update_odr(struct hts221_hw *hw, u8 odr)
if (err < 0)
return err;
err = hts221_write_with_mask(hw, HTS221_REG_CNTRL1_ADDR,
HTS221_ENABLE_MASK, 1);
if (err < 0)
return err;
hw->odr = odr;
return 0;
@ -294,7 +289,8 @@ int hts221_power_on(struct hts221_hw *hw)
{
int err;
err = hts221_update_odr(hw, hw->odr);
err = hts221_write_with_mask(hw, HTS221_REG_CNTRL1_ADDR,
HTS221_ENABLE_MASK, true);
if (err < 0)
return err;
@ -627,8 +623,6 @@ int hts221_probe(struct iio_dev *iio_dev)
if (err < 0)
return err;
hw->odr = hts221_odr_table[0].hz;
iio_dev->modes = INDIO_DIRECT_MODE;
iio_dev->dev.parent = hw->dev;
iio_dev->available_scan_masks = hts221_scan_masks;
@ -643,6 +637,10 @@ int hts221_probe(struct iio_dev *iio_dev)
if (err < 0)
return err;
err = hts221_update_odr(hw, hts221_odr_table[0].hz);
if (err < 0)
return err;
/* configure humidity sensor */
err = hts221_parse_rh_caldata(hw);
if (err < 0) {
@ -706,7 +704,8 @@ static int __maybe_unused hts221_resume(struct device *dev)
int err = 0;
if (hw->enabled)
err = hts221_update_odr(hw, hw->odr);
err = hts221_write_with_mask(hw, HTS221_REG_CNTRL1_ADDR,
HTS221_ENABLE_MASK, true);
return err;
}