Commit 8c11e161 authored by Daniel Wagner's avatar Daniel Wagner Committed by Jonathan Cameron
Browse files

iio: sx9500: Use complete() instead of complete_all()



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: default avatarDaniel Wagner <daniel.wagner@bmw-carit.de>
Signed-off-by: default avatarJonathan Cameron <jic23@kernel.org>
parent cba4985e
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -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);