diff mbox

lib: remove FBCON dependency for fonts

Message ID 1394187271-5857-1-git-send-email-dh.herrmann@gmail.com (mailing list archive)
State New, archived
Headers show

Commit Message

David Herrmann March 7, 2014, 10:14 a.m. UTC
Fonts don't depend on CONFIG_FRAMEBUFFER_CONSOLE at all. Remove that.
Besides, CONFIG_FONT_SUPPORT is 'select'ed anyway, so the dependencies
aren't checked by most higher-level options.

It's a relict of the times when fonts where exclusive to the VT layer and
fbcon.

Signed-off-by: David Herrmann <dh.herrmann@gmail.com>
---
 lib/fonts/Kconfig | 11 ++---------
 1 file changed, 2 insertions(+), 9 deletions(-)

Comments

Geert Uytterhoeven March 7, 2014, 10:39 a.m. UTC | #1
On Fri, Mar 7, 2014 at 11:14 AM, David Herrmann <dh.herrmann@gmail.com> wrote:
> Fonts don't depend on CONFIG_FRAMEBUFFER_CONSOLE at all. Remove that.
> Besides, CONFIG_FONT_SUPPORT is 'select'ed anyway, so the dependencies
> aren't checked by most higher-level options.

CONFIG_FONT_SUPPORT is indeed selected, but the other options are about
which fonts to include by default. No dependencies are bypassed by the select.

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.

> It's a relict of the times when fonts where exclusive to the VT layer and
> fbcon.
>
> Signed-off-by: David Herrmann <dh.herrmann@gmail.com>
> ---
>  lib/fonts/Kconfig | 11 ++---------
>  1 file changed, 2 insertions(+), 9 deletions(-)
>
> diff --git a/lib/fonts/Kconfig b/lib/fonts/Kconfig
> index 4dc1b99..0ca66a3 100644
> --- a/lib/fonts/Kconfig
> +++ b/lib/fonts/Kconfig
> @@ -9,7 +9,6 @@ if FONT_SUPPORT
>
>  config FONTS
>         bool "Select compiled-in fonts"
> -       depends on FRAMEBUFFER_CONSOLE
>         help
>           Say Y here if you would like to use fonts other than the default
>           your frame buffer console usually use.
> @@ -22,7 +21,6 @@ config FONTS
>
>  config FONT_8x8
>         bool "VGA 8x8 font" if FONTS
> -       depends on FRAMEBUFFER_CONSOLE
>         default y if !SPARC && !FONTS
>         help
>           This is the "high resolution" font for the VGA frame buffer (the one
> @@ -45,7 +43,6 @@ config FONT_8x16
>
>  config FONT_6x11
>         bool "Mac console 6x11 font (not supported by all drivers)" if FONTS
> -       depends on FRAMEBUFFER_CONSOLE
>         default y if !SPARC && !FONTS && MAC
>         help
>           Small console font with Macintosh-style high-half glyphs.  Some Mac
> @@ -53,7 +50,6 @@ config FONT_6x11
>
>  config FONT_7x14
>         bool "console 7x14 font (not supported by all drivers)" if FONTS
> -       depends on FRAMEBUFFER_CONSOLE
>         help
>           Console font with characters just a bit smaller than the default.
>           If the standard 8x16 font is a little too big for you, say Y.
> @@ -61,7 +57,6 @@ config FONT_7x14
>
>  config FONT_PEARL_8x8
>         bool "Pearl (old m68k) console 8x8 font" if FONTS
> -       depends on FRAMEBUFFER_CONSOLE
>         default y if !SPARC && !FONTS && AMIGA
>         help
>           Small console font with PC-style control-character and high-half
> @@ -69,7 +64,6 @@ config FONT_PEARL_8x8
>
>  config FONT_ACORN_8x8
>         bool "Acorn console 8x8 font" if FONTS
> -       depends on FRAMEBUFFER_CONSOLE
>         default y if !SPARC && !FONTS && ARM && ARCH_ACORN
>         help
>           Small console font with PC-style control characters and high-half
> @@ -81,13 +75,13 @@ config FONT_MINI_4x6
>
>  config FONT_SUN8x16
>         bool "Sparc console 8x16 font"
> -       depends on FRAMEBUFFER_CONSOLE && (!SPARC && FONTS || SPARC)
> +       depends on !SPARC && FONTS || SPARC
>         help
>           This is the high resolution console font for Sun machines. Say Y.
>
>  config FONT_SUN12x22
>         bool "Sparc console 12x22 font (not supported by all drivers)"
> -       depends on FRAMEBUFFER_CONSOLE && (!SPARC && FONTS || SPARC)
> +       depends on !SPARC && FONTS || SPARC
>         help
>           This is the high resolution console font for Sun machines with very
>           big letters (like the letters used in the SPARC PROM). If the
> @@ -95,7 +89,6 @@ config FONT_SUN12x22
>
>  config FONT_10x18
>         bool "console 10x18 font (not supported by all drivers)" if FONTS
> -       depends on FRAMEBUFFER_CONSOLE
>         help
>           This is a high resolution console font for machines with very
>           big letters. It fits between the sun 12x22 and the normal 8x16 font.

Gr{oetje,eeting}s,

                        Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds
--
To unsubscribe from this list: send the line "unsubscribe linux-fbdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
David Herrmann March 7, 2014, 10:47 a.m. UTC | #2
Hi

On Fri, Mar 7, 2014 at 11:39 AM, Geert Uytterhoeven
<geert@linux-m68k.org> wrote:
> On Fri, Mar 7, 2014 at 11:14 AM, David Herrmann <dh.herrmann@gmail.com> wrote:
>> Fonts don't depend on CONFIG_FRAMEBUFFER_CONSOLE at all. Remove that.
>> Besides, CONFIG_FONT_SUPPORT is 'select'ed anyway, so the dependencies
>> aren't checked by most higher-level options.
>
> CONFIG_FONT_SUPPORT is indeed selected, but the other options are about
> which fonts to include by default. No dependencies are bypassed by the select.

Indeed, I missed that, sorry.

> 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
don't mind if we drop this, but it makes font-selection impossible if
fbcon is disabled, which is kinda unexpected.

Thanks
David
--
To unsubscribe from this list: send the line "unsubscribe linux-fbdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Geert Uytterhoeven March 7, 2014, 10:54 a.m. UTC | #3
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).

> 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.

Gr{oetje,eeting}s,

                        Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds
--
To unsubscribe from this list: send the line "unsubscribe linux-fbdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
David Herrmann March 7, 2014, 10:58 a.m. UTC | #4
Hi

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
at all, but ok, that's not up to me.

>> 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.
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.

Feel free to drop this patch then.

Thanks
David
--
To unsubscribe from this list: send the line "unsubscribe linux-fbdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Geert Uytterhoeven March 7, 2014, 11:17 a.m. UTC | #5
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").

Gr{oetje,eeting}s,

                        Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds
--
To unsubscribe from this list: send the line "unsubscribe linux-fbdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/lib/fonts/Kconfig b/lib/fonts/Kconfig
index 4dc1b99..0ca66a3 100644
--- a/lib/fonts/Kconfig
+++ b/lib/fonts/Kconfig
@@ -9,7 +9,6 @@  if FONT_SUPPORT
 
 config FONTS
 	bool "Select compiled-in fonts"
-	depends on FRAMEBUFFER_CONSOLE
 	help
 	  Say Y here if you would like to use fonts other than the default
 	  your frame buffer console usually use.
@@ -22,7 +21,6 @@  config FONTS
 
 config FONT_8x8
 	bool "VGA 8x8 font" if FONTS
-	depends on FRAMEBUFFER_CONSOLE
 	default y if !SPARC && !FONTS
 	help
 	  This is the "high resolution" font for the VGA frame buffer (the one
@@ -45,7 +43,6 @@  config FONT_8x16
 
 config FONT_6x11
 	bool "Mac console 6x11 font (not supported by all drivers)" if FONTS
-	depends on FRAMEBUFFER_CONSOLE
 	default y if !SPARC && !FONTS && MAC
 	help
 	  Small console font with Macintosh-style high-half glyphs.  Some Mac
@@ -53,7 +50,6 @@  config FONT_6x11
 
 config FONT_7x14
 	bool "console 7x14 font (not supported by all drivers)" if FONTS
-	depends on FRAMEBUFFER_CONSOLE
 	help
 	  Console font with characters just a bit smaller than the default.
 	  If the standard 8x16 font is a little too big for you, say Y.
@@ -61,7 +57,6 @@  config FONT_7x14
 
 config FONT_PEARL_8x8
 	bool "Pearl (old m68k) console 8x8 font" if FONTS
-	depends on FRAMEBUFFER_CONSOLE
 	default y if !SPARC && !FONTS && AMIGA
 	help
 	  Small console font with PC-style control-character and high-half
@@ -69,7 +64,6 @@  config FONT_PEARL_8x8
 
 config FONT_ACORN_8x8
 	bool "Acorn console 8x8 font" if FONTS
-	depends on FRAMEBUFFER_CONSOLE
 	default y if !SPARC && !FONTS && ARM && ARCH_ACORN
 	help
 	  Small console font with PC-style control characters and high-half
@@ -81,13 +75,13 @@  config FONT_MINI_4x6
 
 config FONT_SUN8x16
 	bool "Sparc console 8x16 font"
-	depends on FRAMEBUFFER_CONSOLE && (!SPARC && FONTS || SPARC)
+	depends on !SPARC && FONTS || SPARC
 	help
 	  This is the high resolution console font for Sun machines. Say Y.
 
 config FONT_SUN12x22
 	bool "Sparc console 12x22 font (not supported by all drivers)"
-	depends on FRAMEBUFFER_CONSOLE && (!SPARC && FONTS || SPARC)
+	depends on !SPARC && FONTS || SPARC
 	help
 	  This is the high resolution console font for Sun machines with very
 	  big letters (like the letters used in the SPARC PROM). If the
@@ -95,7 +89,6 @@  config FONT_SUN12x22
 
 config FONT_10x18
 	bool "console 10x18 font (not supported by all drivers)" if FONTS
-	depends on FRAMEBUFFER_CONSOLE
 	help
 	  This is a high resolution console font for machines with very
 	  big letters. It fits between the sun 12x22 and the normal 8x16 font.