mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-05-03 14:42:18 -04:00
iio: adc: ad7124: set initial ADC mode to idle
During setup the st->adc_control is 0, which corresponds to a continuous conversion mode. The reset value for channel 1 is to enable it. The combined effect of these two is that the ADC will start conversions for channel 1 without them being read. This is not neccessarily a problem, but it is an unexpected behavior. Set the ADC state to idle during setup to avoid this. Signed-off-by: Dumitru Ceclan <dumitru.ceclan@analog.com> Reviewed-by: Nuno Sa <nuno.sa@analog.com> Link: https://patch.msgid.link/20240731-ad7124-fix-v1-4-46a76aa4b9be@analog.com Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
This commit is contained in:
committed by
Jonathan Cameron
parent
b7eef979b7
commit
6f055df6f6
@@ -896,6 +896,9 @@ static int ad7124_setup(struct ad7124_state *st)
|
||||
st->adc_control &= ~AD7124_ADC_CTRL_PWR_MSK;
|
||||
st->adc_control |= AD7124_ADC_CTRL_PWR(power_mode);
|
||||
|
||||
st->adc_control &= ~AD7124_ADC_CTRL_MODE_MSK;
|
||||
st->adc_control |= AD7124_ADC_CTRL_MODE(AD_SD_MODE_IDLE);
|
||||
|
||||
mutex_init(&st->cfgs_lock);
|
||||
INIT_KFIFO(st->live_cfgs_fifo);
|
||||
for (i = 0; i < st->num_channels; i++) {
|
||||
|
||||
Reference in New Issue
Block a user