linux/drivers/staging/greybus
Bryan O'Donoghue 262edc359d 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>
2017-11-06 16:41:22 +01:00
..
Documentation staging: greybus: firmware: Convert sscanf calls to strtoul 2017-03-09 19:29:50 +01:00
tools Staging: greybus: Match alignment with open parenthesis. 2017-08-18 15:57:17 -07:00
Kconfig staging: greybus: enable compile testing of arche driver 2017-05-16 13:39:16 +02:00
Makefile staging: greybus: enable compile testing of arche driver 2017-05-16 13:39:16 +02:00
arche-apb-ctrl.c staging: greybus: arche: remove timesync remains 2017-05-16 13:39:16 +02:00
arche-platform.c Staging: greybus: Fix spelling error in comment 2017-08-22 18:33:19 -07:00
arche_platform.h staging: greybus: arche: remove timesync remains 2017-05-16 13:39:16 +02:00
arpc.h staging: greybus: arpc.h: remove duplicate line. 2017-02-12 13:26:14 +01:00
audio_apbridgea.c greybus: audio: apbridgea: Remove GET_TX/RX_DELAY message types 2016-08-03 10:59:13 +02:00
audio_apbridgea.h greybus: audio: apbridgea: Remove GET_TX/RX_DELAY message types 2016-08-03 10:59:13 +02:00
audio_codec.c staging: greybus: audio: constify snd_soc_dai_ops structures 2017-08-22 18:33:19 -07:00
audio_codec.h staging: greybus: audio: Cleanup junk codec registers 2017-01-19 11:08:00 +01:00
audio_gb.c staging: greybus: audio_gb.c: Change uint32_t to u32 2017-01-23 09:56:29 +01:00
audio_manager.c greybus: audio: don't inclide rwlock.h directly. 2017-10-18 16:42:28 +02:00
audio_manager.h staging: greybus: audio: remove redundant slot field 2016-10-24 15:48:02 +02:00
audio_manager_module.c staging: greybus: audio: remove redundant slot field 2016-10-24 15:48:02 +02:00
audio_manager_private.h greybus: audio: Add Audio Manager 2016-01-13 16:12:56 -08:00
audio_manager_sysfs.c staging: greybus: audio: remove redundant slot field 2016-10-24 15:48:02 +02:00
audio_module.c staging: greybus: audio: Ensure proper byte order 2017-01-19 11:08:00 +01:00
audio_topology.c staging: greybus: audio: Ensure proper byte order 2017-01-19 11:08:00 +01:00
authentication.c staging: greybus: Remove duplicate include file 2017-02-03 13:01:36 +01:00
bootrom.c staging: greybus: fix "line over 80 characters" coding style issues 2017-02-12 13:26:14 +01:00
bundle.c staging: greybus: remove CONFIG_PM_RUNTIME from kernel_ver.h 2016-09-19 16:52:07 +02:00
bundle.h staging: greybus: remove CONFIG_PM_RUNTIME from kernel_ver.h 2016-09-19 16:52:07 +02:00
camera.c Staging: greybus: style fix, permissions as octal 2017-01-16 18:08:56 +01:00
connection.c staging: greybus: make cport_quiesce() method optional 2017-04-18 13:27:15 +02:00
connection.h greybus: connection: add support for high-priority connections 2016-06-24 16:22:30 -07:00
control.c staging: greybus: remove timesync protocol support 2017-01-07 17:00:57 +01:00
control.h staging: greybus: remove timesync protocol support 2017-01-07 17:00:57 +01:00
core.c staging: greybus: remove timesync protocol support 2017-01-07 17:00:57 +01:00
debugfs.c greybus: core: add device prefix to error messages 2016-02-11 21:44:17 -08:00
es2.c staging: greybus: mark expected switch fall-through in check_urb_status 2017-10-18 16:21:27 +02:00
firmware.h greybus: firmware: add comment to show size calculations 2016-08-12 17:38:19 +02:00
fw-core.c staging: greybus: spi: remove KERNEL_VERSION checks 2016-09-19 16:43:27 +02:00
fw-download.c staging: greybus: fix "line over 80 characters" coding style issues 2017-02-12 13:26:14 +01:00
fw-management.c greybus: firmware: s/_LEN/_SIZE 2016-08-12 17:38:19 +02:00
gb-camera.h greybus: camera: Update CSI config parameters 2016-07-17 10:31:21 +09:00
gbphy.c staging: greybus: make device_type const 2017-08-20 11:08:41 -07:00
gbphy.h staging: greybus: remove CONFIG_PM_RUNTIME from kernel_ver.h 2016-09-19 16:52:07 +02:00
gpio.c staging/iio driver patches for 4.11-rc1 2017-02-22 12:14:01 -08:00
greybus.h staging: greybus: remove timesync protocol support 2017-01-07 17:00:57 +01:00
greybus_authentication.h greybus: Add Component Authentication Protocol support 2016-07-06 17:51:32 -05:00
greybus_firmware.h greybus: firmware: s/_LEN/_SIZE 2016-08-12 17:38:19 +02:00
greybus_id.h greybus: Use BIT(2) for GREYBUS_ID_MATCH_CLASS 2016-06-09 17:28:02 -07:00
greybus_manifest.h greybus: Add Component Authentication Protocol support 2016-07-06 17:51:32 -05:00
greybus_protocols.h staging: greybus: remove timesync protocol support 2017-01-07 17:00:57 +01:00
greybus_trace.h staging: greybus: remove timesync protocol support 2017-01-07 17:00:57 +01:00
hd.c greybus: hd: arche-platform: implement greybus shutdown 2016-07-16 07:58:52 +09:00
hd.h staging: greybus: remove timesync protocol support 2017-01-07 17:00:57 +01:00
hid.c greybus: hid: remove custom locking from gb_hid_open/close 2017-06-08 13:56:10 +02:00
i2c.c greybus: i2c: add runtime pm support 2016-07-14 16:53:55 -05:00
interface.c staging: greybus: fix parenthesis alignments 2017-07-27 21:48:06 -07:00
interface.h staging: greybus: remove timesync protocol support 2017-01-07 17:00:57 +01:00
light.c staging: greybus: light: remove unnecessary error check 2017-09-29 15:39:22 +02:00
log.c staging: greybus: log: Fix line over 80 characters. 2017-01-05 18:22:20 +01:00
loopback.c staging: greybus: loopback: convert loopback to use generic async operations 2017-11-06 16:41:22 +01:00
manifest.c greybus: manifest: style fix missing space before '(' 2016-09-27 12:59:51 +02:00
manifest.h greybus: manifest: Use interface descriptor instead of module descriptor to get information 2015-04-06 12:05:58 +02:00
module.c greybus: fix a leak on error in gb_module_create() 2016-10-24 15:51:00 +02:00
module.h greybus: core: add module abstraction 2016-04-25 11:08:30 -07:00
operation.c staging: greybus: operation: add generic timeout support 2017-02-09 11:58:56 +01:00
operation.h staging: greybus: operation: add private data with get/set accessors 2017-11-06 16:41:22 +01:00
power_supply.c staging: greybus: power_supply: replace kzalloc by kcalloc 2017-05-15 07:41:59 +02:00
pwm.c pwm: Remove .can_sleep from struct pwm_chip 2017-01-04 09:40:54 +01:00
raw.c greybus: raw: use hexadecimal notation for request types 2016-03-03 10:02:48 -08:00
sdio.c staging: greybus: sdio: Prefer u32 over uint32_t 2017-01-27 09:29:23 +01:00
spi.c staging: greybus: spi: remove KERNEL_VERSION checks 2016-09-19 16:43:27 +02:00
spilib.c staging: greybus: spilib: fix use-after-free after deregistration 2017-11-02 11:42:16 +01:00
spilib.h staging: greybus: Fix coding style issue for column width 2017-07-27 21:48:06 -07:00
svc.c staging: greybus: fix symbolic permission coding style issues 2017-02-12 13:26:14 +01:00
svc.h staging: greybus: remove timesync protocol support 2017-01-07 17:00:57 +01:00
svc_watchdog.c staging/iio driver patches for 4.11-rc1 2017-02-22 12:14:01 -08:00
uart.c staging: greybus: uart.c: Remove include linux/serial.h 2017-04-18 13:27:16 +02:00
usb.c greybus: usb: constify hc_driver structures 2017-07-30 07:58:25 -07:00
vibrator.c Staging: greybus: vibrator.c: Fixed alignment to match open parenthesis. 2017-08-20 11:08:41 -07:00