Re: [PATCH 1/5] iio:adc:at91_adc8xx: introduce new atmel adc driver

From: Jonathan Cameron
Date: Wed Dec 23 2015 - 12:21:36 EST




On 23 December 2015 10:48:33 GMT+00:00, Ludovic Desroches <ludovic.desroches@xxxxxxxxx> wrote:
>On Wed, Dec 23, 2015 at 11:27:00AM +0100, Ludovic Desroches wrote:
>> On Tue, Dec 22, 2015 at 06:34:00PM +0000, Jonathan Cameron wrote:
>> > On 21/12/15 09:24, Ludovic Desroches wrote:
>> > > This driver supports the new version of the Atmel ADC device
>introduced
>> > > with the SAMA5D2 SoC family.
>> > >
>
>[...]
>
>> > > +static irqreturn_t at91_adc_interrupt(int irq, void *private)
>> > > +{
>> > > + struct iio_dev *indio = private;
>> > > + struct at91_adc_state *st = iio_priv(indio);
>> > > + u32 status = at91_adc_readl(st, ADC_ISR);
>> > > +
>> > > + status &= at91_adc_readl(st, ADC_IMR);
>> > > + if (status & 0xFFF) {
>> > > + st->last_value = at91_adc_readl(st, st->chan->address);
>> > If this is a polled read - is there any reason to read this value
>here
>> > rather than outside the interrupt?
>>
>> No it can be done outside the interrupt. I have taken some parts from
>the
>> previous driver but it was reading a register used by all the
>channels
>> when it has been designed. So yes there is probably no more reason to
>> read it into the interrupt.
>>
>
>Thinking about it. Is it really useful to move reading outside the
>interrupt?
It avoids needing to know the channel in here, hence simplifying the code a bit.
>
>By the way this is not a polled read.
I meant that it is an individually requested conversion rather than a free running
sampling system where the value read might change before it is read out.
>
>> > > + st->done = true;
>> > > + wake_up_interruptible(&st->wq_data_available);
>> > > + }
>> > > +
>> > > + return IRQ_HANDLED;
>> > > +}
>
>Ludovic
>--
>To unsubscribe from this list: send the line "unsubscribe linux-iio" in
>the body of a message to majordomo@xxxxxxxxxxxxxxx
>More majordomo info at http://vger.kernel.org/majordomo-info.html

--
Sent from my Android device with K-9 Mail. Please excuse my brevity.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/