Re: [PATCH 9/9] iio: humidity: hts221: move drdy enable logic in hts221_trig_set_state()
From: Jonathan Cameron <hidden>
Date: 2017-07-16 19:50:13
Also in:
linux-iio
On 16 July 2017 10:45:15 BST, Lorenzo Bianconi [off-list ref] wrote:
quoted
quoted
On Sun, 9 Jul 2017 18:57:04 +0200 Lorenzo Bianconi [off-list ref] wrote:quoted
Move data-ready configuration in hts221_buffer.c since it is onlyrelatedquoted
quoted
quoted
to trigger logic Signed-off-by: Lorenzo Bianconi <redacted>The rest of the series looks good to me. We are early in the cycle so should have plenty of time to pin down the question on how tohandlequoted
quoted
irq line inversion visibility to the kernel.Fine, pretty interesting stuff :) Regards, LorenzoHi Jonathan, I added all suggested changes in v2. What is the best way to support that possibility (irq line inversion visibility)? Is it up to hts221?
I think the only real conclusion so far is that there are irqchip drivers dealing with this already. Hence on basis of precedence alone, not an issue for the ultimate client driver. Which I thought would be the case but wanted to get more info. Hence ignore whole issue in this driver. J
Regards, Lorenzoquoted
quoted
Jonathanquoted
--- drivers/iio/humidity/hts221.h | 1 - drivers/iio/humidity/hts221_buffer.c | 8 +++++++- drivers/iio/humidity/hts221_core.c | 14 -------------- 3 files changed, 7 insertions(+), 16 deletions(-)diff --git a/drivers/iio/humidity/hts221.hb/drivers/iio/humidity/hts221.hquoted
quoted
quoted
index 0fbc89fe213d..2b4e5246447a 100644--- a/drivers/iio/humidity/hts221.h +++ b/drivers/iio/humidity/hts221.h@@ -66,7 +66,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);quoted
quoted
quoted
int hts221_probe(struct iio_dev *iio_dev); int hts221_set_enable(struct hts221_hw *hw, bool enable);diff --git a/drivers/iio/humidity/hts221_buffer.cb/drivers/iio/humidity/hts221_buffer.cquoted
quoted
quoted
index f29f01a22375..9690dfe9a844 100644--- a/drivers/iio/humidity/hts221_buffer.c +++ b/drivers/iio/humidity/hts221_buffer.c@@ -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(structiio_trigger *trig, bool state)quoted
quoted
quoted
{ 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 = {diff --git a/drivers/iio/humidity/hts221_core.cb/drivers/iio/humidity/hts221_core.cquoted
quoted
quoted
index dfacf64a6f2e..12c2bc5954e4 100644--- a/drivers/iio/humidity/hts221_core.c +++ b/drivers/iio/humidity/hts221_core.c@@ -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@@ -180,16 +176,6 @@ static int hts221_check_whoami(structhts221_hw *hw)quoted
quoted
quoted
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;-- UNIX is Sexy: who | grep -i blonde | talk; cd ~; wine; talk; touch; unzip; touch; strip; gasp; finger; gasp; mount; fsck; more; yes;gasp;quoted
umount; make clean; sleep
-- Sent from my Android device with K-9 Mail. Please excuse my brevity. -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html