[PATCH 1/6] remoteproc: Introduce rproc_detach_device() wrapper

Suman Anna
2021-05-22T00:07:44Z

The .attach() rproc ops is invoked through the helper
rproc_attach_device(), but the .detach() ops is invoked
directly at present. Introduce a similar wrapper function
rproc_detach_device() for .detach() ops so that the code
is symmetric.

Signed-off-by: Suman Anna <s-anna@ti.com>
---
drivers/remoteproc/remoteproc_core.c | 2 +-
drivers/remoteproc/remoteproc_internal.h | 8 ++++++++
2 files changed, 9 insertions(+), 1 deletion(-)

diff --git a/drivers/remoteproc/remoteproc_core.c b/drivers/remoteproc/remoteproc_core.c
index 6348aaa42bbb..6019f46001c8 100644
--- a/drivers/remoteproc/remoteproc_core.c
+++ b/drivers/remoteproc/remoteproc_core.c
@@ -1869,7 +1869,7 @@ static int __rproc_detach(struct rproc *rproc)
}

/* Tell the remote processor the core isn't available anymore */
- ret = rproc->ops->detach(rproc);
+ ret = rproc_detach_device(rproc);
if (ret) {
dev_err(dev, "can't detach from rproc: %d\n", ret);
return ret;
diff --git a/drivers/remoteproc/remoteproc_internal.h b/drivers/remoteproc/remoteproc_internal.h
index a328e634b1de..931d50b6a0d1 100644
--- a/drivers/remoteproc/remoteproc_internal.h
+++ b/drivers/remoteproc/remoteproc_internal.h
@@ -121,6 +121,14 @@ static inline int rproc_attach_device(struct rproc *rproc)
return 0;
}

+static inline int rproc_detach_device(struct rproc *rproc)
+{
+ if (rproc->ops->detach)
+ return rproc->ops->detach(rproc);
+
+ return 0;
+}
+
static inline
int rproc_fw_sanity_check(struct rproc *rproc, const struct firmware *fw)
{
--
2.30.1