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 | * Serial_console ascii image can be any size, |
15 | * but should contain %s to display the version |
16 | */ |
17 | |
18 | #include <linux/init.h> |
19 | |
20 | |
21 | #define LINUX_LOGO_MONO 1 /* monochrome black/white */ |
22 | #define LINUX_LOGO_VGA16 2 /* 16 colors VGA text palette */ |
23 | #define LINUX_LOGO_CLUT224 3 /* 224 colors */ |
24 | #define LINUX_LOGO_GRAY256 4 /* 256 levels grayscale */ |
25 | |
26 | |
27 | struct linux_logo { |
28 | int type; /* one of LINUX_LOGO_* */ |
29 | unsigned int width; |
30 | unsigned int height; |
31 | unsigned int clutsize; /* LINUX_LOGO_CLUT224 only */ |
32 | const unsigned char *clut; /* LINUX_LOGO_CLUT224 only */ |
33 | const unsigned char *data; |
34 | }; |
35 | |
36 | extern const struct linux_logo logo_linux_mono; |
37 | extern const struct linux_logo logo_linux_vga16; |
38 | extern const struct linux_logo logo_linux_clut224; |
39 | extern const struct linux_logo logo_dec_clut224; |
40 | extern const struct linux_logo logo_mac_clut224; |
41 | extern const struct linux_logo logo_parisc_clut224; |
42 | extern const struct linux_logo logo_sgi_clut224; |
43 | extern const struct linux_logo logo_sun_clut224; |
44 | extern const struct linux_logo logo_superh_mono; |
45 | extern const struct linux_logo logo_superh_vga16; |
46 | extern const struct linux_logo logo_superh_clut224; |
47 | extern const struct linux_logo logo_spe_clut224; |
48 | |
49 | extern const struct linux_logo *fb_find_logo(int depth); |
50 | #ifdef CONFIG_FB_LOGO_EXTRA |
51 | extern void fb_append_extra_logo(const struct linux_logo *logo, |
52 | unsigned int n); |
53 | #else |
54 | static inline void (const struct linux_logo *logo, |
55 | unsigned int n) |
56 | {} |
57 | #endif |
58 | |
59 | #endif /* _LINUX_LINUX_LOGO_H */ |
60 | |