diff options
| author | Fernando Guzman Lugo <fernando.lugo@ti.com> | 2012-08-30 14:26:13 -0400 |
|---|---|---|
| committer | Ohad Ben-Cohen <ohad@wizery.com> | 2012-09-18 05:53:33 -0400 |
| commit | 70b85ef83ce3523f709b622d2c4cb31778686338 (patch) | |
| tree | eeda85e263ef33f247d97280b367ff3b0f46c1b6 /include | |
| parent | 8afd519c3470f685f964deebd61aa51d83cde90a (diff) | |
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')
| -rw-r--r-- | include/linux/remoteproc.h | 2 |
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 { | |||
| 398 | * @index: index of this rproc device | 398 | * @index: index of this rproc device |
| 399 | * @crash_handler: workqueue for handling a crash | 399 | * @crash_handler: workqueue for handling a crash |
| 400 | * @crash_cnt: crash counter | 400 | * @crash_cnt: crash counter |
| 401 | * @crash_comp: completion used to sync crash handler and the rproc reload | ||
| 401 | */ | 402 | */ |
| 402 | struct rproc { | 403 | struct rproc { |
| 403 | struct klist_node node; | 404 | struct klist_node node; |
| @@ -423,6 +424,7 @@ struct rproc { | |||
| 423 | int index; | 424 | int index; |
| 424 | struct work_struct crash_handler; | 425 | struct work_struct crash_handler; |
| 425 | unsigned crash_cnt; | 426 | unsigned crash_cnt; |
| 427 | struct completion crash_comp; | ||
| 426 | }; | 428 | }; |
| 427 | 429 | ||
| 428 | /* we currently support only two vrings per rvdev */ | 430 | /* we currently support only two vrings per rvdev */ |
