From 9ba649a926ad4717a7550e7d6d4495bc8524b222 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Sat, 11 Mar 2023 11:27:47 -0500 Subject: [PATCH] gnu: evdi: Fix build with linux-libre 6.2. * gnu/packages/patches/evdi-fix-build-with-linux-6.2.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/linux.scm (evdi)[source]: Use it. --- gnu/local.mk | 1 + gnu/packages/linux.scm | 1 + .../evdi-fix-build-with-linux-6.2.patch | 72 +++++++++++++++++++ 3 files changed, 74 insertions(+) create mode 100644 gnu/packages/patches/evdi-fix-build-with-linux-6.2.patch diff --git a/gnu/local.mk b/gnu/local.mk index 97d96f1573..4fb0e9cec4 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1087,6 +1087,7 @@ dist_patch_DATA = \ %D%/packages/patches/esmini-use-pkgconfig.patch \ %D%/packages/patches/esmtp-add-lesmtp.patch \ %D%/packages/patches/eudev-rules-directory.patch \ + %D%/packages/patches/evdi-fix-build-with-linux-6.2.patch \ %D%/packages/patches/exercism-disable-self-update.patch \ %D%/packages/patches/extempore-unbundle-external-dependencies.patch \ %D%/packages/patches/extundelete-e2fsprogs-1.44.patch \ diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index f149c4a208..d9f5b98d07 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -1538,6 +1538,7 @@ is also needed for the @code{tuxedo-control-center} (short tcc) package.") (url "https://github.com/DisplayLink/evdi") (commit "bdc258b25df4d00f222fde0e3c5003bf88ef17b5"))) (file-name (git-file-name name version)) + (patches (search-patches "evdi-fix-build-with-linux-6.2.patch")) (sha256 (base32 "1yi7mbyvxm9lsx6i1xbwp2bihwgzhwxkydk1kbngw5a5kw9azpws")))) diff --git a/gnu/packages/patches/evdi-fix-build-with-linux-6.2.patch b/gnu/packages/patches/evdi-fix-build-with-linux-6.2.patch new file mode 100644 index 0000000000..0c53cd2ef7 --- /dev/null +++ b/gnu/packages/patches/evdi-fix-build-with-linux-6.2.patch @@ -0,0 +1,72 @@ +Fix the build with Linux 6.2: + +https://github.com/DisplayLink/evdi/issues/402 + +Patch copied from upstream pull request: + +https://github.com/DisplayLink/evdi/pull/401 + +From a90ecd5f0f09e976e4b8784fa16b92804138b1bd Mon Sep 17 00:00:00 2001 +From: listout +Date: Wed, 22 Feb 2023 13:09:40 +0530 +Subject: [PATCH] Original patch was suggested by Crashdummyy. + +Since commit 9877d8f6bc374912b08dfe862cddbb78b395a5ef +feild fbdev has been renamed to info in struct drm_fb_helper. + +Fixes: https://github.com/DisplayLink/evdi/issues/402 +Fixes: https://github.com/DisplayLink/evdi/issues/394 +Fixes: https://github.com/DisplayLink/evdi/issues/384 +Signed-off-by: listout +--- + module/evdi_fb.c | 16 ++++++++++++++++ + 1 file changed, 16 insertions(+) + +diff --git a/module/evdi_fb.c b/module/evdi_fb.c +index 6b367fe8..f5de81f1 100644 +--- a/module/evdi_fb.c ++++ b/module/evdi_fb.c +@@ -405,7 +405,11 @@ static int evdifb_create(struct drm_fb_helper *helper, + fb = &efbdev->efb.base; + + efbdev->helper.fb = fb; ++#if KERNEL_VERSION(6, 2, 0) <= LINUX_VERSION_CODE ++ efbdev->helper.info = info; ++#else + efbdev->helper.fbdev = info; ++#endif + + strcpy(info->fix.id, "evdidrmfb"); + +@@ -459,8 +463,13 @@ static void evdi_fbdev_destroy(__always_unused struct drm_device *dev, + { + struct fb_info *info; + ++#if KERNEL_VERSION(6, 2, 0) <= LINUX_VERSION_CODE ++ if (efbdev->helper.info) { ++ info = efbdev->helper.info; ++#else + if (efbdev->helper.fbdev) { + info = efbdev->helper.fbdev; ++#endif + unregister_framebuffer(info); + if (info->cmap.len) + fb_dealloc_cmap(&info->cmap); +@@ -537,10 +546,17 @@ void evdi_fbdev_unplug(struct drm_device *dev) + return; + + efbdev = evdi->fbdev; ++#if KERNEL_VERSION(6, 2, 0) <= LINUX_VERSION_CODE ++ if (efbdev->helper.info) { ++ struct fb_info *info; ++ ++ info = efbdev->helper.info; ++#else + if (efbdev->helper.fbdev) { + struct fb_info *info; + + info = efbdev->helper.fbdev; ++#endif + #if KERNEL_VERSION(5, 6, 0) <= LINUX_VERSION_CODE || defined(EL8) + unregister_framebuffer(info); + #else