summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhilippe Schenker <philippe.schenker@toradex.com>2019-05-07 16:36:13 +0200
committerMarcel Ziswiler <marcel.ziswiler@toradex.com>2020-04-15 01:24:39 +0200
commitbd8067b0cc4d8bb336124f76cfffcbdc551d9237 (patch)
treed43d57917ce2a698faaa28890fc1b1ee7952d92d
parent161beb6e21e1a5bee63105b7db1677f95a2073e4 (diff)
iio: stmpe-adc: Enable all stmpe-adc interrupts just once
This commit will enable the interrupts of all channels handled by this driver only once in the probe function. This will improve performance because one byte less has to be written over i2c on each read out of the adc. On the fastest ADC mode this will improve read out speed by 15%. Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com> Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com> (cherry picked from commit 4bd44bb2b470459d795c4bac328ed8edb7ebd132)
-rw-r--r--drivers/iio/adc/stmpe-adc.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/iio/adc/stmpe-adc.c b/drivers/iio/adc/stmpe-adc.c
index 021fee06684e..8119d7bb2b94 100644
--- a/drivers/iio/adc/stmpe-adc.c
+++ b/drivers/iio/adc/stmpe-adc.c
@@ -74,9 +74,6 @@ static int stmpe_read_voltage(struct stmpe_adc *info,
return -EINVAL;
}
- stmpe_reg_write(info->stmpe, STMPE_REG_ADC_INT_EN,
- STMPE_ADC_CH(info->channel));
-
stmpe_reg_write(info->stmpe, STMPE_REG_ADC_CAPT,
STMPE_ADC_CH(info->channel));
@@ -334,6 +331,9 @@ static int stmpe_adc_probe(struct platform_device *pdev)
if (ret)
return ret;
+ stmpe_reg_write(info->stmpe, STMPE_REG_ADC_INT_EN,
+ ~(norequest_mask & 0xFF));
+
return devm_iio_device_register(&pdev->dev, indio_dev);
}