iio: humidity: hts221: move drdy enable logic in hts221_trig_set_state()

Move data-ready configuration in hts221_buffer.c since it is only related
to trigger logic

Signed-off-by: Lorenzo Bianconi <lorenzo.bianconi@st.com>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
This commit is contained in:
Lorenzo Bianconi 2017-07-17 19:39:05 +02:00 коммит произвёл Jonathan Cameron
Родитель 21d841b2a4
Коммит f3f0ae16f0
3 изменённых файлов: 7 добавлений и 16 удалений

Просмотреть файл

@ -60,7 +60,6 @@ struct hts221_hw {
extern const struct dev_pm_ops hts221_pm_ops; extern const struct dev_pm_ops hts221_pm_ops;
int hts221_config_drdy(struct hts221_hw *hw, bool enable);
int hts221_write_with_mask(struct hts221_hw *hw, u8 addr, u8 mask, u8 val); int hts221_write_with_mask(struct hts221_hw *hw, u8 addr, u8 mask, u8 val);
int hts221_probe(struct iio_dev *iio_dev); int hts221_probe(struct iio_dev *iio_dev);
int hts221_set_enable(struct hts221_hw *hw, bool enable); int hts221_set_enable(struct hts221_hw *hw, bool enable);

Просмотреть файл

@ -28,6 +28,8 @@
#define HTS221_REG_DRDY_HL_MASK BIT(7) #define HTS221_REG_DRDY_HL_MASK BIT(7)
#define HTS221_REG_DRDY_PP_OD_ADDR 0x22 #define HTS221_REG_DRDY_PP_OD_ADDR 0x22
#define HTS221_REG_DRDY_PP_OD_MASK BIT(6) #define HTS221_REG_DRDY_PP_OD_MASK BIT(6)
#define HTS221_REG_DRDY_EN_ADDR 0x22
#define HTS221_REG_DRDY_EN_MASK BIT(2)
#define HTS221_REG_STATUS_ADDR 0x27 #define HTS221_REG_STATUS_ADDR 0x27
#define HTS221_RH_DRDY_MASK BIT(1) #define HTS221_RH_DRDY_MASK BIT(1)
#define HTS221_TEMP_DRDY_MASK BIT(0) #define HTS221_TEMP_DRDY_MASK BIT(0)
@ -36,8 +38,12 @@ static int hts221_trig_set_state(struct iio_trigger *trig, bool state)
{ {
struct iio_dev *iio_dev = iio_trigger_get_drvdata(trig); struct iio_dev *iio_dev = iio_trigger_get_drvdata(trig);
struct hts221_hw *hw = iio_priv(iio_dev); struct hts221_hw *hw = iio_priv(iio_dev);
int err;
return hts221_config_drdy(hw, state); err = hts221_write_with_mask(hw, HTS221_REG_DRDY_EN_ADDR,
HTS221_REG_DRDY_EN_MASK, state);
return err < 0 ? err : 0;
} }
static const struct iio_trigger_ops hts221_trigger_ops = { static const struct iio_trigger_ops hts221_trigger_ops = {

Просмотреть файл

@ -23,7 +23,6 @@
#define HTS221_REG_CNTRL1_ADDR 0x20 #define HTS221_REG_CNTRL1_ADDR 0x20
#define HTS221_REG_CNTRL2_ADDR 0x21 #define HTS221_REG_CNTRL2_ADDR 0x21
#define HTS221_REG_CNTRL3_ADDR 0x22
#define HTS221_REG_AVG_ADDR 0x10 #define HTS221_REG_AVG_ADDR 0x10
#define HTS221_REG_H_OUT_L 0x28 #define HTS221_REG_H_OUT_L 0x28
@ -36,9 +35,6 @@
#define HTS221_BDU_MASK BIT(2) #define HTS221_BDU_MASK BIT(2)
#define HTS221_ENABLE_MASK BIT(7) #define HTS221_ENABLE_MASK BIT(7)
#define HTS221_DRDY_MASK BIT(2)
/* calibration registers */ /* calibration registers */
#define HTS221_REG_0RH_CAL_X_H 0x36 #define HTS221_REG_0RH_CAL_X_H 0x36
#define HTS221_REG_1RH_CAL_X_H 0x3a #define HTS221_REG_1RH_CAL_X_H 0x3a
@ -181,16 +177,6 @@ static int hts221_check_whoami(struct hts221_hw *hw)
return 0; return 0;
} }
int hts221_config_drdy(struct hts221_hw *hw, bool enable)
{
int err;
err = hts221_write_with_mask(hw, HTS221_REG_CNTRL3_ADDR,
HTS221_DRDY_MASK, enable);
return err < 0 ? err : 0;
}
static int hts221_update_odr(struct hts221_hw *hw, u8 odr) static int hts221_update_odr(struct hts221_hw *hw, u8 odr)
{ {
int i, err; int i, err;