.. | .. |
---|
26 | 26 | */ |
---|
27 | 27 | |
---|
28 | 28 | #include <linux/module.h> |
---|
29 | | -#include <drm/drmP.h> |
---|
| 29 | + |
---|
| 30 | +#include <drm/drm_print.h> |
---|
30 | 31 | |
---|
31 | 32 | #include "drm_crtc_helper_internal.h" |
---|
32 | 33 | |
---|
.. | .. |
---|
39 | 40 | /* Backward compatibility for drm_kms_helper.edid_firmware */ |
---|
40 | 41 | static int edid_firmware_set(const char *val, const struct kernel_param *kp) |
---|
41 | 42 | { |
---|
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"); |
---|
43 | 44 | |
---|
44 | 45 | return __drm_set_edid_firmware_path(val); |
---|
45 | 46 | } |
---|
.. | .. |
---|
63 | 64 | |
---|
64 | 65 | static int __init drm_kms_helper_init(void) |
---|
65 | 66 | { |
---|
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"); |
---|
67 | 77 | |
---|
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(); |
---|
79 | 79 | } |
---|
80 | 80 | |
---|
81 | 81 | static void __exit drm_kms_helper_exit(void) |
---|