aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/iio/imu/st_lsm6dsx
diff options
context:
space:
mode:
authorLorenzo Bianconi <lorenzo.bianconi83@gmail.com>2017-09-18 19:49:57 +0200
committerJonathan Cameron <Jonathan.Cameron@huawei.com>2017-09-24 16:24:35 +0100
commit5e3c3e3382e87a637c5c9229b4b539dfbf81c64b (patch)
tree8f8fd70360bf1e7a5dcec91ceddd123a4b1e97fe /drivers/iio/imu/st_lsm6dsx
parentStaging: iio: meter: ade7759: update locking method for write frequency (diff)
downloadlinux-dev-5e3c3e3382e87a637c5c9229b4b539dfbf81c64b.tar.xz
linux-dev-5e3c3e3382e87a637c5c9229b4b539dfbf81c64b.zip
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>
Diffstat (limited to 'drivers/iio/imu/st_lsm6dsx')
-rw-r--r--drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_core.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_core.c b/drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_core.c
index d45d714acdd3..c68cc7c91928 100644
--- a/drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_core.c
+++ b/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: