Re: [PATCH] remoteproc: core: Auto select rproc-virtio device id

From: Mukesh Ojha
Date: Thu Oct 13 2022 - 08:45:51 EST


Hi,

On 10/13/2022 1:57 PM, Arnaud POULIQUEN wrote:
Hi Shengju,

On 10/13/22 04:28, Shengjiu Wang wrote:
With multiple remoteproc device, there will below error:

sysfs: cannot create duplicate filename '/bus/platform/devices/rproc-virtio.0'

Good catch!
Previously the device created was
/sys/class/remoteproc/remoteproc0/remoteproc0#vdev0buffer/

So with your fix it become something like
/bus/platform/devices/rproc-virtio.2.auto


This works fine on my platform, also when creating two virtio devices for one
remoteproc device.
Just a remark, could be nice to indicate in the commit message the result of
your patch, means the name of the files created.

Agree with the suggestion of putting the output in commit message.

LGTM.
Reviewed-by: Mukesh Ojha <quic_mojha@xxxxxxxxxxx>

-Mukesh


With that:
Reviewed-by: Arnaud Pouliquen <arnaud.pouliquen@xxxxxxxxxxx>

Thanks,
Arnaud



The rvdev_data.index is duplicate, that cause issue, so
need to use the PLATFORM_DEVID_AUTO instead.

Fixes: 1d7b61c06dc3 ("remoteproc: virtio: Create platform device for the remoteproc_virtio")
Signed-off-by: Shengjiu Wang <shengjiu.wang@xxxxxxx>
---
drivers/remoteproc/remoteproc_core.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/remoteproc/remoteproc_core.c b/drivers/remoteproc/remoteproc_core.c
index 8768cb64f560..03a26498e879 100644
--- a/drivers/remoteproc/remoteproc_core.c
+++ b/drivers/remoteproc/remoteproc_core.c
@@ -509,7 +509,7 @@ static int rproc_handle_vdev(struct rproc *rproc, void *ptr,
rvdev_data.rsc_offset = offset;
rvdev_data.rsc = rsc;
- pdev = platform_device_register_data(dev, "rproc-virtio", rvdev_data.index, &rvdev_data,
+ pdev = platform_device_register_data(dev, "rproc-virtio", PLATFORM_DEVID_AUTO, &rvdev_data,
sizeof(rvdev_data));
if (IS_ERR(pdev)) {
dev_err(dev, "failed to create rproc-virtio device\n");