greybus: interface: Add quirk for no PM for S2 Loader
authorViresh Kumar <viresh.kumar@linaro.org>
Tue, 26 Jul 2016 20:41:04 +0000 (13:41 -0700)
committerGreg Kroah-Hartman <gregkh@google.com>
Tue, 26 Jul 2016 22:29:00 +0000 (15:29 -0700)
commit0c543f9bb2dfa4239a601bff70e66020c2daec59
tree344d4fdf429506f3cae0057f958b1b33e5d81ca0
parent47cbaf5e55a6906f404da06cab652cd19aa37537
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>
drivers/staging/greybus/fw-core.c
drivers/staging/greybus/greybus_protocols.h
drivers/staging/greybus/interface.c
drivers/staging/greybus/interface.h