# Re: \[PATCH v2 6/6\] video/logo: move logo selection logic to Kconfig

- From: Helge Deller \<deller@gmx.de\>
- Date: 2026-01-07 12:21:05 
- List: linux-fbdev
- Page: https://ratatoskr.run/linux-fbdev/2026/01/3356438
- Thread: https://ratatoskr.run/linux-fbdev/2026/01/3350190/t.md

```text
On 1/7/26 11:36, Geert Uytterhoeven wrote:
> Hi Vincent,
>
> On Tue, 6 Jan 2026 at 21:10, Vincent Mailhol [ref] wrote:
>> On 06/01/2026 at 12:48, Geert Uytterhoeven wrote:
>>> 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 [ref] 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@kernel.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.
>
> Yes, the user base is small.
>
> BTW, the only reason you don't have this issue with MACH_DECSTATION and
> the various SGI_IP* options is that MIPS does not support multi-platform
> kernels.
>
>> 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"
>
> LOGO_LINUX_CLUT224_FILE ;-)
>
>> to their config to restore the old behaviour anyway.
>>
>> My choice would go more toward the removal option but what do you think?
>
> I am not too attached to keeping the dynamic behavior for the Mac logo,
> I just wanted to point out the impact.
> I expect most people who care about logos (in products) just have their
> own custom out-of-tree code.  As fb_find_logo() and the underlying
> infrastructure still exists, I don't expect them to have too much
> trouble forward porting that to newer kernels.
>
> What do other people think?

This is about a small visible icon. It's not some relevant feature.
So, I think it's unfortunate that the patch then drops the specific mac logo.
But adding additional coding and complexity to simply make this logo
visible for such a small user base IMHO does not justify the effort.

Helge
```
