18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */ 28c2ecf20Sopenharmony_ci#ifndef _LINUX_LINUX_LOGO_H 38c2ecf20Sopenharmony_ci#define _LINUX_LINUX_LOGO_H 48c2ecf20Sopenharmony_ci 58c2ecf20Sopenharmony_ci/* 68c2ecf20Sopenharmony_ci * Linux logo to be displayed on boot 78c2ecf20Sopenharmony_ci * 88c2ecf20Sopenharmony_ci * Copyright (C) 1996 Larry Ewing (lewing@isc.tamu.edu) 98c2ecf20Sopenharmony_ci * Copyright (C) 1996,1998 Jakub Jelinek (jj@sunsite.mff.cuni.cz) 108c2ecf20Sopenharmony_ci * Copyright (C) 2001 Greg Banks <gnb@alphalink.com.au> 118c2ecf20Sopenharmony_ci * Copyright (C) 2001 Jan-Benedict Glaw <jbglaw@lug-owl.de> 128c2ecf20Sopenharmony_ci * Copyright (C) 2003 Geert Uytterhoeven <geert@linux-m68k.org> 138c2ecf20Sopenharmony_ci * 148c2ecf20Sopenharmony_ci * Serial_console ascii image can be any size, 158c2ecf20Sopenharmony_ci * but should contain %s to display the version 168c2ecf20Sopenharmony_ci */ 178c2ecf20Sopenharmony_ci 188c2ecf20Sopenharmony_ci#include <linux/init.h> 198c2ecf20Sopenharmony_ci 208c2ecf20Sopenharmony_ci 218c2ecf20Sopenharmony_ci#define LINUX_LOGO_MONO 1 /* monochrome black/white */ 228c2ecf20Sopenharmony_ci#define LINUX_LOGO_VGA16 2 /* 16 colors VGA text palette */ 238c2ecf20Sopenharmony_ci#define LINUX_LOGO_CLUT224 3 /* 224 colors */ 248c2ecf20Sopenharmony_ci#define LINUX_LOGO_GRAY256 4 /* 256 levels grayscale */ 258c2ecf20Sopenharmony_ci 268c2ecf20Sopenharmony_ci 278c2ecf20Sopenharmony_cistruct linux_logo { 288c2ecf20Sopenharmony_ci int type; /* one of LINUX_LOGO_* */ 298c2ecf20Sopenharmony_ci unsigned int width; 308c2ecf20Sopenharmony_ci unsigned int height; 318c2ecf20Sopenharmony_ci unsigned int clutsize; /* LINUX_LOGO_CLUT224 only */ 328c2ecf20Sopenharmony_ci const unsigned char *clut; /* LINUX_LOGO_CLUT224 only */ 338c2ecf20Sopenharmony_ci const unsigned char *data; 348c2ecf20Sopenharmony_ci}; 358c2ecf20Sopenharmony_ci 368c2ecf20Sopenharmony_ciextern const struct linux_logo logo_linux_mono; 378c2ecf20Sopenharmony_ciextern const struct linux_logo logo_linux_vga16; 388c2ecf20Sopenharmony_ciextern const struct linux_logo logo_linux_clut224; 398c2ecf20Sopenharmony_ciextern const struct linux_logo logo_dec_clut224; 408c2ecf20Sopenharmony_ciextern const struct linux_logo logo_mac_clut224; 418c2ecf20Sopenharmony_ciextern const struct linux_logo logo_parisc_clut224; 428c2ecf20Sopenharmony_ciextern const struct linux_logo logo_sgi_clut224; 438c2ecf20Sopenharmony_ciextern const struct linux_logo logo_sun_clut224; 448c2ecf20Sopenharmony_ciextern const struct linux_logo logo_superh_mono; 458c2ecf20Sopenharmony_ciextern const struct linux_logo logo_superh_vga16; 468c2ecf20Sopenharmony_ciextern const struct linux_logo logo_superh_clut224; 478c2ecf20Sopenharmony_ciextern const struct linux_logo logo_spe_clut224; 488c2ecf20Sopenharmony_ci 498c2ecf20Sopenharmony_ciextern const struct linux_logo *fb_find_logo(int depth); 508c2ecf20Sopenharmony_ci#ifdef CONFIG_FB_LOGO_EXTRA 518c2ecf20Sopenharmony_ciextern void fb_append_extra_logo(const struct linux_logo *logo, 528c2ecf20Sopenharmony_ci unsigned int n); 538c2ecf20Sopenharmony_ci#else 548c2ecf20Sopenharmony_cistatic inline void fb_append_extra_logo(const struct linux_logo *logo, 558c2ecf20Sopenharmony_ci unsigned int n) 568c2ecf20Sopenharmony_ci{} 578c2ecf20Sopenharmony_ci#endif 588c2ecf20Sopenharmony_ci 598c2ecf20Sopenharmony_ci#endif /* _LINUX_LINUX_LOGO_H */ 60