瀏覽代碼

iio: st_sensors: Disable DRDY at init time

This fixes odd behavior after reboot.

The fact that we set the device to powerdown mode is not sufficient to
prevent DRDY being active because we might still have an unread sample.

Even if powerdown was sufficient keeping DRDY disabled while trigger is
not active is a good idea.

Cc: Giuseppe Barba <giuseppe.barba@st.com>
Cc: Denis Ciocca <denis.ciocca@st.com>
Signed-off-by: Crestez Dan Leonard <leonard.crestez@intel.com>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
Crestez Dan Leonard 9 年之前
父節點
當前提交
9914760615
共有 1 個文件被更改,包括 5 次插入0 次删除
  1. 5 0
      drivers/iio/common/st_sensors/st_sensors_core.c

+ 5 - 0
drivers/iio/common/st_sensors/st_sensors_core.c

@@ -363,6 +363,11 @@ int st_sensors_init_sensor(struct iio_dev *indio_dev,
 	if (err < 0)
 	if (err < 0)
 		return err;
 		return err;
 
 
+	/* Disable DRDY, this might be still be enabled after reboot. */
+	err = st_sensors_set_dataready_irq(indio_dev, false);
+	if (err < 0)
+		return err;
+
 	if (sdata->current_fullscale) {
 	if (sdata->current_fullscale) {
 		err = st_sensors_set_fullscale(indio_dev,
 		err = st_sensors_set_fullscale(indio_dev,
 						sdata->current_fullscale->num);
 						sdata->current_fullscale->num);