Browse Source

iio: imu: st_lsm6dsx: set sensor->odr value just in st_lsm6dsx_write_raw()

Update odr value in st_lsm6dsx_sensor data structure just in
st_lsm6dsx_write_raw() in order to avoid to set the same value
multiple times

Signed-off-by: Lorenzo Bianconi <lorenzo.bianconi@st.com>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Lorenzo Bianconi 8 years ago
parent
commit
5e3c3e3382
1 changed files with 2 additions and 1 deletions
  1. 2 1
      drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_core.c

+ 2 - 1
drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_core.c

@@ -322,7 +322,6 @@ static int st_lsm6dsx_check_odr(struct st_lsm6dsx_sensor *sensor, u16 odr,
 		return -EINVAL;
 
 	*val = st_lsm6dsx_odr_table[sensor->id].odr_avl[i].val;
-	sensor->odr = odr;
 
 	return 0;
 }
@@ -449,6 +448,8 @@ static int st_lsm6dsx_write_raw(struct iio_dev *iio_dev,
 		u8 data;
 
 		err = st_lsm6dsx_check_odr(sensor, val, &data);
+		if (!err)
+			sensor->odr = val;
 		break;
 	}
 	default: