linux-sg2042/drivers/staging/greybus
Johan Hovold 2358024b67 greybus: control: suppress bundle_activate() for bootrom
We always knew backward compatibility with the ES3 bootrom, which was
finalised about a year ago, would be a pain. Here we go again.

The bootrom does not support control requests added after it was burnt
into ROM for obvious reasons. This means that we need to suppress
sending the new bundle_activate() operation to any interface executing
the legacy bootrom.

Do so by adding a new NO_PM interface quirk (we can use the
control-protocol version for this later once we bump it).

Note that the interface-disable path (e.g. for power down) is already
handled by the FORCED_DISABLE quirk, and that the suspend/resume
paths are currently avoided by making sure that the bootrom bundle
never suspends.

Signed-off-by: Johan Hovold <johan@hovoldconsulting.com>
Reviewed-by: Viresh Kumar <viresh.kumar@linaro.org>
Acked-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
Tested-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2016-07-21 16:36:48 -07:00
..
Documentation greybus: interface: fix power_state documentation 2016-07-20 10:16:54 -07:00
scripts greybus: checkpatch.pl: Mark --no-tree as default option 2016-04-02 19:44:30 -07:00
tools greybus: loopback_test: Add -f argument to cancel all tests 2016-07-20 11:23:03 -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: Add Component Authentication Protocol support 2016-07-06 17:51:32 -05: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: hd: arche-platform: implement greybus shutdown 2016-07-16 07:58:52 +09:00
arche-platform.c greybus: arche-platform: Add support for init-off feature 2016-07-19 18:31:00 -07:00
arche_platform.h greybus: timesync: Add timesync core driver 2016-06-06 20:37:47 -07:00
audio_apbridgea.c greybus: audio: add runtime pm support 2016-07-14 16:53:55 -05:00
audio_apbridgea.h greybus: audio: Split start and stop APBridgeA requests 2016-03-01 22:44:49 -08:00
audio_codec.c greybus: audio: Maintain proper codec state during shutdown sequence. 2016-07-13 13:48:07 -05:00
audio_codec.h greybus: audio: topology: Add helper API to map controlid with widget name 2016-07-05 21:17:51 -05: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: audio: add runtime pm support 2016-07-14 16:53:55 -05:00
audio_topology.c greybus: audio_topology: Fix compile warning 2016-07-17 10:12:59 +09:00
authentication.c greybus: use memdup_user() 2016-07-15 09:14:27 +09:00
bootrom.c greybus: move all firmware prefix strings to one place 2016-07-20 10:29:07 -07:00
bundle.c greybus: bundle: add runtime pm support 2016-07-14 16:53:55 -05:00
bundle.h greybus: bundle: add runtime pm support 2016-07-14 16:53:55 -05:00
camera.c greybus: camera: Configure APB-A with new params 2016-07-17 10:31:21 +09:00
connection.c greybus: connection: drop the svc quiescing operation 2016-07-19 18:27:35 -07:00
connection.h greybus: connection: add support for high-priority connections 2016-06-24 16:22:30 -07:00
control.c greybus: control: suppress bundle_activate() for bootrom 2016-07-21 16:36:48 -07:00
control.h greybus: control: suppress bundle_activate() for bootrom 2016-07-21 16:36:48 -07:00
core.c greybus: timesync: probe shouldn't complete until FrameTime sync does 2016-07-20 12:07:35 -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: greybus_protocols.h/es2: Ensure __le32 is used not u32 2016-07-18 09:22:45 -07:00
firmware.h greybus: firmware.h: rename TFTF firmware filenames 2016-07-21 16:33:25 -07:00
fw-core.c greybus: Add Component Authentication Protocol support 2016-07-06 17:51:32 -05:00
fw-download.c greybus: move all firmware prefix strings to one place 2016-07-20 10:29:07 -07:00
fw-management.c greybus: firmware: prefix char-device with 'gb-' 2016-06-16 10:13:20 -07:00
gb-camera.h greybus: camera: Update CSI config parameters 2016-07-17 10:31:21 +09:00
gbphy.c greybus: gbphy: add gbphy runtime pm support 2016-07-14 16:53:55 -05:00
gbphy.h greybus: gbphy: add gbphy runtime pm support 2016-07-14 16:53:55 -05:00
gpio.c greybus: gpio: Add runtime_pm suppourt 2016-07-14 16:53:55 -05:00
greybus.h greybus: interface: add runtime pm support 2016-07-14 16:53:55 -05:00
greybus_authentication.h greybus: Add Component Authentication Protocol support 2016-07-06 17:51:32 -05: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: Add Component Authentication Protocol support 2016-07-06 17:51:32 -05:00
greybus_protocols.h greybus: connection: drop the svc quiescing operation 2016-07-19 18:27:35 -07:00
greybus_trace.h greybus: tracing: drop "greybus" prefix 2016-06-09 12:12:43 -07:00
hd.c greybus: hd: arche-platform: implement greybus shutdown 2016-07-16 07:58:52 +09:00
hd.h greybus: hd: arche-platform: implement greybus shutdown 2016-07-16 07:58:52 +09:00
hid.c greybus: Remove extra blank lines 2016-06-10 16:32:33 -07:00
i2c.c greybus: i2c: add runtime pm support 2016-07-14 16:53:55 -05:00
interface.c greybus: control: suppress bundle_activate() for bootrom 2016-07-21 16:36:48 -07:00
interface.h greybus: control: suppress bundle_activate() for bootrom 2016-07-21 16:36:48 -07:00
kernel_ver.h greybus: power_supply: convert greybus properties to power supply properties 2016-07-16 07:55:41 +09:00
light.c greybus: light: Initialize mutex before using it 2016-06-29 16:37:17 -07:00
log.c greybus: add support for the log protocol 2016-06-24 15:46:52 -07:00
loopback.c greybus: loopback: add runtime pm support 2016-07-14 16:53:55 -05: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: interface: prevent reactivation during removal 2016-07-20 10:16:54 -07:00
module.h greybus: core: add module abstraction 2016-04-25 11:08:30 -07:00
operation.c greybus: Revert "greybus: ratelimit errors usually seen on unipro_reset" 2016-06-23 14:06:08 -07:00
operation.h greybus: operation: add helper for creating core operations 2016-05-27 12:21:16 -07:00
power_supply.c greybus: power_supply: convert greybus properties to power supply properties 2016-07-16 07:55:41 +09:00
pwm.c greybus: pwm: Add runtime_pm support 2016-07-14 16:53:55 -05:00
raw.c greybus: raw: use hexadecimal notation for request types 2016-03-03 10:02:48 -08:00
sdio.c greybus: sdio: add switch voltage operation 2016-07-19 16:38:24 -07:00
spi.c greybus: spi: Add runtime_pm support 2016-07-14 16:53:55 -05:00
spilib.c greybus: spi: Add runtime_pm support 2016-07-14 16:53:55 -05: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: connection: drop the svc quiescing operation 2016-07-19 18:27:35 -07:00
svc.h greybus: connection: drop the svc quiescing operation 2016-07-19 18:27:35 -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: reduce initial startup time 2016-07-20 11:16:25 -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: uart: Add runtime pm support 2016-07-14 16:53:55 -05: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>