X-Git-Url: http://git.openwrt.org/?a=blobdiff_plain;ds=sidebyside;f=target%2Flinux%2Fbrcm2708%2Fpatches-4.19%2F950-0682-staging-bcm2835-codec-Add-role-to-device-name.patch;fp=target%2Flinux%2Fbrcm2708%2Fpatches-4.19%2F950-0682-staging-bcm2835-codec-Add-role-to-device-name.patch;h=4afdf8c69851ec10a170a22ee997c370d0e9a3a9;hb=84d555aa74434392b682fd9eb0fa701c89a046d6;hp=0000000000000000000000000000000000000000;hpb=953973c2991e8640549a55df7a0574a1abac8644;p=openwrt%2Fstaging%2Fwigyori.git diff --git a/target/linux/brcm2708/patches-4.19/950-0682-staging-bcm2835-codec-Add-role-to-device-name.patch b/target/linux/brcm2708/patches-4.19/950-0682-staging-bcm2835-codec-Add-role-to-device-name.patch new file mode 100644 index 0000000000..4afdf8c698 --- /dev/null +++ b/target/linux/brcm2708/patches-4.19/950-0682-staging-bcm2835-codec-Add-role-to-device-name.patch @@ -0,0 +1,45 @@ +From ca613ed735fc52e68189d2ad0880f1007b931d78 Mon Sep 17 00:00:00 2001 +From: Kieran Bingham +Date: Wed, 20 Mar 2019 11:55:43 +0000 +Subject: [PATCH] staging: bcm2835-codec: Add role to device name + +Three entities are created, Decode, Encode and ISP but all of the video +nodes use the same video name string "bcm2835-codec" which makes it +difficult to identify each role. + +Append the role-name to the video name to facilitate identifying a +specific instance from userspace. + +The Card-Type is also extended with the role name to support identifying +the device context from within QUERY_CAP operations. + +Signed-off-by: Kieran Bingham +--- + .../vc04_services/bcm2835-codec/bcm2835-v4l2-codec.c | 8 +++++--- + 1 file changed, 5 insertions(+), 3 deletions(-) + +--- a/drivers/staging/vc04_services/bcm2835-codec/bcm2835-v4l2-codec.c ++++ b/drivers/staging/vc04_services/bcm2835-codec/bcm2835-v4l2-codec.c +@@ -947,8 +947,10 @@ static void device_run(void *priv) + static int vidioc_querycap(struct file *file, void *priv, + struct v4l2_capability *cap) + { ++ struct bcm2835_codec_dev *dev = video_drvdata(file); ++ + strncpy(cap->driver, MEM2MEM_NAME, sizeof(cap->driver) - 1); +- strncpy(cap->card, MEM2MEM_NAME, sizeof(cap->card) - 1); ++ strncpy(cap->card, dev->vfd.name, sizeof(cap->card) - 1); + snprintf(cap->bus_info, sizeof(cap->bus_info), "platform:%s", + MEM2MEM_NAME); + return 0; +@@ -2657,8 +2659,8 @@ static int bcm2835_codec_create(struct p + } + + video_set_drvdata(vfd, dev); +- snprintf(vfd->name, sizeof(vfd->name), "%s", +- bcm2835_codec_videodev.name); ++ snprintf(vfd->name, sizeof(vfd->name), "%s-%s", ++ bcm2835_codec_videodev.name, roles[role]); + v4l2_info(&dev->v4l2_dev, "Device registered as /dev/video%d\n", + vfd->num); +