summaryrefslogtreecommitdiff
path: root/drivers/media/platform
diff options
context:
space:
mode:
authorJorge Ramirez-Ortiz <jorge.ramirez@oss.qualcomm.com>2025-11-26 15:00:24 +0100
committerHans Verkuil <hverkuil+cisco@kernel.org>2026-01-20 13:19:32 +0100
commit66c744e28b69d931b142adb6b9f5e56ac9644f79 (patch)
tree105a93be01f6c52be6f6588188c15b05e3c1b8f0 /drivers/media/platform
parent63c072e2937e6c9995df1b6a28523ed2ae68d364 (diff)
downloadlwn-66c744e28b69d931b142adb6b9f5e56ac9644f79.tar.gz
lwn-66c744e28b69d931b142adb6b9f5e56ac9644f79.zip
media: venus: assign unique bus_info strings for encoder and decoder
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> Reviewed-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org> Signed-off-by: Bryan O'Donoghue <bod@kernel.org> Signed-off-by: Hans Verkuil <hverkuil+cisco@kernel.org>
Diffstat (limited to 'drivers/media/platform')
-rw-r--r--drivers/media/platform/qcom/venus/vdec.c6
-rw-r--r--drivers/media/platform/qcom/venus/venc.c6
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;
}