From: Lorenzo Bianconi Date: Mon, 17 Jul 2017 17:38:59 +0000 (+0200) Subject: iio: humidity: hts221: avoid useless ODR reconfiguration X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=ffebe74b7c95a41d2d0ac70a44d410e0efa37ad8;p=GitHub%2Fmoto-9609%2Fandroid_kernel_motorola_exynos9610.git 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 Signed-off-by: Jonathan Cameron --- diff --git a/drivers/iio/humidity/hts221_core.c b/drivers/iio/humidity/hts221_core.c index 6e5847386a45..f99adc44139e 100644 --- a/drivers/iio/humidity/hts221_core.c +++ b/drivers/iio/humidity/hts221_core.c @@ -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; }