guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

02/05: gnu: evdi: Fix build with linux-libre 6.2.


From: guix-commits
Subject: 02/05: gnu: evdi: Fix build with linux-libre 6.2.
Date: Sat, 11 Mar 2023 11:38:57 -0500 (EST)

lfam pushed a commit to branch master
in repository guix.

commit 9ba649a926ad4717a7550e7d6d4495bc8524b222
Author: Leo Famulari <leo@famulari.name>
AuthorDate: Sat Mar 11 11:27:47 2023 -0500

    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 +
 .../patches/evdi-fix-build-with-linux-6.2.patch    | 72 ++++++++++++++++++++++
 3 files changed, 74 insertions(+)

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 <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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]