Commit ac6d088b authored by Vincent Mailhol's avatar Vincent Mailhol Committed by Helge Deller
Browse files

video/logo: move logo selection logic to Kconfig

Now that the path to the logo file can be directly entered in Kbuild,
there is no more need to handle all the logo file selection in the
Makefile and the C files.

The only exception is the logo_spe_clut224 which is only used by the
Cell processor (found for example in the Playstation 3) [1]. This
extra logo uses its own different image which shows up on a separate
line just below the normal logo. Because the extra logo uses a
different image, it can not be factorized under the custom logo logic.

Move all the logo file selection logic to Kbuild (except from the
logo_spe_clut224.ppm), this done, clean-up the C code to only leave
one entry for each logo type (monochrome, 16-colors and 224-colors).

[1] Cell SPE logos
Link: https://lore.kernel.org/all/20070710122702.765654000@pademelon.sonytel.be/



Signed-off-by: default avatarVincent Mailhol <mailhol@kernel.org>
Signed-off-by: default avatarHelge Deller <deller@gmx.de>
parent 3092718e
Loading
Loading
Loading
Loading
+7 −36
Original line number Diff line number Diff line
@@ -25,6 +25,7 @@ config LOGO_LINUX_MONO
config LOGO_LINUX_MONO_FILE
	string "Monochrome logo .pbm file"
	depends on LOGO_LINUX_MONO
	default "drivers/video/logo/logo_superh_mono.pbm" if SUPERH
	default "drivers/video/logo/logo_linux_mono.pbm"
	help
	  Takes a path to a monochromatic logo in the portable pixmap file
@@ -42,6 +43,7 @@ config LOGO_LINUX_VGA16
config LOGO_LINUX_VGA16_FILE
	string "16-color logo .ppm file"
	depends on LOGO_LINUX_VGA16
	default "drivers/video/logo/logo_superh_vga16.ppm" if SUPERH
	default "drivers/video/logo/logo_linux_vga16.ppm"
	help
	  Takes a path to a logo in the portable pixmap file format (.ppm),
@@ -61,6 +63,11 @@ config LOGO_LINUX_CLUT224
config LOGO_LINUX_CLUT224_FILE
	string "224-color logo .ppm file"
	depends on LOGO_LINUX_CLUT224
	default "drivers/video/logo/logo_dec_clut224.ppm" if MACH_DECSTATION || ALPHA
	default "drivers/video/logo/logo_parisc_clut224.ppm" if PARISC
	default "drivers/video/logo/logo_sgi_clut224.ppm" if SGI_IP22 || SGI_IP27 || SGI_IP32
	default "drivers/video/logo/logo_sun_clut224.ppm" if SPARC
	default "drivers/video/logo/logo_superh_clut224.ppm" if SUPERH
	default "drivers/video/logo/logo_linux_clut224.ppm"
	help
	  Takes a path to a 224-color logo in the portable pixmap file
@@ -71,40 +78,4 @@ config LOGO_LINUX_CLUT224_FILE

	    magick source_image -compress none -colors 224 destination.ppm

config LOGO_DEC_CLUT224
	bool "224-color Digital Equipment Corporation Linux logo"
	depends on MACH_DECSTATION || ALPHA
	default y


config LOGO_PARISC_CLUT224
	bool "224-color PA-RISC Linux logo"
	depends on PARISC
	default y

config LOGO_SGI_CLUT224
	bool "224-color SGI Linux logo"
	depends on SGI_IP22 || SGI_IP27 || SGI_IP32
	default y

config LOGO_SUN_CLUT224
	bool "224-color Sun Linux logo"
	depends on SPARC
	default y

config LOGO_SUPERH_MONO
	bool "Black and white SuperH Linux logo"
	depends on SUPERH
	default y

config LOGO_SUPERH_VGA16
	bool "16-color SuperH Linux logo"
	depends on SUPERH
	default y

config LOGO_SUPERH_CLUT224
	bool "224-color SuperH Linux logo"
	depends on SUPERH
	default y

endif # LOGO
+0 −13
Original line number Diff line number Diff line
@@ -5,13 +5,6 @@ obj-$(CONFIG_LOGO) += logo.o
obj-$(CONFIG_LOGO_LINUX_MONO)		+= logo_linux_mono.o
obj-$(CONFIG_LOGO_LINUX_VGA16)		+= logo_linux_vga16.o
obj-$(CONFIG_LOGO_LINUX_CLUT224)	+= logo_linux_clut224.o
obj-$(CONFIG_LOGO_DEC_CLUT224)		+= logo_dec_clut224.o
obj-$(CONFIG_LOGO_PARISC_CLUT224)	+= logo_parisc_clut224.o
obj-$(CONFIG_LOGO_SGI_CLUT224)		+= logo_sgi_clut224.o
obj-$(CONFIG_LOGO_SUN_CLUT224)		+= logo_sun_clut224.o
obj-$(CONFIG_LOGO_SUPERH_MONO)		+= logo_superh_mono.o
obj-$(CONFIG_LOGO_SUPERH_VGA16)		+= logo_superh_vga16.o
obj-$(CONFIG_LOGO_SUPERH_CLUT224)	+= logo_superh_clut224.o

obj-$(CONFIG_SPU_BASE)			+= logo_spe_clut224.o

@@ -32,12 +25,6 @@ $(obj)/logo_linux_vga16.c: $(CONFIG_LOGO_LINUX_VGA16_FILE) $(obj)/pnmtologo FORC
$(obj)/logo_linux_clut224.c: $(CONFIG_LOGO_LINUX_CLUT224_FILE) $(obj)/pnmtologo FORCE
	$(call if_changed,logo,clut224)

$(obj)/%.c: $(src)/%.pbm $(obj)/pnmtologo FORCE
	$(call if_changed,logo,mono)

$(obj)/%_vga16.c: $(src)/%_vga16.ppm $(obj)/pnmtologo FORCE
	$(call if_changed,logo,vga16)

$(obj)/%_clut224.c: $(src)/%_clut224.ppm $(obj)/pnmtologo FORCE
	$(call if_changed,logo,clut224)

+4 −37
Original line number Diff line number Diff line
@@ -48,54 +48,21 @@ const struct linux_logo * __ref fb_find_logo(int depth)
	if (nologo || logos_freed)
		return NULL;

	if (depth >= 1) {
#ifdef CONFIG_LOGO_LINUX_MONO
		/* Generic Linux logo */
	if (depth >= 1)
		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 */
	if (depth >= 4)
		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 */
	if (depth >= 8)
		logo = &logo_linux_clut224;
#endif
#ifdef CONFIG_LOGO_DEC_CLUT224
		/* DEC Linux logo on MIPS/MIPS64 or ALPHA */
		logo = &logo_dec_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 */
		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;
#endif
	}

	return logo;
}
EXPORT_SYMBOL_GPL(fb_find_logo);
+0 −7
Original line number Diff line number Diff line
@@ -33,13 +33,6 @@ struct linux_logo {
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_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;
extern const struct linux_logo logo_spe_clut224;

extern const struct linux_logo *fb_find_logo(int depth);