#include <linux/linux_logo.h>
#include <linux/stddef.h>
#include <linux/module.h>
#ifdef CONFIG_M68K
#include <asm/setup.h>
#endif
static bool nologo;
module_param(nologo, bool, 0);
MODULE_PARM_DESC(nologo, "Disables startup logo");
static bool logos_freed;
static int __init fb_logo_late_init(void)
{
logos_freed = true;
return 0;
}
late_initcall_sync(fb_logo_late_init);
const struct linux_logo * __ref fb_find_logo(int depth)
{
const struct linux_logo *logo = NULL;
if (nologo || logos_freed)
return NULL;
#ifdef CONFIG_LOGO_LINUX_MONO
if (depth >= 1)
logo = &logo_linux_mono;
#endif
#ifdef CONFIG_LOGO_LINUX_VGA16
if (depth >= 4)
logo = &logo_linux_vga16;
#endif
#ifdef CONFIG_LOGO_LINUX_CLUT224
if (depth >= 8)
logo = &logo_linux_clut224;
#endif
return logo;
}
EXPORT_SYMBOL_GPL(fb_find_logo);