From 3d910581e41947435c2da46eb9448637eb75dfd1 Mon Sep 17 00:00:00 2001 From: Jason Zhang Date: Tue, 16 Aug 2022 09:09:51 +0800 Subject: [PATCH] iio: imu: lsm6dsr: restore the dynamic ODR table The LSM6DSR has an ODR selection ranges from 12.5 Hz to 833 Hz, remove the fix ODR selections in the ODR table. Signed-off-by: Jason Zhang Change-Id: I1eca8a4d2fb07370750b9f9aeb3f3f3781bfd68e --- .../iio/imu/st_lsm6dsr/st_lsm6dsr_buffer.c | 4 --- drivers/iio/imu/st_lsm6dsr/st_lsm6dsr_core.c | 28 +++++++++---------- 2 files changed, 14 insertions(+), 18 deletions(-) diff --git a/drivers/iio/imu/st_lsm6dsr/st_lsm6dsr_buffer.c b/drivers/iio/imu/st_lsm6dsr/st_lsm6dsr_buffer.c index af99c6234877..d4db6b7b7e5a 100644 --- a/drivers/iio/imu/st_lsm6dsr/st_lsm6dsr_buffer.c +++ b/drivers/iio/imu/st_lsm6dsr/st_lsm6dsr_buffer.c @@ -595,10 +595,6 @@ ssize_t st_lsm6dsr_set_watermark(struct device *dev, int err, val; mutex_lock(&iio_dev->mlock); - if (iio_buffer_enabled(iio_dev)) { - err = -EBUSY; - goto out; - } err = kstrtoint(buf, 10, &val); if (err < 0) diff --git a/drivers/iio/imu/st_lsm6dsr/st_lsm6dsr_core.c b/drivers/iio/imu/st_lsm6dsr/st_lsm6dsr_core.c index 186339dcda9c..0aa82a576fb7 100644 --- a/drivers/iio/imu/st_lsm6dsr/st_lsm6dsr_core.c +++ b/drivers/iio/imu/st_lsm6dsr/st_lsm6dsr_core.c @@ -368,13 +368,13 @@ static const struct st_lsm6dsr_odr_table_entry st_lsm6dsr_odr_table[] = { .mask = GENMASK(7, 4), }, .odr_avl[0] = { 0, 0, 0x00 }, - .odr_avl[1] = { 208, 0, 0x05 },//{ 12, 500000, 0x01 }, - .odr_avl[2] = { 26, 0, 0x02 },//{ 26, 0, 0x02 } - .odr_avl[3] = { 208, 0, 0x05 },//{ 52, 0, 0x03 }, - .odr_avl[4] = { 208, 0, 0x05 },//{ 104, 0, 0x04 }, - .odr_avl[5] = { 208, 0, 0x05 },//{ 208, 0, 0x05 }, - .odr_avl[6] = { 208, 0, 0x05 },//{ 416, 0, 0x06 }, - .odr_avl[7] = { 208, 0, 0x05 },//{ 833, 0, 0x07 } + .odr_avl[1] = { 12, 500000, 0x01 }, + .odr_avl[2] = { 26, 0, 0x02 }, + .odr_avl[3] = { 52, 0, 0x03 }, + .odr_avl[4] = { 104, 0, 0x04 }, + .odr_avl[5] = { 208, 0, 0x05 }, + .odr_avl[6] = { 416, 0, 0x06 }, + .odr_avl[7] = { 833, 0, 0x07 } }, [ST_LSM6DSR_ID_GYRO] = { .odr_size = 8, @@ -383,13 +383,13 @@ static const struct st_lsm6dsr_odr_table_entry st_lsm6dsr_odr_table[] = { .mask = GENMASK(7, 4), }, .odr_avl[0] = { 0, 0, 0x00 }, - .odr_avl[1] = { 208, 0, 0x05 },//{ 12, 500000, 0x01 }, - .odr_avl[2] = { 208, 0, 0x05 },//{ 26, 0, 0x02 } - .odr_avl[3] = { 208, 0, 0x05 },//{ 52, 0, 0x03 }, - .odr_avl[4] = { 208, 0, 0x05 },//{ 104, 0, 0x04 }, - .odr_avl[5] = { 208, 0, 0x05 },//{ 208, 0, 0x05 }, - .odr_avl[6] = { 208, 0, 0x05 },//{ 416, 0, 0x06 }, - .odr_avl[7] = { 208, 0, 0x05 },//{ 833, 0, 0x07 } + .odr_avl[1] = { 12, 500000, 0x01 }, + .odr_avl[2] = { 26, 0, 0x02 }, + .odr_avl[3] = { 52, 0, 0x03 }, + .odr_avl[4] = { 104, 0, 0x04 }, + .odr_avl[5] = { 208, 0, 0x05 }, + .odr_avl[6] = { 416, 0, 0x06 }, + .odr_avl[7] = { 833, 0, 0x07 } }, [ST_LSM6DSR_ID_TEMP] = { .odr_size = 2,