staging: greybus: loopback: convert loopback to use generic async operations
authorBryan O'Donoghue <pure.logic@nexus-software.ie>
Mon, 6 Nov 2017 01:32:22 +0000 (01:32 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 6 Nov 2017 15:41:22 +0000 (16:41 +0100)
commit262edc359d429488af243eb45e007d360a738211
treea1c268899e71bcaff08e569f9fd5710d70455847
parent200543c1b94da9249b35ea1b8726cd0cdee128d5
staging: greybus: loopback: convert loopback to use generic async operations

Loopback has its own internal method for tracking and timing out
asynchronous operations however previous patches make it possible to use
functionality provided by operation.c to do this instead. Using the code in
operation.c means we can completely subtract the timer, the work-queue, the
kref and the cringe-worthy 'pending' flag. The completion callback
triggered by operation.c will provide an authoritative result code -
including -ETIMEDOUT for asynchronous operations.

Signed-off-by: Bryan O'Donoghue <pure.logic@nexus-software.ie>
Reviewed-by: Johan Hovold <johan@kernel.org>
Cc: Alex Elder <elder@kernel.org>
Cc: Kees Cook <keescook@chromium.org>
Cc: Mitch Tasman <tasman@leaflabs.com>
Cc: greybus-dev@lists.linaro.org
Cc: devel@driverdev.osuosl.org
Cc: linux-kernel@vger.kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/greybus/loopback.c