Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 8642aef2 authored by Christoph Hellwig's avatar Christoph Hellwig Committed by Greg Kroah-Hartman
Browse files

drm: remove drm_fb_helper_modinit



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: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
Signed-off-by: default avatarJessica Yu <jeyu@kernel.org>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent a2f8cfa6
Loading
Loading
Loading
Loading
+0 −10
Original line number Diff line number Diff line
@@ -28,16 +28,6 @@

#include <drm/drm_dp_helper.h>

/* 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);
+0 −21
Original line number Diff line number Diff line
@@ -2324,24 +2324,3 @@ int drm_fb_helper_hotplug_event(struct drm_fb_helper *fb_helper)
	return 0;
}
EXPORT_SYMBOL(drm_fb_helper_hotplug_event);

/* 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);
+12 −13
Original line number Diff line number Diff line
@@ -36,19 +36,18 @@ MODULE_LICENSE("GPL and additional rights");

static int __init drm_kms_helper_init(void)
{
	int ret;

	/* 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;
	/*
	 * 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");

out:
	return ret;
	return drm_dp_aux_dev_init();
}

static void __exit drm_kms_helper_exit(void)