1165535Sjkoshy/* SPDX-License-Identifier: GPL-2.0 */ 2165535Sjkoshy#ifndef _LINUX_LINUX_LOGO_H 3165535Sjkoshy#define _LINUX_LINUX_LOGO_H 4165535Sjkoshy 5165535Sjkoshy/* 6165535Sjkoshy * Linux logo to be displayed on boot 7165535Sjkoshy * 8165535Sjkoshy * Copyright (C) 1996 Larry Ewing (lewing@isc.tamu.edu) 9165535Sjkoshy * Copyright (C) 1996,1998 Jakub Jelinek (jj@sunsite.mff.cuni.cz) 10165535Sjkoshy * Copyright (C) 2001 Greg Banks <gnb@alphalink.com.au> 11165535Sjkoshy * Copyright (C) 2001 Jan-Benedict Glaw <jbglaw@lug-owl.de> 12165535Sjkoshy * Copyright (C) 2003 Geert Uytterhoeven <geert@linux-m68k.org> 13165535Sjkoshy * 14165535Sjkoshy * Serial_console ascii image can be any size, 15165535Sjkoshy * but should contain %s to display the version 16165535Sjkoshy */ 17165535Sjkoshy 18165535Sjkoshy#include <linux/init.h> 19165535Sjkoshy 20165535Sjkoshy 21165535Sjkoshy#define LINUX_LOGO_MONO 1 /* monochrome black/white */ 22165535Sjkoshy#define LINUX_LOGO_VGA16 2 /* 16 colors VGA text palette */ 23165535Sjkoshy#define LINUX_LOGO_CLUT224 3 /* 224 colors */ 24165535Sjkoshy#define LINUX_LOGO_GRAY256 4 /* 256 levels grayscale */ 25165535Sjkoshy 26210345Skaiw 27206622Suqsstruct linux_logo { 28165535Sjkoshy int type; /* one of LINUX_LOGO_* */ 29165535Sjkoshy unsigned int width; 30165535Sjkoshy unsigned int height; 31165535Sjkoshy unsigned int clutsize; /* LINUX_LOGO_CLUT224 only */ 32165535Sjkoshy const unsigned char *clut; /* LINUX_LOGO_CLUT224 only */ 33165535Sjkoshy const unsigned char *data; 34165535Sjkoshy}; 35165535Sjkoshy 36165535Sjkoshyextern const struct linux_logo logo_linux_mono; 37165535Sjkoshyextern const struct linux_logo logo_linux_vga16; 38165535Sjkoshyextern const struct linux_logo logo_linux_clut224; 39210345Skaiwextern const struct linux_logo logo_dec_clut224; 40210345Skaiwextern const struct linux_logo logo_mac_clut224; 41210345Skaiwextern const struct linux_logo logo_parisc_clut224; 42210345Skaiwextern const struct linux_logo logo_sgi_clut224; 43210345Skaiwextern const struct linux_logo logo_sun_clut224; 44165535Sjkoshyextern const struct linux_logo logo_superh_mono; 45165535Sjkoshyextern const struct linux_logo logo_superh_vga16; 46165535Sjkoshyextern const struct linux_logo logo_superh_clut224; 47165535Sjkoshyextern const struct linux_logo logo_spe_clut224; 48165535Sjkoshy 49165535Sjkoshyextern const struct linux_logo *fb_find_logo(int depth); 50165535Sjkoshy#ifdef CONFIG_FB_LOGO_EXTRA 51165535Sjkoshyextern void fb_append_extra_logo(const struct linux_logo *logo, 52165535Sjkoshy unsigned int n); 53165535Sjkoshy#else 54165535Sjkoshystatic inline void fb_append_extra_logo(const struct linux_logo *logo, 55165535Sjkoshy unsigned int n) 56165535Sjkoshy{} 57165535Sjkoshy#endif 58165535Sjkoshy 59165535Sjkoshy#endif /* _LINUX_LINUX_LOGO_H */ 60165535Sjkoshy