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