]> asedeno.scripts.mit.edu Git - linux.git/commit
greybus: hd: arche-platform: implement greybus shutdown
authorDavid Lin <dtwlin@google.com>
Wed, 13 Jul 2016 00:41:21 +0000 (17:41 -0700)
committerGreg Kroah-Hartman <gregkh@google.com>
Fri, 15 Jul 2016 22:58:52 +0000 (07:58 +0900)
commit1f77b363bef417e28d8556a11c9a82f3e6cf24f0
tree6fc4cc15c512e32c7fa762015c2c5b11c0ac42a5
parent47becc556d4e8dc5bcd370100edebd6ad749b702
greybus: hd: arche-platform: implement greybus shutdown

Implement platform driver shutdown callback to perform proper greybus
shutdown so that the userspace unipro_shutdown service that shuts down
the APB/SVC abruptly can be removed. The shutdown callback in
arche-platform will first remove SVC so that all the Interface can be
Deactivated in a sequence according to the spec before powering off the
APB:

Before:
 -> Arche/APB power off
 -> SoC power off

After this patch:
 -> HD shutdown
     -> SVC shutdown
         -> Module shutdown
             -> Interface shutdown
                 -> Bundle shutdown
 -> Arche/APB power off
 -> SoC power off

Testing Done:
 - Observe all Interfaces are deactivated in the log during shutdown
 - Measure power off current and make sure no regression

Signed-off-by: David Lin <dtwlin@google.com>
Reviewed-by: Vaibhav Hiremath <vaibhav.hiremath@linaro.org>
Reviewed-by: Johan Hovold <johan@hovoldconsulting.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
drivers/staging/greybus/arche-apb-ctrl.c
drivers/staging/greybus/arche-platform.c
drivers/staging/greybus/core.c
drivers/staging/greybus/hd.c
drivers/staging/greybus/hd.h