iio: stmpe-adc: Reset possible interrupts

Clear any interrupt that still is on the device on every channel
this driver is activated for in probe and specific channels in
the timeout handler.

Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
This commit is contained in:
Philippe Schenker 2019-05-07 16:36:15 +02:00 коммит произвёл Jonathan Cameron
Родитель e813dde6f8
Коммит ed1f310ee2
1 изменённых файлов: 5 добавлений и 0 удалений

Просмотреть файл

@ -80,6 +80,8 @@ static int stmpe_read_voltage(struct stmpe_adc *info,
ret = wait_for_completion_timeout(&info->completion, STMPE_ADC_TIMEOUT);
if (ret <= 0) {
stmpe_reg_write(info->stmpe, STMPE_REG_ADC_INT_STA,
STMPE_ADC_CH(info->channel));
mutex_unlock(&info->lock);
return -ETIMEDOUT;
}
@ -325,6 +327,9 @@ static int stmpe_adc_probe(struct platform_device *pdev)
stmpe_reg_write(info->stmpe, STMPE_REG_ADC_INT_EN,
~(norequest_mask & 0xFF));
stmpe_reg_write(info->stmpe, STMPE_REG_ADC_INT_STA,
~(norequest_mask & 0xFF));
return devm_iio_device_register(&pdev->dev, indio_dev);
}