xref: /linux/include/linux/linux_logo.h (revision 8b3c75a39cc3cde78332f0e10898104a5e1e2807)
1 /* SPDX-License-Identifier: GPL-2.0 */
2 #ifndef _LINUX_LINUX_LOGO_H
3 #define _LINUX_LINUX_LOGO_H
4 
5 /*
6  *  Linux logo to be displayed on boot
7  *
8  *  Copyright (C) 1996 Larry Ewing (lewing@isc.tamu.edu)
9  *  Copyright (C) 1996,1998 Jakub Jelinek (jj@sunsite.mff.cuni.cz)
10  *  Copyright (C) 2001 Greg Banks <gnb@alphalink.com.au>
11  *  Copyright (C) 2001 Jan-Benedict Glaw <jbglaw@lug-owl.de>
12  *  Copyright (C) 2003 Geert Uytterhoeven <geert@linux-m68k.org>
13  */
14 
15 #include <linux/init.h>
16 
17 
18 #define LINUX_LOGO_MONO		1	/* monochrome black/white */
19 #define LINUX_LOGO_VGA16	2	/* 16 colors VGA text palette */
20 #define LINUX_LOGO_CLUT224	3	/* 224 colors */
21 #define LINUX_LOGO_GRAY256	4	/* 256 levels grayscale */
22 
23 
24 struct linux_logo {
25 	int type;			/* one of LINUX_LOGO_* */
26 	unsigned int width;
27 	unsigned int height;
28 	unsigned int clutsize;		/* LINUX_LOGO_CLUT224 only */
29 	const unsigned char *clut;	/* LINUX_LOGO_CLUT224 only */
30 	const unsigned char *data;
31 };
32 
33 extern const struct linux_logo logo_linux_mono;
34 extern const struct linux_logo logo_linux_vga16;
35 extern const struct linux_logo logo_linux_clut224;
36 extern const struct linux_logo logo_spe_clut224;
37 
38 extern const struct linux_logo *fb_find_logo(int depth);
39 #ifdef CONFIG_FB_LOGO_EXTRA
40 extern void fb_append_extra_logo(const struct linux_logo *logo,
41 				 unsigned int n);
42 #else
fb_append_extra_logo(const struct linux_logo * logo,unsigned int n)43 static inline void fb_append_extra_logo(const struct linux_logo *logo,
44 					unsigned int n)
45 {}
46 #endif
47 
48 #endif /* _LINUX_LINUX_LOGO_H */
49