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
2007-10-16 01:29:37 -07:00
static int nologo ;
module_param ( nologo , bool , 0 ) ;
MODULE_PARM_DESC ( nologo , " Disables startup logo " ) ;
2007-06-03 00:47:53 +02:00
/* logo's are marked __initdata. Use __init_refok to tell
* modpost that it is intended that this function uses data
* marked __initdata .
*/
const struct linux_logo * __init_refok fb_find_logo ( int depth )
2005-04-16 15:20:36 -07:00
{
const struct linux_logo * logo = NULL ;
2007-10-16 01:29:37 -07:00
if ( nologo )
return NULL ;
2005-04-16 15:20:36 -07:00
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
2008-05-14 16:05:48 -07:00
# ifdef CONFIG_LOGO_BLACKFIN_VGA16
/* Blackfin processor logo */
logo = & logo_blackfin_vga16 ;
# endif
2005-04-16 15:20:36 -07:00
# 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
2008-05-14 16:05:48 -07:00
# ifdef CONFIG_LOGO_BLACKFIN_CLUT224
/* Blackfin Linux logo */
logo = & logo_blackfin_clut224 ;
# endif
2005-04-16 15:20:36 -07:00
# ifdef CONFIG_LOGO_DEC_CLUT224
/* DEC Linux logo on MIPS/MIPS64 or ALPHA */
2007-10-18 03:04:37 -07:00
logo = & logo_dec_clut224 ;
2005-04-16 15:20:36 -07:00
# 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 */
2007-10-18 03:04:37 -07:00
logo = & logo_sgi_clut224 ;
2005-04-16 15:20:36 -07:00
# 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 ) ;