OSDN Git Service

iio: imu: st_lsm6dsx: convert max_fifo_size in FIFO sample size
authorLorenzo Bianconi <lorenzo.bianconi83@gmail.com>
Mon, 2 Oct 2017 16:37:37 +0000 (18:37 +0200)
committerJonathan Cameron <Jonathan.Cameron@huawei.com>
Mon, 9 Oct 2017 19:50:52 +0000 (20:50 +0100)
Express max fifo depth in ST_LSM6DSX_SAMPLE_SIZE instead of in bytes.
That change will be necessary to properly support more devices
in st_lsm6dsx driver

Signed-off-by: Lorenzo Bianconi <lorenzo.bianconi@st.com>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_core.c

index debf406..e6e0363 100644 (file)
@@ -156,21 +156,21 @@ static const struct st_lsm6dsx_fs_table_entry st_lsm6dsx_fs_table[] = {
 static const struct st_lsm6dsx_settings st_lsm6dsx_sensor_settings[] = {
        {
                .wai = 0x69,
-               .max_fifo_size = 8192,
+               .max_fifo_size = 1365,
                .id = {
                        [0] = ST_LSM6DS3_ID,
                },
        },
        {
                .wai = 0x69,
-               .max_fifo_size = 4096,
+               .max_fifo_size = 682,
                .id = {
                        [0] = ST_LSM6DS3H_ID,
                },
        },
        {
                .wai = 0x6a,
-               .max_fifo_size = 4096,
+               .max_fifo_size = 682,
                .id = {
                        [0] = ST_LSM6DSL_ID,
                        [1] = ST_LSM6DSM_ID,
@@ -462,10 +462,9 @@ static int st_lsm6dsx_set_watermark(struct iio_dev *iio_dev, unsigned int val)
 {
        struct st_lsm6dsx_sensor *sensor = iio_priv(iio_dev);
        struct st_lsm6dsx_hw *hw = sensor->hw;
-       int err, max_fifo_len;
+       int err;
 
-       max_fifo_len = hw->settings->max_fifo_size / ST_LSM6DSX_SAMPLE_SIZE;
-       if (val < 1 || val > max_fifo_len)
+       if (val < 1 || val > hw->settings->max_fifo_size)
                return -EINVAL;
 
        err = st_lsm6dsx_update_watermark(sensor, val);