Re: [PATCH 4/4] iio: ti_am335x_adc: Add continuous sampling andtrigger support

From: Zubair Lutfullah :
Date: Tue Aug 20 2013 - 12:27:11 EST


On Mon, Aug 19, 2013 at 07:12:38PM +0200, Sebastian Andrzej Siewior wrote:
> * Zubair Lutfullah | 2013-08-13 21:05:03 [+0100]:
>
> >diff --git a/drivers/iio/adc/ti_am335x_adc.c b/drivers/iio/adc/ti_am335x_adc.c
> >index 3ceac3e..0d7e313 100644
> >--- a/drivers/iio/adc/ti_am335x_adc.c
> >+++ b/drivers/iio/adc/ti_am335x_adc.c
> â
> >+static irqreturn_t tiadc_irq(int irq, void *private)
> >+{
> â
> >+ wake_up_interruptible(&adc_dev->wq_data_avail);
> â
> >+}
> â
> >+static irqreturn_t tiadc_trigger_h(int irq, void *p)
> >+{
> â
> >+ schedule_work(&adc_dev->poll_work);
> â
> >+}
> â
> >+static void tiadc_adc_work(struct work_struct *work_s)
> >+{
> â
> >+ wait_event_interruptible(adc_dev->wq_data_avail,
> >+ (adc_dev->data_avail == 1));
> â
> >+}
>
> This is not very nice. The problem is that you might sleep in a
> workqueue and so the other jobs will wait until you are done. I'm think
This will change to a different style.

> I'm looking into DMA support for this so once your code is working it
> should be possible to switch to DMA instead reading byte wise from the
> fifo.
Great.

> How did you test the whole thing? Do you have a test program which
> selects a few sources and reads them in continuous mode?
>
generic_buffer.c runs for this for sysfs trigger..
However. If you follow the other thread.
This is obsolete and trigger style is changing to a driver trigger.

I'll update when I'm done.

Thanks
ZubairLK
--
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/