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

Bryan O'Donoghue
2025-11-22T16:17:04Z

On 21/11/2025 18:43, 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@oss.qualcomm.com>
> ---
> 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));
>
> return 0;
> }
> diff --git a/drivers/media/platform/qcom/venus/venc.c b/drivers/media/platform/qcom/venus/venc.c
> index b478b982a80d..520689f5533d 100644
> --- a/drivers/media/platform/qcom/venus/venc.c
> +++ b/drivers/media/platform/qcom/venus/venc.c
> @@ -144,9 +144,14 @@ static int venc_v4l2_to_hfi(int id, int value)
> static int
> venc_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 encoder", sizeof(cap->card));
> strscpy(cap->bus_info, "platform:qcom-venus", sizeof(cap->bus_info));
> + snprintf(cap->bus_info, sizeof(cap->bus_info),
> + "platform:%s:enc", dev_name(core->dev));
>
> return 0;
> }
> --
> 2.43.0
>
Reviewed-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>