linux-stable/drivers/staging/greybus
Bryan O'Donoghue 93dbb97a3e greybus: timesync: Rework timesync removal serialization logic
We need to make sure we adequately cancel and quiesce any scheduled
TimeSync synchronization operations in the case of greybus.ko being yanked
out of memory i.e. when doing an EHCI runtime suspend or just a plain
rmmod. The scenario is a new TimeSync sync operation has been scheduled.
Next gb_timesync_svc_remove() runs. In this case we should terminate any
scheduled work, terminate our ktime tracking timer and state transition to
GB_TIMESYNC_STATE_INVALID to ensure no other context may schedule any new
TimeSync operations.

Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
Reviewed-by: Vaibhav Hiremath <vaibhav.hiremath@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2016-06-16 09:07:41 -07:00
..
Documentation greybus: firmware: Add license and copyright header to application 2016-06-16 00:03:43 -07:00
scripts greybus: checkpatch.pl: Mark --no-tree as default option 2016-04-02 19:44:30 -07:00
tools greybus: Fix loopback app after rename to gpphy 2016-05-26 22:23:25 -07:00
.gitignore greybus: tools: Add tools directory to greybus repo and add loopback 2015-12-17 18:17:07 -08:00
LICENSE greybus: Initial commit 2014-08-11 15:29:23 +08:00
Makefile greybus: bootrom: Compile as a separate module 2016-06-09 17:28:02 -07:00
README greybus: update README with info on how to build and contact me. 2014-08-11 15:44:51 +08:00
arche-apb-ctrl.c greybus: timesync: Add timesync core driver 2016-06-06 20:37:47 -07:00
arche-platform.c greybus: timesync: Add timesync core driver 2016-06-06 20:37:47 -07:00
arche_platform.h greybus: timesync: Add timesync core driver 2016-06-06 20:37:47 -07:00
audio_apbridgea.c greybus: audio_apbridgea: fix two return values 2016-05-20 16:36:43 -07:00
audio_apbridgea.h greybus: audio: Split start and stop APBridgeA requests 2016-03-01 22:44:49 -08:00
audio_codec.c greybus: Remove extra blank lines 2016-06-10 16:32:33 -07:00
audio_codec.h greybus: audio: Remove redundant lock protection & is_connected field 2016-05-04 11:29:06 -07:00
audio_gb.c greybus: audio: Fix sparse warnings 2016-02-02 21:26:32 -08:00
audio_manager.c greybus: audio: gb_manager: Use valid argument while removing ida allocated id. 2016-05-18 16:33:31 -07:00
audio_manager.h greybus: audio_manager: Split device type into i/p & o/p devices 2016-04-05 09:39:22 -04:00
audio_manager_module.c greybus: audio_manager: Split device type into i/p & o/p devices 2016-04-05 09:39:22 -04:00
audio_manager_private.h greybus: audio: Add Audio Manager 2016-01-13 16:12:56 -08:00
audio_manager_sysfs.c greybus: audio_manager: Split device type into i/p & o/p devices 2016-04-05 09:39:22 -04:00
audio_module.c greybus: Remove extra blank lines 2016-06-10 16:32:33 -07:00
audio_topology.c greybus: Remove extra blank lines 2016-06-10 16:32:33 -07:00
bootrom.c greybus: bootrom: Compile as a separate module 2016-06-09 17:28:02 -07:00
bundle.c greybus: Remove extra blank lines 2016-06-10 16:32:33 -07:00
bundle.h greybus: define BUNDLE_ID_NONE 2016-06-03 17:03:23 -07:00
camera.c greybus: camera: Create and destroy data connection on demand 2016-06-15 05:05:47 -07:00
connection.c greybus: connection: Return bool from gb_connection_intf_find() 2016-06-10 16:32:33 -07:00
connection.h greybus: gbphy: Remove protocol specific version handling 2016-05-31 22:02:58 -07:00
control.c greybus: control: Mode-switch is a 'core' operation 2016-06-02 11:15:49 -07:00
control.h greybus: interface: implement generic mode-switch functionality 2016-05-27 12:24:17 -07:00
core.c greybus: hd: Export host device tracepoint from hd.c 2016-06-09 17:28:02 -07:00
debugfs.c greybus: core: add device prefix to error messages 2016-02-11 21:44:17 -08:00
devices greybus: devices: endpoint description of device 2014-09-13 17:31:27 -07:00
es2.c greybus: tracing: add timing traces 2016-06-03 17:03:23 -07:00
firmware.h greybus: fw-management: Add firmware-management protocol driver 2016-05-15 00:23:52 +02:00
fw-core.c greybus: fw-core: destroy connections on error 2016-05-20 16:36:43 -07:00
fw-download.c greybus: fw-download: Replace timer with delayed-work 2016-05-09 08:48:10 +02:00
fw-management.c greybus: Add comment about the mode_switch_started flag 2016-06-02 11:16:22 -07:00
gb-camera.h greybus: camera-gb: Extend gb camera module structure 2016-06-03 08:57:48 -07:00
gbphy.c greybus: gbphy: Remove protocol specific version handling 2016-05-31 22:02:58 -07:00
gbphy.h greybus: gbphy: Remove protocol specific version handling 2016-05-31 22:02:58 -07:00
gpio.c greybus: Remove extra blank lines 2016-06-10 16:32:33 -07:00
greybus.h greybus: Remove legacy suspend/resume callbacks 2016-06-09 17:28:02 -07:00
greybus_firmware.h greybus: fw-management: Update header's license 2016-05-16 19:59:50 -07: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: interface: Extract and store Interface feature byte 2016-05-15 11:39:57 -07:00
greybus_protocols.h greybus: update UniPro Set Interface Power Mode operation to match spec 2016-06-09 18:14:00 -07:00
greybus_trace.h greybus: tracing: drop "greybus" prefix 2016-06-09 12:12:43 -07:00
hd.c greybus: hd: Export host device tracepoint from hd.c 2016-06-09 17:28:02 -07:00
hd.h greybus: connection: add flush host-device callback 2016-05-27 12:24:17 -07:00
hid.c greybus: Remove extra blank lines 2016-06-10 16:32:33 -07:00
i2c.c greybus: gbphy: Remove protocol specific version handling 2016-05-31 22:02:58 -07:00
interface.c greybus: timesync: Bind TimeSync into Greybus 2016-06-06 20:50:08 -07:00
interface.h greybus: timesync: Add timesync core driver 2016-06-06 20:37:47 -07:00
kernel_ver.h greybus: pwm: Fix compilation with v4.3 kernel 2016-06-09 12:28:48 -07:00
light.c greybus: fix pointless null check 2016-05-27 11:28:16 -07:00
loopback.c greybus: gpbridge: rename 'gpbridge' to 'gbphy' everywhere 2016-05-19 10:09:13 -07:00
manifest.c greybus: manifest: Disallow reuse of control cport 2016-06-15 23:57:20 -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: fix tracepoint-related whitespace issues 2016-05-27 12:26:31 -07:00
module.h greybus: core: add module abstraction 2016-04-25 11:08:30 -07:00
operation.c greybus: fix tracepoint-related whitespace issues 2016-05-27 12:26:31 -07:00
operation.h greybus: operation: add helper for creating core operations 2016-05-27 12:21:16 -07:00
power_supply.c greybus: Remove extra blank lines 2016-06-10 16:32:33 -07:00
pwm.c greybus: Remove extra blank lines 2016-06-10 16:32:33 -07:00
raw.c greybus: raw: use hexadecimal notation for request types 2016-03-03 10:02:48 -08:00
sdio.c greybus: gbphy: Remove protocol specific version handling 2016-05-31 22:02:58 -07:00
spi.c greybus: gbphy: Remove protocol specific version handling 2016-05-31 22:02:58 -07:00
spilib.c greybus: Remove extra blank lines 2016-06-10 16:32:33 -07:00
spilib.h greybus: spi: Restructure spi.c to share it with other bundle drivers 2016-05-14 23:18:32 +02:00
svc.c greybus: svc: Pass the correct pointer to input_free_device() 2016-06-15 23:57:20 -07:00
svc.h greybus: update UniPro Set Interface Power Mode operation to match spec 2016-06-09 18:14:00 -07:00
svc_watchdog.c greybus: svc watchdog: Disable watchdog upon entering suspend 2016-04-15 14:42:53 -07:00
timesync.c greybus: timesync: Rework timesync removal serialization logic 2016-06-16 09:07:41 -07:00
timesync.h greybus: timesync: Add gb_timesync_frame_time_to_timespec() 2016-06-06 20:50:08 -07:00
timesync_platform.c greybus: timesync: Add timesync core driver 2016-06-06 20:37:47 -07:00
uart.c greybus: Remove extra blank lines 2016-06-10 16:32:33 -07:00
usb.c greybus: gbphy: Remove protocol specific version handling 2016-05-31 22:02:58 -07:00
vibrator.c greybus: Remove unused VERSION specific macros 2016-05-31 22:02:58 -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>