2005-04-16 15:20:36 -07:00
/*
* Linux logo to be displayed on boot
*
* Copyright ( C ) 1996 Larry Ewing ( lewing @ isc . tamu . edu )
* Copyright ( C ) 1996 , 1998 Jakub Jelinek ( jj @ sunsite . mff . cuni . cz )
* Copyright ( C ) 2001 Greg Banks < gnb @ alphalink . com . au >
* Copyright ( C ) 2001 Jan - Benedict Glaw < jbglaw @ lug - owl . de >
* Copyright ( C ) 2003 Geert Uytterhoeven < geert @ linux - m68k . org >
*/
# include <linux/linux_logo.h>
# include <linux/stddef.h>
# include <linux/module.h>
# ifdef CONFIG_M68K
# include <asm/setup.h>
# endif
# ifdef CONFIG_MIPS
# include <asm/bootinfo.h>
# endif
extern const struct linux_logo logo_linux_mono ;
extern const struct linux_logo logo_linux_vga16 ;
extern const struct linux_logo logo_linux_clut224 ;
extern const struct linux_logo logo_dec_clut224 ;
extern const struct linux_logo logo_mac_clut224 ;
extern const struct linux_logo logo_parisc_clut224 ;
extern const struct linux_logo logo_sgi_clut224 ;
extern const struct linux_logo logo_sun_clut224 ;
extern const struct linux_logo logo_superh_mono ;
extern const struct linux_logo logo_superh_vga16 ;
extern const struct linux_logo logo_superh_clut224 ;
2005-07-07 17:59:32 -07:00
extern const struct linux_logo logo_m32r_clut224 ;
2005-04-16 15:20:36 -07:00
const struct linux_logo * fb_find_logo ( int depth )
{
const struct linux_logo * logo = NULL ;
if ( depth > = 1 ) {
# ifdef CONFIG_LOGO_LINUX_MONO
/* Generic Linux logo */
logo = & logo_linux_mono ;
# endif
# ifdef CONFIG_LOGO_SUPERH_MONO
/* SuperH Linux logo */
logo = & logo_superh_mono ;
# endif
}
if ( depth > = 4 ) {
# ifdef CONFIG_LOGO_LINUX_VGA16
/* Generic Linux logo */
logo = & logo_linux_vga16 ;
# endif
# ifdef CONFIG_LOGO_SUPERH_VGA16
/* SuperH Linux logo */
logo = & logo_superh_vga16 ;
# endif
}
if ( depth > = 8 ) {
# ifdef CONFIG_LOGO_LINUX_CLUT224
/* Generic Linux logo */
logo = & logo_linux_clut224 ;
# endif
# ifdef CONFIG_LOGO_DEC_CLUT224
/* DEC Linux logo on MIPS/MIPS64 or ALPHA */
# ifndef CONFIG_ALPHA
if ( mips_machgroup = = MACH_GROUP_DEC )
# endif
logo = & logo_dec_clut224 ;
# endif
# ifdef CONFIG_LOGO_MAC_CLUT224
/* Macintosh Linux logo on m68k */
if ( MACH_IS_MAC )
logo = & logo_mac_clut224 ;
# endif
# ifdef CONFIG_LOGO_PARISC_CLUT224
/* PA-RISC Linux logo */
logo = & logo_parisc_clut224 ;
# endif
# ifdef CONFIG_LOGO_SGI_CLUT224
/* SGI Linux logo on MIPS/MIPS64 and VISWS */
# ifndef CONFIG_X86_VISWS
if ( mips_machgroup = = MACH_GROUP_SGI )
# endif
logo = & logo_sgi_clut224 ;
# endif
# ifdef CONFIG_LOGO_SUN_CLUT224
/* Sun Linux logo */
logo = & logo_sun_clut224 ;
# endif
# ifdef CONFIG_LOGO_SUPERH_CLUT224
/* SuperH Linux logo */
logo = & logo_superh_clut224 ;
2005-07-07 17:59:32 -07:00
# endif
# ifdef CONFIG_LOGO_M32R_CLUT224
/* M32R Linux logo */
logo = & logo_m32r_clut224 ;
2005-04-16 15:20:36 -07:00
# endif
}
return logo ;
}
EXPORT_SYMBOL_GPL ( fb_find_logo ) ;