Re: [PATCH] media: venus: assign unique bus_info strings for encoder and decoder

From: Jorge Ramirez
Date: Tue Nov 25 2025 - 07:52:31 EST


On 25/11/25 13:59:56, Dikshita Agarwal wrote:
>
>
> On 11/22/2025 12:13 AM, Jorge Ramirez-Ortiz wrote:
> > The Venus encoder and decoder video devices currently report the same
> > bus_info string ("platform:qcom-venus").
> >
> > Assign unique bus_info identifiers by appending ":dec" and ":enc" to the
> > parent device name. With this change v4l2-ctl will display two separate
> > logical devices
> >
> > Signed-off-by: Jorge Ramirez-Ortiz <jorge.ramirez@xxxxxxxxxxxxxxxx>
> > ---
> > drivers/media/platform/qcom/venus/vdec.c | 5 +++++
> > drivers/media/platform/qcom/venus/venc.c | 5 +++++
> > 2 files changed, 10 insertions(+)
> >
> > diff --git a/drivers/media/platform/qcom/venus/vdec.c b/drivers/media/platform/qcom/venus/vdec.c
> > index 4a6641fdffcf..63f6ae1ff6ac 100644
> > --- a/drivers/media/platform/qcom/venus/vdec.c
> > +++ b/drivers/media/platform/qcom/venus/vdec.c
> > @@ -433,9 +433,14 @@ vdec_g_selection(struct file *file, void *fh, struct v4l2_selection *s)
> > static int
> > vdec_querycap(struct file *file, void *fh, struct v4l2_capability *cap)
> > {
> > + struct venus_inst *inst = to_inst(file);
> > + struct venus_core *core = inst->core;
> > +
> > strscpy(cap->driver, "qcom-venus", sizeof(cap->driver));
> > strscpy(cap->card, "Qualcomm Venus video decoder", sizeof(cap->card));
> > strscpy(cap->bus_info, "platform:qcom-venus", sizeof(cap->bus_info));
> > + snprintf(cap->bus_info, sizeof(cap->bus_info),
> > + "platform:%s:dec", dev_name(core->dev));
>
> Is there a reason to keep both strscpy() and snprintf() for cap->bus_info?
> The second call to snprintf() seems to overwrite the value set by
> strscpy(), making the first assignment redundant. Would it be cleaner to
> remove the strscpy() line and rely solely on snprintf()?

argh, my bad, you are right. will fix.

perhaps we should just have instead

decoder:
strscpy(cap->bus_info,"platform:qcom-venus-dec", sizeof(cap->bus_info));

encoder:
strscpy(cap->bus_info, "platform:qcom-venus-enc",sizeof(cap->bus_info)); on the encoder

I suppose the additional info provided by the dev_name is not really
important to consumers.

?