Thread (15 messages) 15 messages, 5 authors, 2016-01-05

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

From: Ludovic Desroches <hidden>
Date: 2016-01-05 13:18:06
Also in: linux-devicetree, linux-iio, lkml

On Wed, Dec 23, 2015 at 05:21:25PM +0000, Jonathan Cameron wrote:

On 23 December 2015 10:48:33 GMT+00:00, Ludovic Desroches [off-list ref] wrote:
quoted
On Wed, Dec 23, 2015 at 11:27:00AM +0100, Ludovic Desroches wrote:
quoted
On Tue, Dec 22, 2015 at 06:34:00PM +0000, Jonathan Cameron wrote:
quoted
On 21/12/15 09:24, Ludovic Desroches wrote:
quoted
This driver supports the new version of the Atmel ADC device
introduced
quoted
quoted
quoted
with the SAMA5D2 SoC family.
[...]
quoted
quoted
quoted
+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
quoted
quoted
rather than outside the interrupt?
No it can be done outside the interrupt. I have taken some parts from
the
quoted
previous driver but it was reading a register used by all the
channels
quoted
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.
I am not sure it will simplify the code since the interrupt is cleared
when reading the conversion not the interrupt status register.
quoted
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.
quoted
quoted
quoted
quoted
+		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 at vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
-- 
Sent from my Android device with K-9 Mail. Please excuse my brevity.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help