diff options
author | Lars-Peter Clausen <lars@metafoo.de> | 2016-04-15 14:59:38 (GMT) |
---|---|---|
committer | Jonathan Cameron <jic23@kernel.org> | 2016-04-16 12:42:43 (GMT) |
commit | af8a41271b56f6d79cb4d7c7f3ca688a2d97a801 (patch) | |
tree | aff84a8a57ecd57040887a84013c8a709a7e151e /drivers/iio/imu/adis.c | |
parent | 964d97bdab7d81bb65453d84ed3a51f4605a7e9c (diff) | |
download | linux-af8a41271b56f6d79cb4d7c7f3ca688a2d97a801.tar.xz |
iio:adis: Add support for manual self-test flag clear
Some variants of the devices from the ADIS family don't auto-clear the
self-test bit after the self-test has completed. Instead we have to
manually clear. Add support for this to the ADIS library.
Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
Diffstat (limited to 'drivers/iio/imu/adis.c')
-rw-r--r-- | drivers/iio/imu/adis.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/drivers/iio/imu/adis.c b/drivers/iio/imu/adis.c index 911255d..ad6f91d 100644 --- a/drivers/iio/imu/adis.c +++ b/drivers/iio/imu/adis.c @@ -324,7 +324,12 @@ static int adis_self_test(struct adis *adis) msleep(adis->data->startup_delay); - return adis_check_status(adis); + ret = adis_check_status(adis); + + if (adis->data->self_test_no_autoclear) + adis_write_reg_16(adis, adis->data->msc_ctrl_reg, 0x00); + + return ret; } /** |