Merge tag 'v4.17-rc2' into next-general
[platform/kernel/linux-starfive.git] / include / linux / linux_logo.h
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 fb_append_extra_logo(const struct linux_logo *logo,
55                                         unsigned int n)
56 {}
57 #endif
58
59 #endif /* _LINUX_LINUX_LOGO_H */