On Sun, 9 Jul 2017 18:56:59 +0200 Lorenzo Bianconi <lorenzo.bianconi83@xxxxxxxxx> wrote: > Configure sensor ODR just in hts221_write_raw() in order to avoid > to set device sample rate multiple times. > Squash hts221_power_off()/hts221_power_on() in hts221_set_enable() Two changes = two patches please. Actual contents for each looks fine. > > Signed-off-by: Lorenzo Bianconi <lorenzo.bianconi@xxxxxx> > --- > drivers/iio/humidity/hts221.h | 3 +-- > drivers/iio/humidity/hts221_buffer.c | 4 ++-- > drivers/iio/humidity/hts221_core.c | 37 +++++++++++------------------------- > 3 files changed, 14 insertions(+), 30 deletions(-) > > diff --git a/drivers/iio/humidity/hts221.h b/drivers/iio/humidity/hts221.h > index 94510266e0a5..7b5691a6df53 100644 > --- a/drivers/iio/humidity/hts221.h > +++ b/drivers/iio/humidity/hts221.h > @@ -68,8 +68,7 @@ extern const struct dev_pm_ops hts221_pm_ops; > > int hts221_config_drdy(struct hts221_hw *hw, bool enable); > int hts221_probe(struct iio_dev *iio_dev); > -int hts221_power_on(struct hts221_hw *hw); > -int hts221_power_off(struct hts221_hw *hw); > +int hts221_set_enable(struct hts221_hw *hw, bool enable); > int hts221_allocate_buffers(struct hts221_hw *hw); > int hts221_allocate_trigger(struct hts221_hw *hw); > > diff --git a/drivers/iio/humidity/hts221_buffer.c b/drivers/iio/humidity/hts221_buffer.c > index 7d19a3da7ab7..c4ed153ad397 100644 > --- a/drivers/iio/humidity/hts221_buffer.c > +++ b/drivers/iio/humidity/hts221_buffer.c > @@ -109,12 +109,12 @@ int hts221_allocate_trigger(struct hts221_hw *hw) > > static int hts221_buffer_preenable(struct iio_dev *iio_dev) > { > - return hts221_power_on(iio_priv(iio_dev)); > + return hts221_set_enable(iio_priv(iio_dev), true); > } > > static int hts221_buffer_postdisable(struct iio_dev *iio_dev) > { > - return hts221_power_off(iio_priv(iio_dev)); > + return hts221_set_enable(iio_priv(iio_dev), false); > } > > static const struct iio_buffer_setup_ops hts221_buffer_ops = { > diff --git a/drivers/iio/humidity/hts221_core.c b/drivers/iio/humidity/hts221_core.c > index b36734b8070e..7d30e2594a58 100644 > --- a/drivers/iio/humidity/hts221_core.c > +++ b/drivers/iio/humidity/hts221_core.c > @@ -207,11 +207,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; > @@ -290,29 +285,16 @@ hts221_sysfs_temp_oversampling_avail(struct device *dev, > return len; > } > > -int hts221_power_on(struct hts221_hw *hw) > -{ > - int err; > - > - err = hts221_update_odr(hw, hw->odr); > - if (err < 0) > - return err; > - > - hw->enabled = true; > - > - return 0; > -} > - > -int hts221_power_off(struct hts221_hw *hw) > +int hts221_set_enable(struct hts221_hw *hw, bool enable) > { > int err; > > err = hts221_write_with_mask(hw, HTS221_REG_CNTRL1_ADDR, > - HTS221_ENABLE_MASK, false); > + HTS221_ENABLE_MASK, enable); > if (err < 0) > return err; > > - hw->enabled = false; > + hw->enabled = enable; > > return 0; > } > @@ -467,7 +449,7 @@ static int hts221_read_oneshot(struct hts221_hw *hw, u8 addr, int *val) > u8 data[HTS221_DATA_SIZE]; > int err; > > - err = hts221_power_on(hw); > + err = hts221_set_enable(hw, true); > if (err < 0) > return err; > > @@ -477,7 +459,7 @@ static int hts221_read_oneshot(struct hts221_hw *hw, u8 addr, int *val) > if (err < 0) > return err; > > - hts221_power_off(hw); > + hts221_set_enable(hw, false); > > *val = (s16)get_unaligned_le16(data); > > @@ -627,8 +609,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 +623,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 +690,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; > } -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html