RE: [PATCH] staging: iio: fix spi cs_change behaviour

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Jonathan Cameron wrote on 2011-01-12:
> On 01/12/11 09:55, Manuel Stahl wrote:
>> The normal behaviour is:
>>  * After all transfers except the last: CS stays active
>>  * After the last transfer: CS goes inactive
>
> Hi Manuel,
>
> Thanks for doing this.
>
> This ideally wants an ack from someone at Analog (Michael perhaps?)
> given it touches so many of their drivers.
>
> I'm not keen on the level of change in the lis3l02dq going in within
> this set. The change looks worthwhile, but it isn't just fixing the
> cs_change problem so it really shouldn't be in this patch.
> We can put that one in place at a later date.
> Same is true for the sca3000 driver.  Please just do the cs_change
> fixes in this patch.
>
> A few cases here remove cases where cs_change is set to 0 anyway.
> Worthy cleanups, but not fixes.  Still those are at least within the
> spirit of the fixes and don't really matter.
>
> Feel free to add my ack to a version with the lis3l02dq and sca3000
> cleanups removed (and appropriate cs_change patches for those two).
>>
>> Signed-off-by: Manuel Stahl <manuel.stahl@xxxxxxxxxxxxxxxxx>

Acked-by: Michael Hennerich <michael.hennerich@xxxxxxxxxx>

>>
>> ---
>>  drivers/staging/iio/accel/adis16201_core.c |    4 +-
>>  drivers/staging/iio/accel/adis16201_ring.c |    2 +-
>>  drivers/staging/iio/accel/adis16203_core.c |    4 +-
>>  drivers/staging/iio/accel/adis16203_ring.c |    2 +-
>>  drivers/staging/iio/accel/adis16204_core.c |    4 +-
>>  drivers/staging/iio/accel/adis16204_ring.c |    2 +-
>>  drivers/staging/iio/accel/adis16209_core.c |    4 +-
>>  drivers/staging/iio/accel/adis16209_ring.c |    2 +-
>>  drivers/staging/iio/accel/adis16220_core.c |    6 ++--
>>  drivers/staging/iio/accel/adis16240_core.c |    4 +-
>>  drivers/staging/iio/accel/adis16240_ring.c |    2 +-
>>  drivers/staging/iio/accel/lis3l02dq_core.c |   34 +++++-------------
>>  ---------- drivers/staging/iio/accel/lis3l02dq_ring.c |    5 +++-
>>  drivers/staging/iio/accel/sca3000_core.c   |   15 +----------
>>  drivers/staging/iio/gyro/adis16251_core.c  |    8 +++---
>>  drivers/staging/iio/gyro/adis16260_core.c  |    4 +-
>>  drivers/staging/iio/gyro/adis16260_ring.c  |    2 +-
>>  drivers/staging/iio/imu/adis16300_core.c   |    4 +-
>>  drivers/staging/iio/imu/adis16300_ring.c   |    2 -
>>  drivers/staging/iio/imu/adis16350_core.c   |    4 +-
>>  drivers/staging/iio/imu/adis16350_ring.c   |    2 -
>>  drivers/staging/iio/imu/adis16400_core.c   |    4 +-
>>  drivers/staging/iio/imu/adis16400_ring.c   |    2 - 23 files changed,
>>  43 insertions(+), 79 deletions(-)
>> diff --git a/drivers/staging/iio/accel/adis16201_core.c
>> b/drivers/staging/iio/accel/adis16201_core.c
>> index 79b785a..45fc2c7 100644
>> --- a/drivers/staging/iio/accel/adis16201_core.c
>> +++ b/drivers/staging/iio/accel/adis16201_core.c
>> @@ -80,7 +80,7 @@ static int adis16201_spi_write_reg_16(struct
>> device
> *dev,
>>                      .tx_buf = st->tx + 2,
>>                      .bits_per_word = 8,
>>                      .len = 2,
>> -                    .cs_change = 1,
>> +                    .cs_change = 0,
>>              },
>>      };
>> @@ -125,7 +125,7 @@ static int adis16201_spi_read_reg_16(struct
> device *dev,
>>                      .rx_buf = st->rx,
>>                      .bits_per_word = 8,
>>                      .len = 2,
>> -                    .cs_change = 1,
>> +                    .cs_change = 0,
>>                      .delay_usecs = 20,
>>              },
>>      };
>> diff --git a/drivers/staging/iio/accel/adis16201_ring.c
>> b/drivers/staging/iio/accel/adis16201_ring.c
>> index e6870a2..9f35663 100644
>> --- a/drivers/staging/iio/accel/adis16201_ring.c
>> +++ b/drivers/staging/iio/accel/adis16201_ring.c
>> @@ -97,7 +97,7 @@ static int adis16201_read_ring_data(struct device
> *dev, u8 *rx)
>>      memset(xfers, 0, sizeof(xfers));
>>      for (i = 0; i <= ADIS16201_OUTPUTS; i++) {
>>              xfers[i].bits_per_word = 8;
>> -            xfers[i].cs_change = 1;
>> +            xfers[i].cs_change = (i < ADIS16201_OUTPUTS);
>>              xfers[i].len = 2;
>>              xfers[i].delay_usecs = 20;
>>              xfers[i].tx_buf = st->tx + 2 * i; diff --git
>> a/drivers/staging/iio/accel/adis16203_core.c
>> b/drivers/staging/iio/accel/adis16203_core.c
>> index b57f190..adf7f16 100644
>> --- a/drivers/staging/iio/accel/adis16203_core.c
>> +++ b/drivers/staging/iio/accel/adis16203_core.c
>> @@ -80,7 +80,7 @@ static int adis16203_spi_write_reg_16(struct
>> device
> *dev,
>>                      .tx_buf = st->tx + 2,
>>                      .bits_per_word = 8,
>>                      .len = 2,
>> -                    .cs_change = 1,
>> +                    .cs_change = 0,
>>              },
>>      };
>> @@ -125,7 +125,7 @@ static int adis16203_spi_read_reg_16(struct
> device *dev,
>>                      .rx_buf = st->rx,
>>                      .bits_per_word = 8,
>>                      .len = 2,
>> -                    .cs_change = 1,
>> +                    .cs_change = 0,
>>                      .delay_usecs = 20,
>>              },
>>      };
>> diff --git a/drivers/staging/iio/accel/adis16203_ring.c
>> b/drivers/staging/iio/accel/adis16203_ring.c
>> index 3d774f7..dc71406 100644
>> --- a/drivers/staging/iio/accel/adis16203_ring.c
>> +++ b/drivers/staging/iio/accel/adis16203_ring.c
>> @@ -89,7 +89,7 @@ static int adis16203_read_ring_data(struct device
> *dev, u8 *rx)
>>      memset(xfers, 0, sizeof(xfers));
>>      for (i = 0; i <= ADIS16203_OUTPUTS; i++) {
>>              xfers[i].bits_per_word = 8;
>> -            xfers[i].cs_change = 1;
>> +            xfers[i].cs_change = (i < ADIS16203_OUTPUTS);
>>              xfers[i].len = 2;
>>              xfers[i].delay_usecs = 20;
>>              xfers[i].tx_buf = st->tx + 2 * i; diff --git
>> a/drivers/staging/iio/accel/adis16204_core.c
>> b/drivers/staging/iio/accel/adis16204_core.c
>> index cc15e40..8c40cc3 100644
>> --- a/drivers/staging/iio/accel/adis16204_core.c
>> +++ b/drivers/staging/iio/accel/adis16204_core.c
>> @@ -79,7 +79,7 @@ static int adis16204_spi_write_reg_16(struct
>> device
> *dev,
>>                      .tx_buf = st->tx + 2,
>>                      .bits_per_word = 8,
>>                      .len = 2,
>> -                    .cs_change = 1,
>> +                    .cs_change = 0,
>>              },
>>      };
>> @@ -124,7 +124,7 @@ static int adis16204_spi_read_reg_16(struct
> device *dev,
>>                      .rx_buf = st->rx,
>>                      .bits_per_word = 8,
>>                      .len = 2,
>> -                    .cs_change = 1,
>> +                    .cs_change = 0,
>>                      .delay_usecs = 20,
>>              },
>>      };
>> diff --git a/drivers/staging/iio/accel/adis16204_ring.c
>> b/drivers/staging/iio/accel/adis16204_ring.c
>> index 420b160..fa716b5 100644
>> --- a/drivers/staging/iio/accel/adis16204_ring.c
>> +++ b/drivers/staging/iio/accel/adis16204_ring.c
>> @@ -87,7 +87,7 @@ static int adis16204_read_ring_data(struct device
> *dev, u8 *rx)
>>      memset(xfers, 0, sizeof(xfers));
>>      for (i = 0; i <= ADIS16204_OUTPUTS; i++) {
>>              xfers[i].bits_per_word = 8;
>> -            xfers[i].cs_change = 1;
>> +            xfers[i].cs_change = (i < ADIS16204_OUTPUTS);
>>              xfers[i].len = 2;
>>              xfers[i].delay_usecs = 20;
>>              xfers[i].tx_buf = st->tx + 2 * i; diff --git
>> a/drivers/staging/iio/accel/adis16209_core.c
>> b/drivers/staging/iio/accel/adis16209_core.c
>> index e4ac956..d209df1 100644
>> --- a/drivers/staging/iio/accel/adis16209_core.c
>> +++ b/drivers/staging/iio/accel/adis16209_core.c
>> @@ -82,7 +82,7 @@ static int adis16209_spi_write_reg_16(struct
>> device
> *dev,
>>                      .tx_buf = st->tx + 2,
>>                      .bits_per_word = 8,
>>                      .len = 2,
>> -                    .cs_change = 1,
>> +                    .cs_change = 0,
>>                      .delay_usecs = 30,
>>              },
>>      };
>> @@ -128,7 +128,7 @@ static int adis16209_spi_read_reg_16(struct
> device *dev,
>>                      .rx_buf = st->rx,
>>                      .bits_per_word = 8,
>>                      .len = 2,
>> -                    .cs_change = 1,
>> +                    .cs_change = 0,
>>                      .delay_usecs = 30,
>>              },
>>      };
>> diff --git a/drivers/staging/iio/accel/adis16209_ring.c
>> b/drivers/staging/iio/accel/adis16209_ring.c
>> index 8eba0af..caac15e 100644
>> --- a/drivers/staging/iio/accel/adis16209_ring.c
>> +++ b/drivers/staging/iio/accel/adis16209_ring.c
>> @@ -103,7 +103,7 @@ static int adis16209_read_ring_data(struct
>> device
> *dev, u8 *rx)
>>      memset(xfers, 0, sizeof(xfers));
>>      for (i = 0; i <= ADIS16209_OUTPUTS; i++) {
>>              xfers[i].bits_per_word = 8;
>> -            xfers[i].cs_change = 1;
>> +            xfers[i].cs_change = (i < ADIS16209_OUTPUTS);
>>              xfers[i].len = 2;
>>              xfers[i].delay_usecs = 30;
>>              xfers[i].tx_buf = st->tx + 2 * i; diff --git
>> a/drivers/staging/iio/accel/adis16220_core.c
>> b/drivers/staging/iio/accel/adis16220_core.c
>> index 1c1e98a..f6b4977 100644
>> --- a/drivers/staging/iio/accel/adis16220_core.c
>> +++ b/drivers/staging/iio/accel/adis16220_core.c
>> @@ -77,7 +77,7 @@ static int adis16220_spi_write_reg_16(struct
>> device
> *dev,
>>                      .tx_buf = st->tx + 2,
>>                      .bits_per_word = 8,
>>                      .len = 2,
>> -                    .cs_change = 1,
>> +                    .cs_change = 0,
>>                      .delay_usecs = 35,
>>              },
>>      };
>> @@ -123,7 +123,7 @@ static int adis16220_spi_read_reg_16(struct
> device *dev,
>>                      .rx_buf = st->rx,
>>                      .bits_per_word = 8,
>>                      .len = 2,
>> -                    .cs_change = 1,
>> +                    .cs_change = 0,
>>                      .delay_usecs = 35,
>>              },
>>      };
>> @@ -366,7 +366,7 @@ static ssize_t
> adis16220_capture_buffer_read(struct adis16220_state *st,
>>                      .tx_buf = st->tx,
>>                      .rx_buf = st->rx,
>>                      .bits_per_word = 8,
>> -                    .cs_change = 1,
>> +                    .cs_change = 0,
>>                      .delay_usecs = 25,
>>              },
>>      };
>> diff --git a/drivers/staging/iio/accel/adis16240_core.c
>> b/drivers/staging/iio/accel/adis16240_core.c
>> index d11d164..dcd8cb8 100644
>> --- a/drivers/staging/iio/accel/adis16240_core.c
>> +++ b/drivers/staging/iio/accel/adis16240_core.c
>> @@ -80,7 +80,7 @@ static int adis16240_spi_write_reg_16(struct
>> device
> *dev,
>>                      .tx_buf = st->tx + 2,
>>                      .bits_per_word = 8,
>>                      .len = 2,
>> -                    .cs_change = 1,
>> +                    .cs_change = 0,
>>                      .delay_usecs = 35,
>>              },
>>      };
>> @@ -126,7 +126,7 @@ static int adis16240_spi_read_reg_16(struct
> device *dev,
>>                      .rx_buf = st->rx,
>>                      .bits_per_word = 8,
>>                      .len = 2,
>> -                    .cs_change = 1,
>> +                    .cs_change = 0,
>>                      .delay_usecs = 35,
>>              },
>>      };
>> diff --git a/drivers/staging/iio/accel/adis16240_ring.c
>> b/drivers/staging/iio/accel/adis16240_ring.c
>> index f882e9c..5cf2fbf 100644
>> --- a/drivers/staging/iio/accel/adis16240_ring.c
>> +++ b/drivers/staging/iio/accel/adis16240_ring.c
>> @@ -91,7 +91,7 @@ static int adis16240_read_ring_data(struct device
> *dev, u8 *rx)
>>      memset(xfers, 0, sizeof(xfers));
>>      for (i = 0; i <= ADIS16240_OUTPUTS; i++) {
>>              xfers[i].bits_per_word = 8;
>> -            xfers[i].cs_change = 1;
>> +            xfers[i].cs_change = (i < ADIS16240_OUTPUTS);
>>              xfers[i].len = 2;
>>              xfers[i].delay_usecs = 30;
>>              xfers[i].tx_buf = st->tx + 2 * i; diff --git
>> a/drivers/staging/iio/accel/lis3l02dq_core.c
>> b/drivers/staging/iio/accel/lis3l02dq_core.c
>> index c4b4ab7..9a93771 100644
>> --- a/drivers/staging/iio/accel/lis3l02dq_core.c
>> +++ b/drivers/staging/iio/accel/lis3l02dq_core.c
>> @@ -53,23 +53,9 @@ int lis3l02dq_spi_read_reg_8(struct device *dev,
> u8 reg_address, u8 *val)
>>      struct iio_sw_ring_helper_state *h = iio_dev_get_devdata(indio_dev);
>>      struct lis3l02dq_state *st = lis3l02dq_h_to_s(h);
>> -    struct spi_transfer xfer = {
>> -            .tx_buf = st->tx,
>> -            .rx_buf = st->rx,
>> -            .bits_per_word = 8,
>> -            .len = 2,
>> -            .cs_change = 1,
>> -    };
>> -
>> -    mutex_lock(&st->buf_lock);
>> -    st->tx[0] = LIS3L02DQ_READ_REG(reg_address);
>> -    st->tx[1] = 0;
>> -
>> -    spi_message_init(&msg);
>> -    spi_message_add_tail(&xfer, &msg);
>> -    ret = spi_sync(st->us, &msg);
>> -    *val = st->rx[1];
>> -    mutex_unlock(&st->buf_lock);
>> +    ret = spi_w8r8(st->us, LIS3L02DQ_READ_REG(reg_address));
>> +    if (ret >= 0)
>> +            *val = ret;
>>
>>      return ret; } @@ -90,20 +76,12 @@ int
>>  lis3l02dq_spi_write_reg_8(struct device *dev,       struct
>>  iio_sw_ring_helper_state *h                 = iio_dev_get_devdata(indio_dev);
>>      struct lis3l02dq_state *st = lis3l02dq_h_to_s(h);
>> -    struct spi_transfer xfer = {
>> -            .tx_buf = st->tx,
>> -            .bits_per_word = 8,
>> -            .len = 2,
>> -            .cs_change = 1,
>> -    };
>>
>>      mutex_lock(&st->buf_lock);
>>      st->tx[0] = LIS3L02DQ_WRITE_REG(reg_address);
>>      st->tx[1] = *val;
>> -    spi_message_init(&msg);
>> -    spi_message_add_tail(&xfer, &msg);
>> -    ret = spi_sync(st->us, &msg);
>> +    ret = spi_write(st->us, st->tx, 2);
>>      mutex_unlock(&st->buf_lock);
>>
>>      return ret;
>> @@ -135,7 +113,7 @@ static int lis3l02dq_spi_write_reg_s16(struct
> device *dev,
>>                      .tx_buf = st->tx + 2,
>>                      .bits_per_word = 8,
>>                      .len = 2,
>> -                    .cs_change = 1,
>> +                    .cs_change = 0,
>>              },
>>      };
>> @@ -182,7 +160,7 @@ static int lis3l02dq_spi_read_reg_s16(struct
> device *dev,
>>                      .rx_buf = st->rx + 2,
>>                      .bits_per_word = 8,
>>                      .len = 2,
>> -                    .cs_change = 1,
>> +                    .cs_change = 0,
>>
>>              },
>>      };
>> diff --git a/drivers/staging/iio/accel/lis3l02dq_ring.c
>> b/drivers/staging/iio/accel/lis3l02dq_ring.c
>> index 1fd088a..c33f492 100644
>> --- a/drivers/staging/iio/accel/lis3l02dq_ring.c
>> +++ b/drivers/staging/iio/accel/lis3l02dq_ring.c
>> @@ -262,8 +262,11 @@ static int lis3l02dq_read_all(struct
> lis3l02dq_state *st, u8 *rx_array)
>>       * values in alternate bytes
>>       */
>>      spi_message_init(&msg);
>> -    for (j = 0; j < ring->scan_count * 2; j++)
>> +    for (j = 0; j < ring->scan_count * 2; j++) {
>> +            if (j == ring->scan_count * 2 - 1)
>> +                    xfers[j].cs_change = 0;
>>              spi_message_add_tail(&xfers[j], &msg);
>> +    }
>>
>>      ret = spi_sync(st->us, &msg);
>>      mutex_unlock(&st->buf_lock);
>> diff --git a/drivers/staging/iio/accel/sca3000_core.c
>> b/drivers/staging/iio/accel/sca3000_core.c
>> index 5b06dea..5ff8a8a 100644
>> --- a/drivers/staging/iio/accel/sca3000_core.c
>> +++ b/drivers/staging/iio/accel/sca3000_core.c
>> @@ -75,20 +75,10 @@ static const struct sca3000_chip_info
>> sca3000_spi_chip_info_tbl[] = {
>>
>>  int sca3000_write_reg(struct sca3000_state *st, u8 address, u8 val)
>> {
>> -    struct spi_transfer xfer = {
>> -            .bits_per_word = 8,
>> -            .len = 2,
>> -            .cs_change = 1,
>> -            .tx_buf = st->tx,
>> -    };
>> -    struct spi_message msg;
>> -
>>      st->tx[0] = SCA3000_WRITE_REG(address);
>>      st->tx[1] = val;
>> -    spi_message_init(&msg);
>> -    spi_message_add_tail(&xfer, &msg);
>>
>> -    return spi_sync(st->us, &msg);
>> +    return spi_write(st->us, st->tx, 2);
>>  }
>>
>>  int sca3000_read_data(struct sca3000_state *st, @@ -101,7 +91,6 @@ int
>>  sca3000_read_data(struct sca3000_state *st,         struct spi_transfer xfer
>>  = {                 .bits_per_word = 8,             .len = len + 1, -               .cs_change = 1,
>>              .tx_buf = st->tx,       };
>> @@ -173,7 +162,7 @@ static int __sca3000_unlock_reg_lock(struct
> sca3000_state *st)
>>              }, {
>>                      .bits_per_word = 8,
>>                      .len = 2,
>> -                    .cs_change = 1,
>> +                    .cs_change = 0,
>>                      .tx_buf = st->tx + 4,
>>              },
>>      };
>> diff --git a/drivers/staging/iio/gyro/adis16251_core.c
>> b/drivers/staging/iio/gyro/adis16251_core.c
>> index a0d400f..9a2ef36 100644
>> --- a/drivers/staging/iio/gyro/adis16251_core.c
>> +++ b/drivers/staging/iio/gyro/adis16251_core.c
>> @@ -81,7 +81,7 @@ static int adis16251_spi_write_reg_16(struct
>> device
> *dev,
>>                      .tx_buf = st->tx + 2,
>>                      .bits_per_word = 8,
>>                      .len = 2,
>> -                    .cs_change = 1,
>> +                    .cs_change = 0,
>>              },
>>      };
>> @@ -125,7 +125,7 @@ static int adis16251_spi_read_reg_16(struct
> device *dev,
>>                      .rx_buf = st->rx,
>>                      .bits_per_word = 8,
>>                      .len = 2,
>> -                    .cs_change = 1,
>> +                    .cs_change = 0,
>>              },
>>      };
>> @@ -174,7 +174,7 @@ int adis16251_spi_read_burst(struct device *dev,
> u8 *rx)
>>                      .rx_buf = rx,
>>                      .bits_per_word = 8,
>>                      .len = 24,
>> -                    .cs_change = 1,
>> +                    .cs_change = 0,
>>              },
>>      };
>> @@ -231,7 +231,7 @@ int adis16251_spi_read_sequence(struct device
> *dev,
>>                      xfers[i].tx_buf = st->tx + 2*i;
>>              xfers[i].bits_per_word = 8;
>>              xfers[i].len = 2;
>> -            xfers[i].cs_change = 1;
>> +            xfers[i].cs_change = (i < num);
>>              spi_message_add_tail(&xfers[i], &msg);
>>      }
>> diff --git a/drivers/staging/iio/gyro/adis16260_core.c
>> b/drivers/staging/iio/gyro/adis16260_core.c
>> index 045e27d..cd1fbf6 100644
>> --- a/drivers/staging/iio/gyro/adis16260_core.c
>> +++ b/drivers/staging/iio/gyro/adis16260_core.c
>> @@ -80,7 +80,7 @@ static int adis16260_spi_write_reg_16(struct
>> device
> *dev,
>>                      .tx_buf = st->tx + 2,
>>                      .bits_per_word = 8,
>>                      .len = 2,
>> -                    .cs_change = 1,
>> +                    .cs_change = 0,
>>                      .delay_usecs = 20,
>>              },
>>      };
>> @@ -126,7 +126,7 @@ static int adis16260_spi_read_reg_16(struct
> device *dev,
>>                      .rx_buf = st->rx,
>>                      .bits_per_word = 8,
>>                      .len = 2,
>> -                    .cs_change = 1,
>> +                    .cs_change = 0,
>>                      .delay_usecs = 30,
>>              },
>>      };
>> diff --git a/drivers/staging/iio/gyro/adis16260_ring.c
>> b/drivers/staging/iio/gyro/adis16260_ring.c
>> index 2342889..79e50c7 100644
>> --- a/drivers/staging/iio/gyro/adis16260_ring.c
>> +++ b/drivers/staging/iio/gyro/adis16260_ring.c
>> @@ -90,7 +90,7 @@ static int adis16260_read_ring_data(struct device
> *dev, u8 *rx)
>>      memset(xfers, 0, sizeof(xfers));
>>      for (i = 0; i <= ADIS16260_OUTPUTS; i++) {
>>              xfers[i].bits_per_word = 8;
>> -            xfers[i].cs_change = 1;
>> +            xfers[i].cs_change = (i < ADIS16260_OUTPUTS);
>>              xfers[i].len = 2;
>>              xfers[i].delay_usecs = 30;
>>              xfers[i].tx_buf = st->tx + 2 * i; diff --git
>> a/drivers/staging/iio/imu/adis16300_core.c
>> b/drivers/staging/iio/imu/adis16300_core.c
>> index 7ad13f4..5c651ca 100644
>> --- a/drivers/staging/iio/imu/adis16300_core.c
>> +++ b/drivers/staging/iio/imu/adis16300_core.c
>> @@ -82,7 +82,7 @@ static int adis16300_spi_write_reg_16(struct
>> device
> *dev,
>>                      .tx_buf = st->tx + 2,
>>                      .bits_per_word = 8,
>>                      .len = 2,
>> -                    .cs_change = 1,
>> +                    .cs_change = 0,
>>                      .delay_usecs = 75,
>>              },
>>      };
>> @@ -128,7 +128,7 @@ static int adis16300_spi_read_reg_16(struct
> device *dev,
>>                      .rx_buf = st->rx,
>>                      .bits_per_word = 8,
>>                      .len = 2,
>> -                    .cs_change = 1,
>> +                    .cs_change = 0,
>>                      .delay_usecs = 75,
>>              },
>>      };
>> diff --git a/drivers/staging/iio/imu/adis16300_ring.c
>> b/drivers/staging/iio/imu/adis16300_ring.c
>> index 114fdf4..1627354 100644
>> --- a/drivers/staging/iio/imu/adis16300_ring.c
>> +++ b/drivers/staging/iio/imu/adis16300_ring.c
>> @@ -114,12 +114,10 @@ static int adis16300_spi_read_burst(struct
> device *dev, u8 *rx)
>>                      .tx_buf = st->tx,                       .bits_per_word = 8,                     .len = 2,
>>  -                   .cs_change = 0,                 }, {                    .rx_buf = rx,                   .bits_per_word = 8,
>>                      .len = 18, -                    .cs_change = 0,                 },      };
>> diff --git a/drivers/staging/iio/imu/adis16350_core.c
>> b/drivers/staging/iio/imu/adis16350_core.c
>> index cf7176b..09f0691 100644
>> --- a/drivers/staging/iio/imu/adis16350_core.c
>> +++ b/drivers/staging/iio/imu/adis16350_core.c
>> @@ -81,7 +81,7 @@ static int adis16350_spi_write_reg_16(struct
>> device
> *dev,
>>                      .tx_buf = st->tx + 2,
>>                      .bits_per_word = 8,
>>                      .len = 2,
>> -                    .cs_change = 1,
>> +                    .cs_change = 0,
>>                      .delay_usecs = 35,
>>              },
>>      };
>> @@ -127,7 +127,7 @@ static int adis16350_spi_read_reg_16(struct
> device *dev,
>>                      .rx_buf = st->rx,
>>                      .bits_per_word = 8,
>>                      .len = 2,
>> -                    .cs_change = 1,
>> +                    .cs_change = 0,
>>                      .delay_usecs = 35,
>>              },
>>      };
>> diff --git a/drivers/staging/iio/imu/adis16350_ring.c
>> b/drivers/staging/iio/imu/adis16350_ring.c
>> index 56b70cf..3653d8c 100644
>> --- a/drivers/staging/iio/imu/adis16350_ring.c
>> +++ b/drivers/staging/iio/imu/adis16350_ring.c
>> @@ -110,12 +110,10 @@ static int adis16350_spi_read_burst(struct
> device *dev, u8 *rx)
>>                      .tx_buf = st->tx,                       .bits_per_word = 8,                     .len = 2,
>>  -                   .cs_change = 0,                 }, {                    .rx_buf = rx,                   .bits_per_word = 8,
>>                      .len = 22, -                    .cs_change = 0,                 },      };
> Technically this one doesn't change anything..
>>
>> diff --git a/drivers/staging/iio/imu/adis16400_core.c
>> b/drivers/staging/iio/imu/adis16400_core.c
>> index cfb108a..1a60a5e 100644
>> --- a/drivers/staging/iio/imu/adis16400_core.c
>> +++ b/drivers/staging/iio/imu/adis16400_core.c
>> @@ -93,7 +93,7 @@ static int adis16400_spi_write_reg_16(struct
>> device
> *dev,
>>                      .tx_buf = st->tx + 2,
>>                      .bits_per_word = 8,
>>                      .len = 2,
>> -                    .cs_change = 1,
>> +                    .cs_change = 0,
>>              },
>>      };
>> @@ -137,7 +137,7 @@ static int adis16400_spi_read_reg_16(struct
> device *dev,
>>                      .rx_buf = st->rx,
>>                      .bits_per_word = 8,
>>                      .len = 2,
>> -                    .cs_change = 1,
>> +                    .cs_change = 0,
>>              },
>>      };
>> diff --git a/drivers/staging/iio/imu/adis16400_ring.c
>> b/drivers/staging/iio/imu/adis16400_ring.c
>> index 33293fb..ac381ca 100644
>> --- a/drivers/staging/iio/imu/adis16400_ring.c
>> +++ b/drivers/staging/iio/imu/adis16400_ring.c
>> @@ -122,12 +122,10 @@ static int adis16400_spi_read_burst(struct
> device *dev, u8 *rx)
>>                      .tx_buf = st->tx,                       .bits_per_word = 8,                     .len = 2,
>>  -                   .cs_change = 0,                 }, {                    .rx_buf = rx,                   .bits_per_word = 8,
>>                      .len = 24, -                    .cs_change = 1,                 },      };
>

Greetings,
Michael

--
Analog Devices GmbH      Wilhelm-Wagenfeld-Str. 6      80807 Muenchen
Sitz der Gesellschaft: Muenchen; Registergericht: Muenchen HRB 40368; Geschaeftsfuehrer:Dr.Carsten Suckrow, Thomas Wessel, William A. Martin, Margaret Seif


--
To unsubscribe from this list: send the line "unsubscribe linux-iio" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Input]     [Linux Kernel]     [Linux SCSI]     [X.org]

  Powered by Linux