OSDN Git Service

iio: humidity: hts221: move drdy enable logic in hts221_trig_set_state()
authorLorenzo Bianconi <lorenzo.bianconi83@gmail.com>
Mon, 17 Jul 2017 17:39:05 +0000 (19:39 +0200)
committerJonathan Cameron <Jonathan.Cameron@huawei.com>
Tue, 25 Jul 2017 19:03:04 +0000 (20:03 +0100)
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>
drivers/iio/humidity/hts221.h
drivers/iio/humidity/hts221_buffer.c
drivers/iio/humidity/hts221_core.c

index c3de6e4..51d0219 100644 (file)
@@ -60,7 +60,6 @@ struct hts221_hw {
 
 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_probe(struct iio_dev *iio_dev);
 int hts221_set_enable(struct hts221_hw *hw, bool enable);
index f29f01a..9690dfe 100644 (file)
@@ -28,6 +28,8 @@
 #define HTS221_REG_DRDY_HL_MASK                BIT(7)
 #define HTS221_REG_DRDY_PP_OD_ADDR     0x22
 #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_RH_DRDY_MASK            BIT(1)
 #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 hts221_hw *hw = iio_priv(iio_dev);
+       int err;
+
+       err = hts221_write_with_mask(hw, HTS221_REG_DRDY_EN_ADDR,
+                                    HTS221_REG_DRDY_EN_MASK, state);
 
-       return hts221_config_drdy(hw, state);
+       return err < 0 ? err : 0;
 }
 
 static const struct iio_trigger_ops hts221_trigger_ops = {
index 25fcb99..32524a8 100644 (file)
@@ -23,7 +23,6 @@
 
 #define HTS221_REG_CNTRL1_ADDR         0x20
 #define HTS221_REG_CNTRL2_ADDR         0x21
-#define HTS221_REG_CNTRL3_ADDR         0x22
 
 #define HTS221_REG_AVG_ADDR            0x10
 #define HTS221_REG_H_OUT_L             0x28
@@ -36,9 +35,6 @@
 #define HTS221_BDU_MASK                        BIT(2)
 #define HTS221_ENABLE_MASK             BIT(7)
 
-#define HTS221_DRDY_MASK               BIT(2)
-
-
 /* calibration registers */
 #define HTS221_REG_0RH_CAL_X_H         0x36
 #define HTS221_REG_1RH_CAL_X_H         0x3a
@@ -181,16 +177,6 @@ static int hts221_check_whoami(struct hts221_hw *hw)
        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)
 {
        int i, err;