Skip to contentSkip to conversation

lib: remove FBCON dependency for fonts

PATCH In review David Herrmann 2 participants 6 messages Mar 7, 2014

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 lib: remove FBCON dependency for fonts

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.

---
 lib/fonts/Kconfig | 11 ++---------
 1 file changed, 2 insertions(+), 9 deletions(-)
lib/fonts/Kconfig +2 -9
index 4dc1b99..0ca66a3 100644
@@ -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.
Signature · 1 line
1.9.0
#1 lore raw
Quoted 3 lines · David Herrmann

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.

Quoted 77 lines

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

---
 lib/fonts/Kconfig | 11 ++---------
 1 file changed, 2 insertions(+), 9 deletions(-)
lib/fonts/Kconfig +2 -8
index 4dc1b99..0ca66a3 100644
@@ -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

lib/fonts/Kconfig config FONT_SUN12x22 · line 94

Quoted 7 lines
lib/fonts/Kconfig +0 -1
@@ -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 -- [email protected]

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

#2 lore raw

Hi

Quoted 7 lines · Geert Uytterhoeven
Quoted 3 lines · David Herrmann

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.

Quoted 19 lines

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
Quoted 7 lines

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

#3 lore raw
Quoted 22 lines · David Herrmann
Quoted 22 lines

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

Quoted 7 lines
Quoted 4 lines

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

Quoted 2 lines

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 -- [email protected]

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

#4 lore raw

Hi

Quoted 26 lines · Geert Uytterhoeven
Quoted 25 lines · David Herrmann
Quoted 25 lines

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

Quoted 6 lines
Quoted 4 lines
Quoted 1 line

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.

Quoted 5 lines
Quoted 2 lines

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

#5 lore raw
Quoted 30 lines · David Herrmann
Quoted 28 lines · Geert Uytterhoeven
Quoted 27 lines · David Herrmann
Quoted 26 lines

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.

Quoted 7 lines
Quoted 4 lines
Quoted 2 lines

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.

Quoted 1 line

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

Frame buffer users may do so.

Quoted 7 lines
Quoted 5 lines
Quoted 2 lines

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 ;-)

Quoted 3 lines

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 -- [email protected]

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