rpmsg: Name rpmsg devices based on channel id
authorBjorn Andersson <bjorn.andersson@linaro.org>
Thu, 1 Sep 2016 22:27:54 +0000 (15:27 -0700)
committerBjorn Andersson <bjorn.andersson@linaro.org>
Fri, 9 Sep 2016 05:14:55 +0000 (22:14 -0700)
By basing rpmsg device names on channel id we end up with human readable
device names in sysfs and debug logs.

Reviewed-by: Sarangdhar Joshi <spjoshi@codeaurora.org>
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
drivers/rpmsg/virtio_rpmsg_bus.c

index 495fa0a282d3619972d210080e48e8aeaac3ddc9..c4bd89ea76816bb06a31b2d01f448bf76d778406 100644 (file)
@@ -136,14 +136,6 @@ rpmsg_show_attr(src, src, "0x%x\n");
 rpmsg_show_attr(dst, dst, "0x%x\n");
 rpmsg_show_attr(announce, announce ? "true" : "false", "%s\n");
 
-/*
- * Unique (and free running) index for rpmsg devices.
- *
- * Yeah, we're not recycling those numbers (yet?). will be easy
- * to change if/when we want to.
- */
-static unsigned int rpmsg_dev_index;
-
 static ssize_t modalias_show(struct device *dev,
                             struct device_attribute *attr, char *buf)
 {
@@ -531,8 +523,8 @@ static struct rpmsg_channel *rpmsg_create_channel(struct virtproc_info *vrp,
 
        strncpy(rpdev->id.name, chinfo->name, RPMSG_NAME_SIZE);
 
-       /* very simple device indexing plumbing which is enough for now */
-       dev_set_name(&rpdev->dev, "rpmsg%d", rpmsg_dev_index++);
+       dev_set_name(&rpdev->dev, "%s:%s",
+                    dev_name(dev->parent), rpdev->id.name);
 
        rpdev->dev.parent = &vrp->vdev->dev;
        rpdev->dev.bus = &rpmsg_bus;