greybus: control: suppress bundle_activate() for bootrom
authorJohan Hovold <johan@hovoldconsulting.com>
Thu, 21 Jul 2016 12:24:11 +0000 (14:24 +0200)
committerGreg Kroah-Hartman <gregkh@google.com>
Thu, 21 Jul 2016 23:36:48 +0000 (16:36 -0700)
commit2358024b67fccc07b95c5d8e637927acdb8e30fa
tree4374a0c81ebda706e2e2e0f9e3a2042d7042a9c9
parent350e3ac2ceb696435efbbe688e6e912801a4b8c4
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>
drivers/staging/greybus/control.c
drivers/staging/greybus/control.h
drivers/staging/greybus/interface.c
drivers/staging/greybus/interface.h