On Wed Nov 26 15:00:24 2025 +0100, 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 <[email protected]>
> Reviewed-by: Bryan O'Donoghue <[email protected]>
> Signed-off-by: Bryan O'Donoghue <[email protected]>
> Signed-off-by: Hans Verkuil <[email protected]>

Patch committed.

Thanks,
Hans Verkuil

 drivers/media/platform/qcom/venus/vdec.c | 6 +++++-
 drivers/media/platform/qcom/venus/venc.c | 6 +++++-
 2 files changed, 10 insertions(+), 2 deletions(-)

---

diff --git a/drivers/media/platform/qcom/venus/vdec.c 
b/drivers/media/platform/qcom/venus/vdec.c
index 4cd69440e875..21ca4947a849 100644
--- a/drivers/media/platform/qcom/venus/vdec.c
+++ b/drivers/media/platform/qcom/venus/vdec.c
@@ -433,9 +433,13 @@ 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),
+                "plat:%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..0b5843ba536f 100644
--- a/drivers/media/platform/qcom/venus/venc.c
+++ b/drivers/media/platform/qcom/venus/venc.c
@@ -144,9 +144,13 @@ 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),
+                "plat:%s:enc", dev_name(core->dev));
 
        return 0;
 }
_______________________________________________
linuxtv-commits mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to