Message ID | 20190507143615.28477-3-dev@pschenker.ch (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [1/5] iio: stmpe-adc: Add compatible name | expand |
On Tue, 7 May 2019 16:36:13 +0200 Philippe Schenker <dev@pschenker.ch> wrote: > From: Philippe Schenker <philippe.schenker@toradex.com> > > 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> Applied to the togreg branch of iio.git and pushed out as testing for the autobuilders to play with it. Thanks, Jonathan > --- > > drivers/iio/adc/stmpe-adc.c | 6 +++--- > 1 file changed, 3 insertions(+), 3 deletions(-) > > diff --git a/drivers/iio/adc/stmpe-adc.c b/drivers/iio/adc/stmpe-adc.c > index b3872eb37293..82b43e4522b6 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)); > > @@ -336,6 +333,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); > } >
diff --git a/drivers/iio/adc/stmpe-adc.c b/drivers/iio/adc/stmpe-adc.c index b3872eb37293..82b43e4522b6 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)); @@ -336,6 +333,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); }