remoteproc: Add a sysfs interface for name

This patch adds a sysfs interface that provides the name of the
remote processor to userspace. This allows the userspace to identify
a remote processor as the remoteproc devices themselves are created
based on probe order and can change from one boot to another or
at runtime.

The name is made available in debugfs originally, and is being
retained for now. This can be cleaned up after couple of releases
once users get familiar with the new interface.

Signed-off-by: Suman Anna <s-anna@ti.com>
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
This commit is contained in:
Suman Anna 2019-08-09 17:20:57 -05:00 committed by Bjorn Andersson
parent 1417dba103
commit 6ed756aa01
2 changed files with 21 additions and 0 deletions

View File

@ -48,3 +48,13 @@ Description: Remote processor state
Writing "stop" will attempt to halt the remote processor and Writing "stop" will attempt to halt the remote processor and
return it to the "offline" state. return it to the "offline" state.
What: /sys/class/remoteproc/.../name
Date: August 2019
KernelVersion: 5.4
Contact: Suman Anna <s-anna@ti.com>
Description: Remote processor name
Reports the name of the remote processor. This can be used by
userspace in exactly identifying a remote processor and ease
up the usage in modifying the 'firmware' or 'state' files.

View File

@ -113,9 +113,20 @@ static ssize_t state_store(struct device *dev,
} }
static DEVICE_ATTR_RW(state); static DEVICE_ATTR_RW(state);
/* Expose the name of the remote processor via sysfs */
static ssize_t name_show(struct device *dev, struct device_attribute *attr,
char *buf)
{
struct rproc *rproc = to_rproc(dev);
return sprintf(buf, "%s\n", rproc->name);
}
static DEVICE_ATTR_RO(name);
static struct attribute *rproc_attrs[] = { static struct attribute *rproc_attrs[] = {
&dev_attr_firmware.attr, &dev_attr_firmware.attr,
&dev_attr_state.attr, &dev_attr_state.attr,
&dev_attr_name.attr,
NULL NULL
}; };