Following the work done here [1] this set provides support for the remoteproc core to release resources associated with a remote processor without having to switch it off. That way a platform driver can be removed or the applcation processor power cycled while the remote processor is still operating. I have not tested the solution because of the work involved in getting a new firmware image to support the feature. I will do so once it is determined that this is the right approach to follow. Applies cleanly on rproc-next (62b8f9e99329) Thanks, Mathieu [1]. https://lkml.org/lkml/2020/7/14/1600 Mathieu Poirier (13): remoteproc: Re-check state in rproc_shutdown() remoteproc: Remove useless check in rproc_del() remoteproc: Add new RPROC_ATTACHED state remoteproc: Properly represent the attached state remoteproc: Add new detach() remoteproc operation remoteproc: Introduce function __rproc_detach() remoteproc: Introduce function rproc_detach() remoteproc: Rename function rproc_actuate() remoteproc: Add return value to function rproc_shutdown() remoteproc: Properly deal with a stop request when attached remoteproc: Properly deal with detach request remoteproc: Refactor rproc delete and cdev release path remoteproc: Properly deal with a kernel panic when attached drivers/remoteproc/remoteproc_cdev.c | 18 ++- drivers/remoteproc/remoteproc_core.c | 151 +++++++++++++++++++++----- drivers/remoteproc/remoteproc_sysfs.c | 17 ++- include/linux/remoteproc.h | 14 ++- 4 files changed, 157 insertions(+), 43 deletions(-) -- 2.25.1