iio: adc: Use complete() instead of complete_all()
authorDaniel Wagner <daniel.wagner@bmw-carit.de>
Thu, 4 Aug 2016 13:07:09 +0000 (15:07 +0200)
committerJonathan Cameron <jic23@kernel.org>
Mon, 15 Aug 2016 17:01:27 +0000 (18:01 +0100)
There is only one waiter for the completion, therefore there
is no need to use complete_all(). Let's make that clear by
using complete() instead of complete_all().

The usage pattern of the completion is:

waiter context                          waker context

nau7802_read_irq()
  reinit_completion()
  nau7802_read_conversion()
  wait_for_completion_interruptible_timeout()

                                        nau7802_eoc_trigger()
                                          complete()

Signed-off-by: Daniel Wagner <daniel.wagner@bmw-carit.de>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
drivers/iio/adc/nau7802.c

index db9b829ccf0daef20b6d9201deeba23e31b4222f..08f446695f976ce202b1c7e9542b4a120de5e1d1 100644 (file)
@@ -197,7 +197,7 @@ static irqreturn_t nau7802_eoc_trigger(int irq, void *private)
        if (st->conversion_count < NAU7802_MIN_CONVERSIONS)
                st->conversion_count++;
        if (st->conversion_count >= NAU7802_MIN_CONVERSIONS)
-               complete_all(&st->value_ok);
+               complete(&st->value_ok);
 
        return IRQ_HANDLED;
 }
This page took 0.02478 seconds and 5 git commands to generate.