Commit ed1f310e authored by Philippe Schenker's avatar Philippe Schenker Committed by Jonathan Cameron
Browse files

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: default avatarPhilippe Schenker <philippe.schenker@toradex.com>
Signed-off-by: default avatarJonathan Cameron <Jonathan.Cameron@huawei.com>
parent e813dde6
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -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);
}