diff --git a/Documentation/DocBook/device-drivers.tmpl b/Documentation/DocBook/device-drivers.tmpl index c36892c072da..fca34192cf80 100644 --- a/Documentation/DocBook/device-drivers.tmpl +++ b/Documentation/DocBook/device-drivers.tmpl @@ -297,10 +297,10 @@ KAO --> Frame Buffer Fonts - Refer to the file drivers/video/console/fonts.c for more information. + Refer to the file lib/fonts/fonts.c for more information. diff --git a/arch/arm/boot/compressed/Makefile b/arch/arm/boot/compressed/Makefile index 3580d57ea218..6d7b013a89c2 100644 --- a/arch/arm/boot/compressed/Makefile +++ b/arch/arm/boot/compressed/Makefile @@ -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 diff --git a/arch/m68k/kernel/asm-offsets.c b/arch/m68k/kernel/asm-offsets.c index a972b00cd77d..8b7b22846366 100644 --- a/arch/m68k/kernel/asm-offsets.c +++ b/arch/m68k/kernel/asm-offsets.c @@ -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)); diff --git a/arch/unicore32/boot/compressed/Makefile b/arch/unicore32/boot/compressed/Makefile index 950a9afa38f8..96494fb646f7 100644 --- a/arch/unicore32/boot/compressed/Makefile +++ b/arch/unicore32/boot/compressed/Makefile @@ -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 diff --git a/drivers/video/Makefile b/drivers/video/Makefile index 8c8be7e15f9c..e8bae8dd4804 100644 --- a/drivers/video/Makefile +++ b/drivers/video/Makefile @@ -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/ diff --git a/drivers/video/console/Kconfig b/drivers/video/console/Kconfig index 8af6ad3f1323..8c30603e0a86 100644 --- a/drivers/video/console/Kconfig +++ b/drivers/video/console/Kconfig @@ -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 diff --git a/drivers/video/console/Makefile b/drivers/video/console/Makefile index 3a11b635b4da..43bfa485db96 100644 --- a/drivers/video/console/Makefile +++ b/drivers/video/console/Makefile @@ -2,24 +2,6 @@ # 5 Aug 1999, James Simmons, # 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 diff --git a/lib/Kconfig b/lib/Kconfig index fe01d418b09a..0fe08ea3443d 100644 --- a/lib/Kconfig +++ b/lib/Kconfig @@ -407,4 +407,6 @@ config OID_REGISTRY config UCS2_STRING tristate +source "lib/fonts/Kconfig" + endmenu diff --git a/lib/Makefile b/lib/Makefile index c55a037a354e..9a51526aa36a 100644 --- a/lib/Makefile +++ b/lib/Makefile @@ -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 index 000000000000..34fd931b54b5 --- /dev/null +++ b/lib/fonts/Kconfig @@ -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 index 000000000000..2761560f3f15 --- /dev/null +++ b/lib/fonts/Makefile @@ -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 diff --git a/drivers/video/console/font_10x18.c b/lib/fonts/font_10x18.c similarity index 100% rename from drivers/video/console/font_10x18.c rename to lib/fonts/font_10x18.c diff --git a/drivers/video/console/font_6x11.c b/lib/fonts/font_6x11.c similarity index 100% rename from drivers/video/console/font_6x11.c rename to lib/fonts/font_6x11.c diff --git a/drivers/video/console/font_7x14.c b/lib/fonts/font_7x14.c similarity index 100% rename from drivers/video/console/font_7x14.c rename to lib/fonts/font_7x14.c diff --git a/drivers/video/console/font_8x16.c b/lib/fonts/font_8x16.c similarity index 100% rename from drivers/video/console/font_8x16.c rename to lib/fonts/font_8x16.c diff --git a/drivers/video/console/font_8x8.c b/lib/fonts/font_8x8.c similarity index 100% rename from drivers/video/console/font_8x8.c rename to lib/fonts/font_8x8.c diff --git a/drivers/video/console/font_acorn_8x8.c b/lib/fonts/font_acorn_8x8.c similarity index 100% rename from drivers/video/console/font_acorn_8x8.c rename to lib/fonts/font_acorn_8x8.c diff --git a/drivers/video/console/font_mini_4x6.c b/lib/fonts/font_mini_4x6.c similarity index 100% rename from drivers/video/console/font_mini_4x6.c rename to lib/fonts/font_mini_4x6.c diff --git a/drivers/video/console/font_pearl_8x8.c b/lib/fonts/font_pearl_8x8.c similarity index 100% rename from drivers/video/console/font_pearl_8x8.c rename to lib/fonts/font_pearl_8x8.c diff --git a/drivers/video/console/font_sun12x22.c b/lib/fonts/font_sun12x22.c similarity index 100% rename from drivers/video/console/font_sun12x22.c rename to lib/fonts/font_sun12x22.c diff --git a/drivers/video/console/font_sun8x16.c b/lib/fonts/font_sun8x16.c similarity index 100% rename from drivers/video/console/font_sun8x16.c rename to lib/fonts/font_sun8x16.c diff --git a/drivers/video/console/fonts.c b/lib/fonts/fonts.c similarity index 98% rename from drivers/video/console/fonts.c rename to lib/fonts/fonts.c index d0c03fd70871..f947189efe6d 100644 --- a/drivers/video/console/fonts.c +++ b/lib/fonts/fonts.c @@ -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