Messages in this thread Patch in this message | | | From | Daniel Wagner <> | Subject | [PATCH 2/2] iio: sx9500: Use complete() instead of complete_all() | Date | Thu, 4 Aug 2016 15:07:10 +0200 |
| |
From: Daniel Wagner <daniel.wagner@bmw-carit.de>
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
sx9500_read_proximity() sx9500_inc_chan_users() sx9500_inc_data_rdy_users() wait_for_completion_interruptible()
s9500_irq_thread_handler() complete()
reinit_completion()
Signed-off-by: Daniel Wagner <daniel.wagner@bmw-carit.de> --- drivers/iio/proximity/sx9500.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/iio/proximity/sx9500.c b/drivers/iio/proximity/sx9500.c index 1d74b3a..6f84f53 100644 --- a/drivers/iio/proximity/sx9500.c +++ b/drivers/iio/proximity/sx9500.c @@ -516,7 +516,7 @@ static irqreturn_t sx9500_irq_thread_handler(int irq, void *private) sx9500_push_events(indio_dev); if (val & SX9500_CONVDONE_IRQ) - complete_all(&data->completion); + complete(&data->completion); out: mutex_unlock(&data->mutex); -- 2.7.4
| |