[PATCH 1/2] iio: adc: Use complete() instead of complete_all()

From: Daniel Wagner
Date: Thu Aug 04 2016 - 09:07:39 EST


From: Daniel Wagner <daniel.wagner@xxxxxxxxxxxx>

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@xxxxxxxxxxxx>
---
drivers/iio/adc/nau7802.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/iio/adc/nau7802.c b/drivers/iio/adc/nau7802.c
index db9b829..08f4466 100644
--- a/drivers/iio/adc/nau7802.c
+++ b/drivers/iio/adc/nau7802.c
@@ -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;
}
--
2.7.4