From f08567da6cbba9da58e74a2f37f6411cb20e339b Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Thu, 30 Jun 2022 11:28:03 +0200 Subject: [PATCH] 4.19-stable patches added patches: drm-remove-drm_fb_helper_modinit.patch --- .../drm-remove-drm_fb_helper_modinit.patch | 104 ++++++++++++++++++ queue-4.19/series | 1 + 2 files changed, 105 insertions(+) create mode 100644 queue-4.19/drm-remove-drm_fb_helper_modinit.patch diff --git a/queue-4.19/drm-remove-drm_fb_helper_modinit.patch b/queue-4.19/drm-remove-drm_fb_helper_modinit.patch new file mode 100644 index 00000000000..82e5fd146f8 --- /dev/null +++ b/queue-4.19/drm-remove-drm_fb_helper_modinit.patch @@ -0,0 +1,104 @@ +From bf22c9ec39da90ce866d5f625d616f28bc733dc1 Mon Sep 17 00:00:00 2001 +From: Christoph Hellwig +Date: Tue, 2 Feb 2021 13:13:23 +0100 +Subject: drm: remove drm_fb_helper_modinit + +From: Christoph Hellwig + +commit bf22c9ec39da90ce866d5f625d616f28bc733dc1 upstream. + +drm_fb_helper_modinit has a lot of boilerplate for what is not very +simple functionality. Just open code it in the only caller using +IS_ENABLED and IS_MODULE, and skip the find_module check as a +request_module is harmless if the module is already loaded (and not +other caller has this find_module check either). + +Acked-by: Daniel Vetter +Signed-off-by: Christoph Hellwig +Signed-off-by: Jessica Yu +Signed-off-by: Greg Kroah-Hartman +--- + drivers/gpu/drm/drm_crtc_helper_internal.h | 10 ---------- + drivers/gpu/drm/drm_fb_helper.c | 21 --------------------- + drivers/gpu/drm/drm_kms_helper_common.c | 23 +++++++++++------------ + 3 files changed, 11 insertions(+), 43 deletions(-) + +--- a/drivers/gpu/drm/drm_crtc_helper_internal.h ++++ b/drivers/gpu/drm/drm_crtc_helper_internal.h +@@ -32,16 +32,6 @@ + #include + #include + +-/* drm_fb_helper.c */ +-#ifdef CONFIG_DRM_FBDEV_EMULATION +-int drm_fb_helper_modinit(void); +-#else +-static inline int drm_fb_helper_modinit(void) +-{ +- return 0; +-} +-#endif +- + /* drm_dp_aux_dev.c */ + #ifdef CONFIG_DRM_DP_AUX_CHARDEV + int drm_dp_aux_dev_init(void); +--- a/drivers/gpu/drm/drm_fb_helper.c ++++ b/drivers/gpu/drm/drm_fb_helper.c +@@ -3270,24 +3270,3 @@ int drm_fbdev_generic_setup(struct drm_d + return 0; + } + EXPORT_SYMBOL(drm_fbdev_generic_setup); +- +-/* The Kconfig DRM_KMS_HELPER selects FRAMEBUFFER_CONSOLE (if !EXPERT) +- * but the module doesn't depend on any fb console symbols. At least +- * attempt to load fbcon to avoid leaving the system without a usable console. +- */ +-int __init drm_fb_helper_modinit(void) +-{ +-#if defined(CONFIG_FRAMEBUFFER_CONSOLE_MODULE) && !defined(CONFIG_EXPERT) +- const char name[] = "fbcon"; +- struct module *fbcon; +- +- mutex_lock(&module_mutex); +- fbcon = find_module(name); +- mutex_unlock(&module_mutex); +- +- if (!fbcon) +- request_module_nowait(name); +-#endif +- return 0; +-} +-EXPORT_SYMBOL(drm_fb_helper_modinit); +--- a/drivers/gpu/drm/drm_kms_helper_common.c ++++ b/drivers/gpu/drm/drm_kms_helper_common.c +@@ -63,19 +63,18 @@ MODULE_PARM_DESC(edid_firmware, + + static int __init drm_kms_helper_init(void) + { +- int ret; ++ /* ++ * The Kconfig DRM_KMS_HELPER selects FRAMEBUFFER_CONSOLE (if !EXPERT) ++ * but the module doesn't depend on any fb console symbols. At least ++ * attempt to load fbcon to avoid leaving the system without a usable ++ * console. ++ */ ++ if (IS_ENABLED(CONFIG_DRM_FBDEV_EMULATION) && ++ IS_MODULE(CONFIG_FRAMEBUFFER_CONSOLE) && ++ !IS_ENABLED(CONFIG_EXPERT)) ++ request_module_nowait("fbcon"); + +- /* Call init functions from specific kms helpers here */ +- ret = drm_fb_helper_modinit(); +- if (ret < 0) +- goto out; +- +- ret = drm_dp_aux_dev_init(); +- if (ret < 0) +- goto out; +- +-out: +- return ret; ++ return drm_dp_aux_dev_init(); + } + + static void __exit drm_kms_helper_exit(void) diff --git a/queue-4.19/series b/queue-4.19/series index 72ad407500b..fbb14358a82 100644 --- a/queue-4.19/series +++ b/queue-4.19/series @@ -40,3 +40,4 @@ arm-cns3xxx-fix-refcount-leak-in-cns3xxx_init.patch modpost-fix-section-mismatch-check-for-exported-init-exit-sections.patch kbuild-link-vmlinux-only-once-for-config_trim_unused_ksyms-2nd-attempt.patch powerpc-pseries-wire-up-rng-during-setup_arch.patch +drm-remove-drm_fb_helper_modinit.patch -- 2.47.3