From cf0a26324ed91ec292b2294ecc73ac6f5436eebe Mon Sep 17 00:00:00 2001 From: Scott Murray Date: Thu, 25 Feb 2021 15:58:55 -0500 Subject: [PATCH] most: add patch to enable building against newer kernels Add patch to enable building the standalone MOST driver against kernels 5.7 or newer. Bug-AGL: SPEC-3819 Signed-off-by: Scott Murray Change-Id: I6d8e2f68e3f1e73e1901e07d12a8569fb65996e9 --- .../files/0013-Fix-build-with-5.7-kernel.patch | 54 ++++++++++++++++++++++ recipes-kernel/most/most.bbappend | 1 + 2 files changed, 55 insertions(+) create mode 100644 recipes-kernel/most/files/0013-Fix-build-with-5.7-kernel.patch diff --git a/recipes-kernel/most/files/0013-Fix-build-with-5.7-kernel.patch b/recipes-kernel/most/files/0013-Fix-build-with-5.7-kernel.patch new file mode 100644 index 000000000..85e38857c --- /dev/null +++ b/recipes-kernel/most/files/0013-Fix-build-with-5.7-kernel.patch @@ -0,0 +1,54 @@ +Fix building against 5.7 or newer kernels + +VFL_TYPE_GRABBER was renamed VFL_TYPE_VIDEO in 5.7. Marking as +inappropriate for upstream for now, as it seems the standalone +version of the driver has been superceded by the version in the +staging tree in the mainline kernel, and there are no obvious +signs of maintenance. + +Upstream-Status: Inappropriate [no upstream] +Signed-off-by: Scott Murray + +--- +diff --git a/aim-v4l2/video.c b/aim-v4l2/video.c +index db75d4d..fbf7139 100644 +--- a/aim-v4l2/video.c ++++ b/aim-v4l2/video.c +@@ -14,6 +14,7 @@ + #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt + + #include ++#include + #include + #include + #include +@@ -31,6 +32,11 @@ + + #define V4L2_AIM_MAX_INPUT 1 + ++#if LINUX_VERSION_CODE < KERNEL_VERSION(5,7,0) ++/* Handle pre-5.7 naming */ ++#define VFL_TYPE_VIDEO VFL_TYPE_GRABBER ++#endif ++ + static struct most_aim aim_info; + + struct most_video_dev { +@@ -82,7 +88,7 @@ static int aim_vdev_open(struct file *filp) + v4l2_info(&mdev->v4l2_dev, "aim_vdev_open()\n"); + + switch (vdev->vfl_type) { +- case VFL_TYPE_GRABBER: ++ case VFL_TYPE_VIDEO: + break; + default: + return -EINVAL; +@@ -461,7 +467,7 @@ static int aim_register_videodev(struct most_video_dev *mdev) + + /* Register the v4l2 device */ + video_set_drvdata(mdev->vdev, mdev); +- ret = video_register_device(mdev->vdev, VFL_TYPE_GRABBER, -1); ++ ret = video_register_device(mdev->vdev, VFL_TYPE_VIDEO, -1); + if (ret) { + v4l2_err(&mdev->v4l2_dev, "video_register_device failed (%d)\n", + ret); diff --git a/recipes-kernel/most/most.bbappend b/recipes-kernel/most/most.bbappend index ad422eb57..b5a140f25 100644 --- a/recipes-kernel/most/most.bbappend +++ b/recipes-kernel/most/most.bbappend @@ -12,4 +12,5 @@ SRC_URI_append = " \ file://0010-backport-usb-setup-timer.patch \ file://0011-handle-snd_pcm_lib_mmap_vmalloc-removal.patch \ file://0012-Fix-build-with-5.4-kernel.patch \ + file://0013-Fix-build-with-5.7-kernel.patch \ " -- 2.16.6