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.master
parent
9f04a24211
commit
9ba649a926
|
@ -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 \
|
||||
|
|
|
@ -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"))))
|
||||
|
|
|
@ -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 <listout@protonmail.com>
|
||||
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 <listout@protonmail.com>
|
||||
---
|
||||
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
|
Reference in New Issue