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-iio" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html