lib: Move fonts from drivers/video/console/ to lib/fonts/
authorGeert Uytterhoeven <geert@linux-m68k.org>
Sun, 9 Jun 2013 09:46:43 +0000 (11:46 +0200)
committerGeert Uytterhoeven <geert@linux-m68k.org>
Fri, 28 Jun 2013 08:28:22 +0000 (10:28 +0200)
Several drivers need font support independent of CONFIG_VT, cfr. commit
9cbce8d7e1dae0744ca4f68d62aa7de18196b6f4, "console/font: Refactor font
support code selection logic").
Hence move the fonts and their support logic from drivers/video/console/ to
its own library directory lib/fonts/.
This also allows to limit processing of drivers/video/console/Makefile to
CONFIG_VT=y again.

[Kevin Hilman <khilman@linaro.org>: Update arch/arm/boot/compressed/Makefile]
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
22 files changed:
Documentation/DocBook/device-drivers.tmpl
arch/arm/boot/compressed/Makefile
arch/m68k/kernel/asm-offsets.c
arch/unicore32/boot/compressed/Makefile
drivers/video/Makefile
drivers/video/console/Kconfig
drivers/video/console/Makefile
lib/Kconfig
lib/Makefile
lib/fonts/Kconfig [new file with mode: 0644]
lib/fonts/Makefile [new file with mode: 0644]
lib/fonts/font_10x18.c [moved from drivers/video/console/font_10x18.c with 100% similarity]
lib/fonts/font_6x11.c [moved from drivers/video/console/font_6x11.c with 100% similarity]
lib/fonts/font_7x14.c [moved from drivers/video/console/font_7x14.c with 100% similarity]
lib/fonts/font_8x16.c [moved from drivers/video/console/font_8x16.c with 100% similarity]
lib/fonts/font_8x8.c [moved from drivers/video/console/font_8x8.c with 100% similarity]
lib/fonts/font_acorn_8x8.c [moved from drivers/video/console/font_acorn_8x8.c with 100% similarity]
lib/fonts/font_mini_4x6.c [moved from drivers/video/console/font_mini_4x6.c with 100% similarity]
lib/fonts/font_pearl_8x8.c [moved from drivers/video/console/font_pearl_8x8.c with 100% similarity]
lib/fonts/font_sun12x22.c [moved from drivers/video/console/font_sun12x22.c with 100% similarity]
lib/fonts/font_sun8x16.c [moved from drivers/video/console/font_sun8x16.c with 100% similarity]
lib/fonts/fonts.c [moved from drivers/video/console/fonts.c with 98% similarity]

index c36892c..fca3419 100644 (file)
@@ -297,10 +297,10 @@ KAO -->
      </sect1>
      <sect1><title>Frame Buffer Fonts</title>
         <para>
-           Refer to the file drivers/video/console/fonts.c for more information.
+           Refer to the file lib/fonts/fonts.c for more information.
         </para>
 <!-- FIXME: Removed for now since no structured comments in source
-X!Idrivers/video/console/fonts.c
+X!Ilib/fonts/fonts.c
 -->
      </sect1>
   </chapter>
index 3580d57..6d7b013 100644 (file)
@@ -27,7 +27,7 @@ OBJS  += misc.o decompress.o
 ifeq ($(CONFIG_DEBUG_UNCOMPRESS),y)
 OBJS   += debug.o
 endif
-FONTC  = $(srctree)/drivers/video/console/font_acorn_8x8.c
+FONTC  = $(srctree)/lib/fonts/font_acorn_8x8.c
 
 # string library code (-Os is enforced to keep it much smaller)
 OBJS           += string.o
index a972b00..8b7b228 100644 (file)
@@ -77,7 +77,7 @@ int main(void)
        DEFINE(BIR_SIZE, offsetof(struct bi_record, size));
        DEFINE(BIR_DATA, offsetof(struct bi_record, data));
 
-       /* offsets into font_desc (drivers/video/console/font.h) */
+       /* offsets into the font_desc struct */
        DEFINE(FONT_DESC_IDX, offsetof(struct font_desc, idx));
        DEFINE(FONT_DESC_NAME, offsetof(struct font_desc, name));
        DEFINE(FONT_DESC_WIDTH, offsetof(struct font_desc, width));
index 950a9af..96494fb 100644 (file)
@@ -17,7 +17,7 @@ OBJS          := misc.o
 
 # font.c and font.o
 CFLAGS_font.o  := -Dstatic=
-$(obj)/font.c: $(srctree)/drivers/video/console/font_8x8.c
+$(obj)/font.c: $(srctree)/lib/fonts/font_8x8.c
        $(call cmd,shipped)
 
 # piggy.S and piggy.o
index 8c8be7e..e8bae8d 100644 (file)
@@ -12,7 +12,7 @@ fb-y                              := fbmem.o fbmon.o fbcmap.o fbsysfs.o \
                                      modedb.o fbcvt.o
 fb-objs                           := $(fb-y)
 
-obj-y                            += console/
+obj-$(CONFIG_VT)                 += console/
 obj-$(CONFIG_LOGO)               += logo/
 obj-y                            += backlight/
 
index 8af6ad3..8c30603 100644 (file)
@@ -134,119 +134,5 @@ config STI_CONSOLE
           machines.  Say Y here to build support for it into your kernel.
           The alternative is to use your primary serial port as a console.
 
-config FONT_SUPPORT
-       tristate
-
-if FONT_SUPPORT
-
-config FONTS
-       bool "Select compiled-in fonts"
-       depends on FRAMEBUFFER_CONSOLE || STI_CONSOLE
-       help
-         Say Y here if you would like to use fonts other than the default
-         your frame buffer console usually use.
-
-         Note that the answer to this question won't directly affect the
-         kernel: saying N will just cause the configurator to skip all
-         the questions about foreign fonts.
-
-         If unsure, say N (the default choices are safe).
-
-config FONT_8x8
-       bool "VGA 8x8 font" if FONTS
-       depends on FRAMEBUFFER_CONSOLE || STI_CONSOLE
-       default y if !SPARC && !FONTS
-       help
-         This is the "high resolution" font for the VGA frame buffer (the one
-         provided by the text console 80x50 (and higher) modes).
-
-         Note that this is a poor quality font. The VGA 8x16 font is quite a
-         lot more readable.
-
-         Given the resolution provided by the frame buffer device, answer N
-         here is safe.
-
-config FONT_8x16
-       bool "VGA 8x16 font" if FONTS
-       default y if !SPARC && !FONTS
-       help
-         This is the "high resolution" font for the VGA frame buffer (the one
-         provided by the VGA text console 80x25 mode.
-
-         If unsure, say Y.
-
-config FONT_6x11
-       bool "Mac console 6x11 font (not supported by all drivers)" if FONTS
-       depends on FRAMEBUFFER_CONSOLE || STI_CONSOLE
-       default y if !SPARC && !FONTS && MAC
-       help
-         Small console font with Macintosh-style high-half glyphs.  Some Mac
-         framebuffer drivers don't support this one at all.
-
-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.
-         Otherwise, say N.
-
-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
-         glyphs.
-
-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
-         glyphs.
-
-config FONT_MINI_4x6
-       bool "Mini 4x6 font"
-       depends on !SPARC && FONTS
-
-config FONT_SUN8x16
-       bool "Sparc console 8x16 font"
-       depends on FRAMEBUFFER_CONSOLE && (!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)
-       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
-         standard font is unreadable for you, say Y, otherwise say N.
-
-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.
-         If other fonts are too big or too small for you, say Y, otherwise say N.
-
-config FONT_AUTOSELECT
-       def_bool y
-       depends on !FONT_8x8
-       depends on !FONT_6x11
-       depends on !FONT_7x14
-       depends on !FONT_PEARL_8x8
-       depends on !FONT_ACORN_8x8
-       depends on !FONT_MINI_4x6
-       depends on !FONT_SUN8x16
-       depends on !FONT_SUN12x22
-       depends on !FONT_10x18
-       select FONT_8x16
-
-endif # FONT_SUPPORT
-
 endmenu
 
index 3a11b63..43bfa48 100644 (file)
@@ -2,24 +2,6 @@
 # 5 Aug 1999, James Simmons, <mailto:jsimmons@users.sf.net>
 # Rewritten to use lists instead of if-statements.
 
-# Font handling
-font-objs := fonts.o
-
-font-objs-$(CONFIG_FONT_SUN8x16)   += font_sun8x16.o
-font-objs-$(CONFIG_FONT_SUN12x22)  += font_sun12x22.o
-font-objs-$(CONFIG_FONT_8x8)       += font_8x8.o
-font-objs-$(CONFIG_FONT_8x16)      += font_8x16.o
-font-objs-$(CONFIG_FONT_6x11)      += font_6x11.o
-font-objs-$(CONFIG_FONT_7x14)      += font_7x14.o
-font-objs-$(CONFIG_FONT_10x18)     += font_10x18.o
-font-objs-$(CONFIG_FONT_PEARL_8x8) += font_pearl_8x8.o
-font-objs-$(CONFIG_FONT_ACORN_8x8) += font_acorn_8x8.o
-font-objs-$(CONFIG_FONT_MINI_4x6)  += font_mini_4x6.o
-
-font-objs += $(font-objs-y)
-
-obj-$(CONFIG_FONT_SUPPORT)         += font.o
-
 obj-$(CONFIG_DUMMY_CONSOLE)       += dummycon.o
 obj-$(CONFIG_SGI_NEWPORT_CONSOLE) += newport_con.o
 obj-$(CONFIG_STI_CONSOLE)         += sticon.o sticore.o
index fe01d41..0fe08ea 100644 (file)
@@ -407,4 +407,6 @@ config OID_REGISTRY
 config UCS2_STRING
         tristate
 
+source "lib/fonts/Kconfig"
+
 endmenu
index c55a037..9a51526 100644 (file)
@@ -151,6 +151,8 @@ interval_tree_test-objs := interval_tree_test_main.o interval_tree.o
 
 obj-$(CONFIG_ASN1) += asn1_decoder.o
 
+obj-$(CONFIG_FONT_SUPPORT) += fonts/
+
 hostprogs-y    := gen_crc32table
 clean-files    := crc32table.h
 
diff --git a/lib/fonts/Kconfig b/lib/fonts/Kconfig
new file mode 100644 (file)
index 0000000..34fd931
--- /dev/null
@@ -0,0 +1,117 @@
+#
+# Font configuration
+#
+
+config FONT_SUPPORT
+       tristate
+
+if FONT_SUPPORT
+
+config FONTS
+       bool "Select compiled-in fonts"
+       depends on FRAMEBUFFER_CONSOLE || STI_CONSOLE
+       help
+         Say Y here if you would like to use fonts other than the default
+         your frame buffer console usually use.
+
+         Note that the answer to this question won't directly affect the
+         kernel: saying N will just cause the configurator to skip all
+         the questions about foreign fonts.
+
+         If unsure, say N (the default choices are safe).
+
+config FONT_8x8
+       bool "VGA 8x8 font" if FONTS
+       depends on FRAMEBUFFER_CONSOLE || STI_CONSOLE
+       default y if !SPARC && !FONTS
+       help
+         This is the "high resolution" font for the VGA frame buffer (the one
+         provided by the text console 80x50 (and higher) modes).
+
+         Note that this is a poor quality font. The VGA 8x16 font is quite a
+         lot more readable.
+
+         Given the resolution provided by the frame buffer device, answer N
+         here is safe.
+
+config FONT_8x16
+       bool "VGA 8x16 font" if FONTS
+       default y if !SPARC && !FONTS
+       help
+         This is the "high resolution" font for the VGA frame buffer (the one
+         provided by the VGA text console 80x25 mode.
+
+         If unsure, say Y.
+
+config FONT_6x11
+       bool "Mac console 6x11 font (not supported by all drivers)" if FONTS
+       depends on FRAMEBUFFER_CONSOLE || STI_CONSOLE
+       default y if !SPARC && !FONTS && MAC
+       help
+         Small console font with Macintosh-style high-half glyphs.  Some Mac
+         framebuffer drivers don't support this one at all.
+
+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.
+         Otherwise, say N.
+
+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
+         glyphs.
+
+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
+         glyphs.
+
+config FONT_MINI_4x6
+       bool "Mini 4x6 font"
+       depends on !SPARC && FONTS
+
+config FONT_SUN8x16
+       bool "Sparc console 8x16 font"
+       depends on FRAMEBUFFER_CONSOLE && (!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)
+       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
+         standard font is unreadable for you, say Y, otherwise say N.
+
+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.
+         If other fonts are too big or too small for you, say Y, otherwise say N.
+
+config FONT_AUTOSELECT
+       def_bool y
+       depends on !FONT_8x8
+       depends on !FONT_6x11
+       depends on !FONT_7x14
+       depends on !FONT_PEARL_8x8
+       depends on !FONT_ACORN_8x8
+       depends on !FONT_MINI_4x6
+       depends on !FONT_SUN8x16
+       depends on !FONT_SUN12x22
+       depends on !FONT_10x18
+       select FONT_8x16
+
+endif # FONT_SUPPORT
diff --git a/lib/fonts/Makefile b/lib/fonts/Makefile
new file mode 100644 (file)
index 0000000..2761560
--- /dev/null
@@ -0,0 +1,18 @@
+# Font handling
+
+font-objs := fonts.o
+
+font-objs-$(CONFIG_FONT_SUN8x16)   += font_sun8x16.o
+font-objs-$(CONFIG_FONT_SUN12x22)  += font_sun12x22.o
+font-objs-$(CONFIG_FONT_8x8)       += font_8x8.o
+font-objs-$(CONFIG_FONT_8x16)      += font_8x16.o
+font-objs-$(CONFIG_FONT_6x11)      += font_6x11.o
+font-objs-$(CONFIG_FONT_7x14)      += font_7x14.o
+font-objs-$(CONFIG_FONT_10x18)     += font_10x18.o
+font-objs-$(CONFIG_FONT_PEARL_8x8) += font_pearl_8x8.o
+font-objs-$(CONFIG_FONT_ACORN_8x8) += font_acorn_8x8.o
+font-objs-$(CONFIG_FONT_MINI_4x6)  += font_mini_4x6.o
+
+font-objs += $(font-objs-y)
+
+obj-$(CONFIG_FONT_SUPPORT)         += font.o
similarity index 98%
rename from drivers/video/console/fonts.c
rename to lib/fonts/fonts.c
index d0c03fd..f947189 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * linux/drivers/video/fonts.c -- `Soft' font definitions
+ * `Soft' font definitions
  *
  *    Created 1995 by Geert Uytterhoeven
  *    Rewritten 1998 by Martin Mares <mj@ucw.cz>