Happy new year! On 30/12/2025 at 23:20, Vincent Mailhol wrote: > 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. > > Move all the logo file selection logic to Kbuild, this done, clean-up > the C code to only leave one entry for each logo type (monochrome, > 16-colors and 224-colors). > > Signed-off-by: Vincent Mailhol <[email protected]> > --- > drivers/video/logo/Kconfig | 49 > +++++++++------------------------------------ > drivers/video/logo/Makefile | 21 +------------------ > drivers/video/logo/logo.c | 46 ++++-------------------------------------- > include/linux/linux_logo.h | 9 --------- > 4 files changed, 14 insertions(+), 111 deletions(-) > > diff --git a/drivers/video/logo/Kconfig b/drivers/video/logo/Kconfig > index 1d1651c067a1..9bf8f14c6856 100644 > --- a/drivers/video/logo/Kconfig > +++ b/drivers/video/logo/Kconfig > @@ -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,13 @@ 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_mac_clut224.ppm" if MAC > + 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_spe_clut224.ppm" if SPU_BASE > default "drivers/video/logo/logo_linux_clut224.ppm" > help > Takes a path to a 224-color logo in the portable pixmap file > @@ -71,44 +80,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_MAC_CLUT224 > - bool "224-color Macintosh Linux logo" > - depends on MAC > - 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 > diff --git a/drivers/video/logo/Makefile b/drivers/video/logo/Makefile > index ac8e9da3f51a..c32238fddaa6 100644 > --- a/drivers/video/logo/Makefile > +++ b/drivers/video/logo/Makefile > @@ -5,16 +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_MAC_CLUT224) += logo_mac_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
Removing the logo_spe_clut224.o target was a mistake. This removes the logo_spe_clut224 object which is still being referenced in arch/powerpc/platforms/cell/spu_base.c The Cell processor (found, for example in the PS3) has a unique feature in the kernel: it will not only show the standard penguin logos for each of the core, but also show an extra line of logos for each of its SPE core. More details with a screenshot here: Link: https://lore.kernel.org/all/[email protected]/ And indeed, on a ps3_defconfig, I am getting this build error: CC arch/powerpc/platforms/cell/spu_base.o arch/powerpc/platforms/cell/spu_base.c: In function 'init_spu_base': arch/powerpc/platforms/cell/spu_base.c:775:39: error: 'logo_spe_clut224' undeclared (first use in this function); did you mean 'logo_linux_clut224'? 775 | fb_append_extra_logo(&logo_spe_clut224, ret); | ^~~~~~~~~~~~~~~~ | logo_linux_clut224 This extra logo feature is a weird beast only used by a single CPU. I will just restore the logo_spe_clut224.o target in v2 and leave it untouched. I checked and the other logo objects are not being referenced anymore throughout the kernel. Yours sincerely, Vincent Mailhol
