|
@@ -1533,3 +1533,24 @@ bool drm_fb_helper_hotplug_event(struct drm_fb_helper *fb_helper)
|
|
|
}
|
|
|
EXPORT_SYMBOL(drm_fb_helper_hotplug_event);
|
|
|
|
|
|
+/* The Kconfig DRM_KMS_HELPER selects FRAMEBUFFER_CONSOLE (if !EMBEDDED)
|
|
|
+ * 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 defined(CONFIG_FRAMEBUFFER_CONSOLE_MODULE) && !defined(CONFIG_EMBEDDED)
|
|
|
+static int __init drm_fb_helper_modinit(void)
|
|
|
+{
|
|
|
+ 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);
|
|
|
+ return 0;
|
|
|
+}
|
|
|
+
|
|
|
+module_init(drm_fb_helper_modinit);
|
|
|
+#endif
|