summaryrefslogtreecommitdiff
path: root/drivers/staging/greybus/interface.h
diff options
context:
space:
mode:
authorViresh Kumar <viresh.kumar@linaro.org>2016-07-26 13:41:04 -0700
committerGreg Kroah-Hartman <gregkh@google.com>2016-07-26 15:29:00 -0700
commit0c543f9bb2dfa4239a601bff70e66020c2daec59 (patch)
tree344d4fdf429506f3cae0057f958b1b33e5d81ca0 /drivers/staging/greybus/interface.h
parent47cbaf5e55a6906f404da06cab652cd19aa37537 (diff)
greybus: interface: Add quirk for no PM for S2 Loader
S2 Loader doesn't support runtime PM operations currently and we will fail to suspend/resume the bundle for firmware management protocols. Once that happens, the bundle and its connections will be pretty much useless as we would have tried to disable/enable all connections during such an operation and the S2 loader doesn't expect the connections to go away during normal operation (except in the case of mode-switch). This patch defines a new quirk GB_INTERFACE_QUIRK_NO_PM and uses a new interface init status value (GB_INIT_S2_LOADER_INITIALIZED) which will be advertised by S2 Loader now in the init status. After detecting the currently running stage as S2 Loader, the kernel wouldn't attempt suspending or resuming the bundle. Reviewed-by: David Lin <dtwlin@google.com> Reviewed-by: Johan Hovold <johan@hovoldconsulting.com> Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org> Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Diffstat (limited to 'drivers/staging/greybus/interface.h')
-rw-r--r--drivers/staging/greybus/interface.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/staging/greybus/interface.h b/drivers/staging/greybus/interface.h
index 89eecf0a4bad..174bc749395e 100644
--- a/drivers/staging/greybus/interface.h
+++ b/drivers/staging/greybus/interface.h
@@ -24,6 +24,7 @@ enum gb_interface_type {
#define GB_INTERFACE_QUIRK_FORCED_DISABLE BIT(3)
#define GB_INTERFACE_QUIRK_LEGACY_MODE_SWITCH BIT(4)
#define GB_INTERFACE_QUIRK_NO_BUNDLE_ACTIVATE BIT(5)
+#define GB_INTERFACE_QUIRK_NO_PM BIT(6)
struct gb_interface {
struct device dev;