[PATCH 2/2] remoteproc: core: Register the character device interface

From: Rishabh Bhatnagar
Date: Fri Mar 20 2020 - 19:36:43 EST


Add the character device during rproc_add. This would create
a character device node at /dev/subsys_<rproc_name>. Userspace
applications can interact with the remote processor using this
interface rather than using sysfs node. To distinguish between
different remote processor nodes the device name has been changed
to include the rproc name appended to "subsys_" string.

Signed-off-by: Rishabh Bhatnagar <rishabhb@xxxxxxxxxxxxxx>
---
drivers/remoteproc/remoteproc_core.c | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/drivers/remoteproc/remoteproc_core.c b/drivers/remoteproc/remoteproc_core.c
index 097f33e..48a3932 100644
--- a/drivers/remoteproc/remoteproc_core.c
+++ b/drivers/remoteproc/remoteproc_core.c
@@ -1907,6 +1907,12 @@ int rproc_add(struct rproc *rproc)
struct device *dev = &rproc->dev;
int ret;

+ ret = rproc_char_device_add(rproc);
+ if (ret) {
+ pr_err("error while adding character device\n");
+ return ret;
+ }
+
ret = device_add(dev);
if (ret < 0)
return ret;
@@ -2044,7 +2050,7 @@ struct rproc *rproc_alloc(struct device *dev, const char *name,
return NULL;
}

- dev_set_name(&rproc->dev, "remoteproc%d", rproc->index);
+ dev_set_name(&rproc->dev, "subsys_%s", rproc->name);

atomic_set(&rproc->power, 0);

--
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
a Linux Foundation Collaborative Project