iio:imu: adis16475: Fix sync mode setting
Fix sync mode setting by applying the necessary shift bits.
Fixes: fff7352bf7
("iio: imu: Add support for adis16475")
Signed-off-by: Ramona Gradinariu <ramona.bolboaca13@gmail.com>
Reviewed-by: Nuno Sa <nuno.sa@analog.com>
Link: https://lore.kernel.org/r/20240405045309.816328-2-ramona.bolboaca13@gmail.com
Cc: <Stable@vger.kernel.org>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
This commit is contained in:
parent
6b8cffdc4a
commit
74a72baf20
|
@ -1289,6 +1289,7 @@ static int adis16475_config_sync_mode(struct adis16475 *st)
|
||||||
struct device *dev = &st->adis.spi->dev;
|
struct device *dev = &st->adis.spi->dev;
|
||||||
const struct adis16475_sync *sync;
|
const struct adis16475_sync *sync;
|
||||||
u32 sync_mode;
|
u32 sync_mode;
|
||||||
|
u16 val;
|
||||||
|
|
||||||
/* default to internal clk */
|
/* default to internal clk */
|
||||||
st->clk_freq = st->info->int_clk * 1000;
|
st->clk_freq = st->info->int_clk * 1000;
|
||||||
|
@ -1350,8 +1351,9 @@ static int adis16475_config_sync_mode(struct adis16475 *st)
|
||||||
* I'm keeping this for simplicity and avoiding extra variables
|
* I'm keeping this for simplicity and avoiding extra variables
|
||||||
* in chip_info.
|
* in chip_info.
|
||||||
*/
|
*/
|
||||||
|
val = ADIS16475_SYNC_MODE(sync->sync_mode);
|
||||||
ret = __adis_update_bits(&st->adis, ADIS16475_REG_MSG_CTRL,
|
ret = __adis_update_bits(&st->adis, ADIS16475_REG_MSG_CTRL,
|
||||||
ADIS16475_SYNC_MODE_MASK, sync->sync_mode);
|
ADIS16475_SYNC_MODE_MASK, val);
|
||||||
if (ret)
|
if (ret)
|
||||||
return ret;
|
return ret;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue