linux_logo.h 1.9 KB

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