Re: [PATCH] lib: remove FBCON dependency for fonts

Geert Uytterhoeven
2014-03-07T11:17:59Z

On Fri, Mar 7, 2014 at 11:58 AM, David Herrmann <dh.herrmann@gmail.com> wrote:
> On Fri, Mar 7, 2014 at 11:54 AM, Geert Uytterhoeven
> <geert@linux-m68k.org> wrote:
>> On Fri, Mar 7, 2014 at 11:47 AM, David Herrmann <dh.herrmann@gmail.com> wrote:
>>>> Without the "depends on FRAMEBUFFER_CONSOLE", people who don't
>>>> have FRAMEBUFFER_CONSOLE set, but have set any of these:
>>>>
>>>> config EARLY_PRINTK_EFI
>>>> select FONT_SUPPORT
>>>>
>>>> config VIDEO_VIVI
>>>> select FONT_SUPPORT
>>>> select FONT_8x16
>>>>
>>>> config SOLO6X10
>>>> select FONT_SUPPORT
>>>> select FONT_8x16
>>>>
>>>> config USB_SISUSBVGA
>>>> select FONT_SUPPORT
>>>> ...
>>>> select FONT_8x16
>>>>
>>>> config SGI_NEWPORT_CONSOLE
>>>> select FONT_SUPPORT
>>>>
>>>> config STI_CONSOLE
>>>> select FONT_SUPPORT
>>>>
>>>> will now get more (unused) fonts in their kernel image.
>>>
>>> Why would they get more unused fonts? All those fonts are "default n"
>>> (except for some arch-specific stuff and 8x8 and obviously 8x16). I
>>
>> So they get the 8x8 and the arch-specific ones by default (FONTS=n).
>
> They also get it if they enable FRAMEBUFFER_CONSOLE (which most people
> do, right?). I don't understand why we want multiple fonts compiled-in

I was more thinking of the CONFIG_FB=n case.

> at all, but ok, that's not up to me.

Frame buffer users may do so.

>>> don't mind if we drop this, but it makes font-selection impossible if
>>> fbcon is disabled, which is kinda unexpected.
>>
>> IIRC, drivers that "select FONT_8x16" have the font name hardcoded in
>> the driver, so allowing to select more fonts doesn't gain anything for them.
>
> I don't. I use get_default_font() in the new drm_log.c patches.

Good ;-)

> Anyhow, I'm fine with 8x16, I just thought people might want to select
> other fonts. But I guess it's up to them to deal with that, as long as
> I use get_default_font() I guess I don't care.

If you want to allow people to select more fonts, you can drop the "depends on
FRAMEBUFFER_CONSOLE" for "config FONTS", and move the dependency
for the individual fonts into the "default y if" clause, right?

E.g.

config FONT_6x11
bool "Mac console 6x11 font (not supported by all drivers)" if FONTS
default y if !SPARC && !FONTS && MAC && FRAMEBUFFER_CONSOLE
help

(one more cleanup: several of the "!SPARC" can be removed, as they're
implied by e.g. "MAC" and "ARM").