summaryrefslogtreecommitdiff
path: root/include/linux
diff options
context:
space:
mode:
authorFernando Guzman Lugo <fernando.lugo@ti.com>2012-08-30 22:26:13 +0400
committerOhad Ben-Cohen <ohad@wizery.com>2012-09-18 13:53:33 +0400
commit70b85ef83ce3523f709b622d2c4cb31778686338 (patch)
treeeeda85e263ef33f247d97280b367ff3b0f46c1b6 /include/linux
parent8afd519c3470f685f964deebd61aa51d83cde90a (diff)
downloadlinux-70b85ef83ce3523f709b622d2c4cb31778686338.tar.xz
remoteproc: add actual recovery implementation
Add rproc_trigger_recovery() which takes care of the recovery itself, by removing, and re-adding, all of the remoteproc's virtio devices. This resets all virtio users of the remote processor, during which the remote processor is powered off and on again. Signed-off-by: Fernando Guzman Lugo <fernando.lugo@ti.com> [ohad: introduce rproc_add_virtio_devices to avoid 1.copying code 2.anomaly] [ohad: some white space, naming and commit log changes] Signed-off-by: Ohad Ben-Cohen <ohad@wizery.com>
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/remoteproc.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/include/linux/remoteproc.h b/include/linux/remoteproc.h
index a46ed2723803..0c1a2f95be76 100644
--- a/include/linux/remoteproc.h
+++ b/include/linux/remoteproc.h
@@ -398,6 +398,7 @@ enum rproc_crash_type {
* @index: index of this rproc device
* @crash_handler: workqueue for handling a crash
* @crash_cnt: crash counter
+ * @crash_comp: completion used to sync crash handler and the rproc reload
*/
struct rproc {
struct klist_node node;
@@ -423,6 +424,7 @@ struct rproc {
int index;
struct work_struct crash_handler;
unsigned crash_cnt;
+ struct completion crash_comp;
};
/* we currently support only two vrings per rvdev */