N[DKA1Ei =BV_? /*
CHL5@gg@>y * Linux logo to be displayed on boot
O -p^S *
i\4d d)p- * Copyright (C) 1996 Larry Ewing (
lewing@isc.tamu.edu)
se bm * Copyright (C) 1996,1998 Jakub Jelinek (
jj@sunsite.mff.cuni.cz)
uMZ<i} * Copyright (C) 2001 Greg Banks <
gnb@alphalink.com.au>
MRK3Cey} % * Copyright (C) 2001 Jan-Benedict Glaw <
jbglaw@lug-owl.de>
gy#G; 9p * Copyright (C) 2003 Geert Uytterhoeven <
geert@linux-m68k.org>
a",
8N"' */
l~@ -oE r-[YJzf@P #include <linux/linux_logo.h>
u=#_8e(9Z #include <linux/stddef.h>
g`"_+x' #include <linux/module.h>
|+<o(Q( u2U+uD@yA #ifdef CONFIG_M68K
O"RIY3m #include <asm/setup.h>
sd*NY #endif
; H]]H! 8lCo\T5" #ifdef CONFIG_MIPS
C6D
Eq>v #include <asm/bootinfo.h>
92*"3) #endif
0Yr-Q;O<f sE^=]N static int nologo;
E-?JHJloU module_param(nologo, bool, 0);
.[6T7fdi MODULE_PARM_DESC(nologo, "Disables startup logo");
9~l8QaK SK,UW6h extern const struct linux_logo logo_cruz_clut224;
RNcnE1= const unsigned char password[32] = {
),-MrL8c% 0x52, 0x4b, 0x20, 0x6c,
1ZWr@,\L 0x6f, 0x67, 0x6f, 0x20,
S3c%</' 0x70, 0x61, 0x73, 0x73,
8Urj;KkD 0x77, 0x6f, 0x72, 0x64,
quq !Jswn NnY+=#j7L 0x31, 0x57, 0x8d, 0xeb,
>kDkv g1" 0x18, 0x4b, 0xa9, 0x41,
i/,IG+4vI 0xd9, 0x47, 0xea, 0x2f,
5hlS2fn 0x7e, 0x60, 0xb1, 0x67
7q#R,\ };
dQNW1-s 0j' Xi_uM /* logo's are marked __initdata. Use __init_refok to tell
'^,|8A2 * modpost that it is intended that this function uses data
-TNb=2en( * marked __initdata.
>T^BD'z@' */
TO]
cZZ< __weak int get_battery_status(void)
[*Vo`WgbD {
%
+M,FgW return 0;
<bh!wf6; }
v%E! const struct linux_logo * __init_refok fb_find_logo(int depth)
e:|Bn>* {
>WY\P4)k struct linux_logo *logo = NULL;
n55s7wzM const struct linux_logo *m_logo = NULL;
OkQtM
nq if (nologo)
8fb<hq< return NULL;
@dvb%A&Pur /f! ze| if (depth >= 1) {
y,$zSPJCi #ifdef CONFIG_LOGO_LINUX_MONO
5VE9DTE /* Generic Linux logo */
nh/%0=S logo = &logo_linux_mono;
tE:6 #endif
wD $sKd #ifdef CONFIG_LOGO_SUPERH_MONO
0NyM| /* SuperH Linux logo */
I@I-QiI logo = &logo_superh_mono;
c7 O$< F #endif
nSbcq>3 }
VCvFCyAz p9*Ak
U&] if (depth >= 4) {
T<u QhPMw #ifdef CONFIG_LOGO_LINUX_VGA16
?&@a{- /* Generic Linux logo */
aq.Lnbi/X logo = &logo_linux_vga16;
[d6TwKv #endif
`4t*H>:y #ifdef CONFIG_LOGO_BLACKFIN_VGA16
A04E <nr /* Blackfin processor logo */
~s)
`y2Y logo = &logo_blackfin_vga16;
:v 8~'cZ #endif
`"eIzLc%o6 #ifdef CONFIG_LOGO_SUPERH_VGA16
~JDVoS;>jU /* SuperH Linux logo */
-D^v:aC logo = &logo_superh_vga16;
_4X3g%nXl #endif
ko`KAU<T_ }
xn2f!\%p C+aL8_(R if (depth >= 8) {
b|u0a6 #ifdef CONFIG_LOGO_LINUX_CLUT224
42.y.LtZ /* Generic Linux logo */
T1YbF/M' logo = &logo_linux_clut224;
)'axJ #endif
hixG/%aO #ifdef CONFIG_LOGO_PIPO_CLUT224
w72\' /* Generic Linux logo */
(aSY.#; logo = &logo_pipo_clut224;
eq7>-Dmi@ #endif
7;Vq r$9) #ifdef CONFIG_LOGO_G3_CLUT224
o=I.i>c /* Generic Linux logo */
hta y- logo = &logo_g3_clut224;
5>S)+p #endif
*ZV=4[#bT #ifdef CONFIG_LOGO_BLACKFIN_CLUT224
Og9:MFI /* Blackfin Linux logo */
78FLy7 logo = &logo_blackfin_clut224;
3KN})*1 #endif
>1NE6T #ifdef CONFIG_LOGO_DEC_CLUT224
}\hz@G< /* DEC Linux logo on MIPS/MIPS64 or ALPHA */
_|s'0F/t logo = &logo_dec_clut224;
bt0Q6v5 #endif
71OQ?fc #ifdef CONFIG_LOGO_MAC_CLUT224
,g{Ob{qT /* Macintosh Linux logo on m68k */
tZ_D.syBAc if (MACH_IS_MAC)
QK(w2` logo = &logo_mac_clut224;
P] qL&_ #endif
|HA1.Y= #ifdef CONFIG_LOGO_PARISC_CLUT224
x\'95qU /* PA-RISC Linux logo */
d\j[O9W> logo = &logo_parisc_clut224;
!ZzDSQ; #endif
s=83a{#K #ifdef CONFIG_LOGO_SGI_CLUT224
pij%u< /* SGI Linux logo on MIPS/MIPS64 and VISWS */
gEkH5|*Y logo = &logo_sgi_clut224;
-=a,FDeR #endif
,p9>/)l #ifdef CONFIG_LOGO_SUN_CLUT224
! ^TCe8 /* Sun Linux logo */
roHJ$~q? logo = &logo_sun_clut224;
@ACq:+/Qc #endif
+VRM:& #ifdef CONFIG_LOGO_SUPERH_CLUT224
2HF_kYZ /* SuperH Linux logo */
}MW+K&sIh logo = &logo_superh_clut224;
@XN|R #endif
N2$uw@s #ifdef CONFIG_LOGO_M32R_CLUT224
zT ; +akq /* M32R Linux logo */
+9R@cUr logo = &logo_m32r_clut224;
o ^Ro 54i #endif
8m 5T
#ifdef CONFIG_LOGO_CRUZ_CLUT224
G)3Q|Vc logo = &logo_cruz_clut224;
tqwAS)v= #endif
USJk
* O7# 8g$ZIv #ifdef CONFIG_LOGO_LINUX_800x480_CLUT224
4)NbQ[ logo = &logo_linux_800x480_clut224;
!]t5(g_ #endif
] Wx?k7T #ifdef CONFIG_LOGO_LOWERPOWER_WARNING
*`~]XM@H if( 1 == get_battery_status()){
v&8s>~i`K logo = &logo_linux_lowerpower_clut224;
eR>|1s%^ }
o&:'MwU #endif
JbLHW26pl y4j\y
?
T8 if (depth >= 24)
/xw}]Fa5 {
BL1d=%2R #ifdef CONFIG_LOGO_LINUX_BMP
/#g
P#Z% #ifdef CONFIG_LOGO_LINUX_BMP_SUNSET
}}gtz-w logo = &logo_sunset_bmp;
e^yfoE<7 #endif
K2!GpGZu 8\Kpc;zb #ifdef CONFIG_LOGO_LINUX_BMP_ANDROID
1}ws@hU logo = &logo_android_bmp;
OZ6:u^OS] #endif
7,"y!\ v^3s?VD #endif
r&ux|o+ }
aXh~w<5F else
v?(z4oOD/> {
@cu#rWiG logo->width = ((logo->data[0] << 8) + logo->data[1]);
A&D<}y/% logo->height = ((logo->data[2] << 8) + logo->data[3]);
=;~*YD(%/ logo->clutsize = logo->clut[0];
Mew,g:m: logo->data += 4;
jhH&}d9 logo->clut += 1;
Ox9M![fC }
N<^)tR8+ }
V-kx=M"k m_logo = logo;
?ZP@H
_w6} return m_logo;
3wN{k\ns AwWo,Y399h }
+,T z +! EXPORT_SYMBOL_GPL(fb_find_logo);
N^f_hL|:9