hc
2024-02-20 102a0743326a03cd1a1202ceda21e175b7d3575c
kernel/drivers/gpu/drm/drm_kms_helper_common.c
....@@ -26,7 +26,8 @@
2626 */
2727
2828 #include <linux/module.h>
29
-#include <drm/drmP.h>
29
+
30
+#include <drm/drm_print.h>
3031
3132 #include "drm_crtc_helper_internal.h"
3233
....@@ -39,7 +40,7 @@
3940 /* Backward compatibility for drm_kms_helper.edid_firmware */
4041 static int edid_firmware_set(const char *val, const struct kernel_param *kp)
4142 {
42
- DRM_NOTE("drm_kms_firmware.edid_firmware is deprecated, please use drm.edid_firmware intead.\n");
43
+ DRM_NOTE("drm_kms_helper.edid_firmware is deprecated, please use drm.edid_firmware instead.\n");
4344
4445 return __drm_set_edid_firmware_path(val);
4546 }
....@@ -63,19 +64,18 @@
6364
6465 static int __init drm_kms_helper_init(void)
6566 {
66
- int ret;
67
+ /*
68
+ * The Kconfig DRM_KMS_HELPER selects FRAMEBUFFER_CONSOLE (if !EXPERT)
69
+ * but the module doesn't depend on any fb console symbols. At least
70
+ * attempt to load fbcon to avoid leaving the system without a usable
71
+ * console.
72
+ */
73
+ if (IS_ENABLED(CONFIG_DRM_FBDEV_EMULATION) &&
74
+ IS_MODULE(CONFIG_FRAMEBUFFER_CONSOLE) &&
75
+ !IS_ENABLED(CONFIG_EXPERT))
76
+ request_module_nowait("fbcon");
6777
68
- /* Call init functions from specific kms helpers here */
69
- ret = drm_fb_helper_modinit();
70
- if (ret < 0)
71
- goto out;
72
-
73
- ret = drm_dp_aux_dev_init();
74
- if (ret < 0)
75
- goto out;
76
-
77
-out:
78
- return ret;
78
+ return drm_dp_aux_dev_init();
7979 }
8080
8181 static void __exit drm_kms_helper_exit(void)