OpenCloudOS-Kernel/drivers/staging/greybus
Johan Hovold 701615f82f greybus: operation: add completion work queue
Add dedicated bound work queue for operation completions and use the
connection work queues for incoming requests only.

There is no need to keep responses ordered internally or with respect to
requests. Instead allow operations to complete as soon as possible when
a response arrives (or the operation is cancelled).

Note that this also allows synchronous requests to be submitted from
request handlers as responses will no longer be blocked on the same
single-threaded work queue. Similarly, operations can now also be
cancelled from a request handler.

Tested-by: Rui Miguel Silva <rui.silva@linaro.org>
Signed-off-by: Johan Hovold <johan@hovoldconsulting.com>
Reviewed-by: Viresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2015-07-23 12:55:25 -07:00
..
Documentation greybus: interface: device_id belongs to the interface 2015-07-01 16:38:42 -07:00
.gitignore greybus: gitignore: few more additions 2014-11-14 13:14:37 -08:00
Android.mk greybus: build: android: Fix script which locates .ko files and moves them into ramdisk 2015-01-27 14:49:04 -08:00
LICENSE greybus: Initial commit 2014-08-11 15:29:23 +08:00
Makefile greybus: svc: SVC is part of greybus core 2015-07-08 11:44:25 -07:00
README greybus: update README with info on how to build and contact me. 2014-08-11 15:44:51 +08:00
ap.c greybus: svc: Drop svc_set_route_send() 2015-07-01 16:38:42 -07:00
audio-dai.c greybus: add copyright statements 2015-05-23 16:47:56 -07:00
audio-gb-cmds.c greybus: audio: Fix typo for macro I2S data version minor 2015-05-28 14:38:38 -07:00
audio-pcm.c greybus: gb-audio: Reset sample count when CPort deactivated 2015-06-10 10:35:03 -07:00
audio.c greybus: gb-audio: Ensure i2c adapter struct exists before using 2015-06-29 18:04:38 -07:00
audio.h greybus: add copyright statements 2015-05-23 16:47:56 -07:00
battery.c greybus: battery: use feature tag rather than kernel version 2015-05-07 22:55:43 +02:00
bundle.c greybus: bundles: remove gb_bundle(s)_init() 2015-07-01 16:38:42 -07:00
bundle.h greybus: bundles: remove gb_bundle(s)_init() 2015-07-01 16:38:42 -07:00
connection.c greybus: operation: use per-connection work queues 2015-07-23 12:55:25 -07:00
connection.h greybus: operation: use per-connection work queues 2015-07-23 12:55:25 -07:00
control.c greybus: operation: fix atomic response allocation 2015-07-20 16:14:29 -07:00
control.h greybus: Add control protocol support 2015-06-23 23:16:15 -07:00
core.c greybus: Cleanup connection leftovers 2015-07-13 15:40:37 -07:00
debugfs.c greybus: tag core init and exit functions 2015-06-10 10:38:23 -07:00
devices greybus: devices: endpoint description of device 2014-09-13 17:31:27 -07:00
endo.c greybus: endo: Fix compilation warning 2015-06-11 09:18:45 -07:00
endo.h greybus: remove __init from .h files 2015-06-11 09:35:00 -07:00
es1.c greybus: operation/esx: fix message-cancellation lifetime bugs 2015-07-01 16:43:02 -07:00
es2.c greybus: operation/esx: fix message-cancellation lifetime bugs 2015-07-01 16:43:02 -07:00
gpbridge.c greybus: gpbridge: rename gpb.c to gpbridge.c 2015-05-20 22:43:05 -07:00
gpio.c greybus: Rename gb_gpbridge_protocol_driver() as gb_builtin_protocol_driver() 2015-07-01 16:34:55 -07:00
greybus.h greybus: svc: Add helpers to create AP<->SVC connection 2015-07-22 10:12:41 -07:00
greybus_id.h greybus: bundle: s/class_type/class 2015-04-06 12:47:06 +02:00
greybus_manifest.h greybus: sync protocol and class definitions 2015-07-22 10:11:05 -07:00
greybus_protocols.h greybus: svc: Implement SVC requests 2015-07-22 10:12:41 -07:00
hid.c greybus: operation: allow atomic operation allocations 2015-07-01 16:45:39 -07:00
i2c.c greybus: operation: allow atomic operation allocations 2015-07-01 16:45:39 -07:00
interface.c greybus: svc: Add helpers to create AP<->SVC connection 2015-07-22 10:12:41 -07:00
interface.h greybus: svc: Add helpers to create AP<->SVC connection 2015-07-22 10:12:41 -07:00
kernel_ver.h greybus: kernel_ver: add list_last_entry for old kernels 2015-07-16 09:57:20 -07:00
loopback.c greybus: loopback: rename frequency to requests 2015-07-22 10:46:53 -07:00
manifest.c greybus: manifest: convert pr_err to dev_err 2015-07-22 10:17:26 -07: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: Prefix module-id with endo id 2015-06-08 15:18:02 -07:00
module.h greybus: endo: Create modules after validating Endo ID 2015-05-11 13:30:09 -07:00
operation.c greybus: operation: add completion work queue 2015-07-23 12:55:25 -07:00
operation.h greybus: operation: fix atomic response allocation 2015-07-20 16:14:29 -07:00
protocol.c greybus: connection: drop unneeded gb_protocol_put() calls 2015-06-12 12:13:01 -07:00
protocol.h greybus: protocol: move version_response structure to greybus_protocols.h 2015-07-22 10:11:05 -07:00
pwm.c greybus: Rename gb_gpbridge_protocol_driver() as gb_builtin_protocol_driver() 2015-07-01 16:34:55 -07:00
raw.c greybus: properly cleanup ida and idr structures when shutting down 2015-07-08 11:53:43 -07:00
sdio.c greybus: sdio: fix transfer buffer handling and blocks counting 2015-07-06 11:15:42 -07:00
spi.c greybus: operation: allow atomic operation allocations 2015-07-01 16:45:39 -07:00
svc.c greybus: svc: Fix build warning on 64bit systems 2015-07-23 12:51:38 -07:00
svc.h greybus: svc: Add helpers to create AP<->SVC connection 2015-07-22 10:12:41 -07:00
svc_msg.h greybus: hotplug function doesn't need to contain manifest now 2015-06-23 23:17:25 -07:00
uart.c greybus: uart: fix typo in defintion 2015-07-14 15:59:54 -07:00
usb.c greybus: operation: allow atomic operation allocations 2015-07-01 16:45:39 -07:00
vibrator.c greybus: properly cleanup ida and idr structures when shutting down 2015-07-08 11:53:43 -07:00

README

Greybus kernel code

To build against the running kernel (odds are you don't want this):
	make

To build against a specific kernel source tree (odds are you want this):
	KERNELDIR=/home/some/random/place make

Any questions / concerns about this code base, please email:
	Greg Kroah-Hartman <greg@kroah.com>