[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <dda4052e-b843-43fa-850c-a1bb20e4a8e3@kernel.org>
Date: Tue, 6 Jan 2026 21:10:19 +0100
From: Vincent Mailhol <mailhol@...nel.org>
To: Geert Uytterhoeven <geert@...ux-m68k.org>
Cc: Helge Deller <deller@....de>,
Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
Yoshinori Sato <ysato@...rs.sourceforge.jp>, Rich Felker <dalias@...c.org>,
John Paul Adrian Glaubitz <glaubitz@...sik.fu-berlin.de>,
linux-fbdev@...r.kernel.org, dri-devel@...ts.freedesktop.org,
linux-kernel@...r.kernel.org, linux-sh@...r.kernel.org,
linux-m68k <linux-m68k@...ts.linux-m68k.org>
Subject: Re: [PATCH v2 6/6] video/logo: move logo selection logic to Kconfig
On 06/01/2026 at 12:48, Geert Uytterhoeven wrote:
> Hi Vincent,
>
> CC linux-m68k
>
> Thanks for your patch, which is now commit bd710b3da7308cb1
> ("video/logo: move logo selection logic to Kconfig") in fbdev/for-next.
>
> On Thu, 1 Jan 2026 at 16:26, Vincent Mailhol <mailhol@...nel.org> 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.
>
> This may do the wrong thing when booting a multi-platform kernel.
>
>>
>> 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: Vincent Mailhol <mailhol@...nel.org>
>
>> --- a/drivers/video/logo/Kconfig
>> +++ b/drivers/video/logo/Kconfig
>
>> @@ -61,6 +63,12 @@ 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
>
> E.g. an m68k multi-platform kernel including Mac support will scare
> non-Mac users into thinking their machine was assimilated by the
> Apple Empire...
>
>> + 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
>
>> --- a/drivers/video/logo/logo.c
>> +++ b/drivers/video/logo/logo.c
>> @@ -48,59 +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_MAC_CLUT224
>> - /* Macintosh Linux logo on m68k */
>> - if (MACH_IS_MAC)
>
> MACH_IS_MAC can be a runtime check.
OK. I missed this.
I think there are two options to fix this:
1. Keep CONFIG_LOGO_MAC_CLUT224 untouched
2. Remove logo_mac_clut224.ppm
The first option is less controversial but I would like to ask you what
you think about removing the logo_mac_clut224 file.
Here, we are speaking of the Macintosh 68k which ended sales in 1995,
right? So the user base should be rather small, I guess.
And people who still want the custom MAC logo would still be able to add
CONFIG_LOGO_MAC_CLUT224="path/to/logo_mac_clut224.ppm"
to their config to restore the old behaviour anyway.
My choice would go more toward the removal option but what do you think?
>> - 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 */
>> - 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);
Yours sincerely,
Vincent Mailhol
Powered by blists - more mailing lists