]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
lib/fonts: Remove internal symbols and macros from public header file
authorThomas Zimmermann <tzimmermann@suse.de>
Mon, 9 Mar 2026 14:14:55 +0000 (15:14 +0100)
committerHelge Deller <deller@gmx.de>
Mon, 9 Mar 2026 14:47:21 +0000 (15:47 +0100)
Define access macros for font_data_t in fonts.c. Define struct font_data
and declare most of the font symbols in the internal header font.h, where
they can only be seen by the font code.

Also move font indices into internal font.h. They appear to be unused
though. There is m86k assembly code that operates on the idx field, so
leave them in place for now.

List all built-in fonts in a separate section in the public header file.

v2:
- do not add config guards around font symbols (Helge)
- keep declaration of built-in fonts in public header

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Signed-off-by: Helge Deller <deller@gmx.de>
17 files changed:
include/linux/font.h
lib/fonts/font.h [new file with mode: 0644]
lib/fonts/font_10x18.c
lib/fonts/font_6x10.c
lib/fonts/font_6x11.c
lib/fonts/font_6x8.c
lib/fonts/font_7x14.c
lib/fonts/font_8x16.c
lib/fonts/font_8x8.c
lib/fonts/font_acorn_8x8.c
lib/fonts/font_mini_4x6.c
lib/fonts/font_pearl_8x8.c
lib/fonts/font_sun12x22.c
lib/fonts/font_sun8x16.c
lib/fonts/font_ter10x18.c
lib/fonts/font_ter16x32.c
lib/fonts/fonts.c

index d80db66a5c17f383528afc5f70689e45c3616f3f..5401f07dd6ce82760b3ec749dfb8dc91c44b593a 100644 (file)
@@ -77,36 +77,6 @@ struct font_desc {
     int pref;
 };
 
-#define VGA8x8_IDX     0
-#define VGA8x16_IDX    1
-#define PEARL8x8_IDX   2
-#define VGA6x11_IDX    3
-#define FONT7x14_IDX   4
-#define        FONT10x18_IDX   5
-#define SUN8x16_IDX    6
-#define SUN12x22_IDX   7
-#define ACORN8x8_IDX   8
-#define        MINI4x6_IDX     9
-#define FONT6x10_IDX   10
-#define TER16x32_IDX   11
-#define FONT6x8_IDX    12
-#define TER10x18_IDX   13
-
-extern const struct font_desc  font_vga_8x8,
-                       font_vga_8x16,
-                       font_pearl_8x8,
-                       font_vga_6x11,
-                       font_7x14,
-                       font_10x18,
-                       font_sun_8x16,
-                       font_sun_12x22,
-                       font_acorn_8x8,
-                       font_mini_4x6,
-                       font_6x10,
-                       font_ter_16x32,
-                       font_6x8,
-                       font_ter_10x18;
-
 /* Find a font with a specific name */
 
 extern const struct font_desc *find_font(const char *name);
@@ -120,16 +90,23 @@ extern const struct font_desc *get_default_font(int xres, int yres,
 /* Max. length for the name of a predefined font */
 #define MAX_FONT_NAME  32
 
-/* Extra word getters */
-#define REFCOUNT(fd)   (((int *)(fd))[-1])
-#define FNTSIZE(fd)    (((int *)(fd))[-2])
-#define FNTSUM(fd)     (((int *)(fd))[-4])
-
-#define FONT_EXTRA_WORDS 4
+/*
+ * Built-in fonts
+ */
 
-struct font_data {
-       unsigned int extra[FONT_EXTRA_WORDS];
-       unsigned char data[];
-} __packed;
+extern const struct font_desc font_10x18;
+extern const struct font_desc font_6x10;
+extern const struct font_desc font_6x8;
+extern const struct font_desc font_7x14;
+extern const struct font_desc font_acorn_8x8;
+extern const struct font_desc font_mini_4x6;
+extern const struct font_desc font_pearl_8x8;
+extern const struct font_desc font_sun_12x22;
+extern const struct font_desc font_sun_8x16;
+extern const struct font_desc font_ter_10x18;
+extern const struct font_desc font_ter_16x32;
+extern const struct font_desc font_vga_6x11;
+extern const struct font_desc font_vga_8x16;
+extern const struct font_desc font_vga_8x8;
 
 #endif /* _VIDEO_FONT_H */
diff --git a/lib/fonts/font.h b/lib/fonts/font.h
new file mode 100644 (file)
index 0000000..4f1adf0
--- /dev/null
@@ -0,0 +1,38 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+
+#ifndef _LIB_FONTS_FONT_H
+#define _LIB_FONTS_FONT_H
+
+#include <linux/font.h>
+
+/*
+ * Font data
+ */
+
+#define FONT_EXTRA_WORDS 4
+
+struct font_data {
+       unsigned int extra[FONT_EXTRA_WORDS];
+       unsigned char data[];
+} __packed;
+
+/*
+ * Built-in fonts
+ */
+
+#define VGA8x8_IDX     0
+#define VGA8x16_IDX    1
+#define PEARL8x8_IDX   2
+#define VGA6x11_IDX    3
+#define FONT7x14_IDX   4
+#define        FONT10x18_IDX   5
+#define SUN8x16_IDX    6
+#define SUN12x22_IDX   7
+#define ACORN8x8_IDX   8
+#define        MINI4x6_IDX     9
+#define FONT6x10_IDX   10
+#define TER16x32_IDX   11
+#define FONT6x8_IDX    12
+#define TER10x18_IDX   13
+
+#endif
index 5d940db626e7147fba430b29351ccfb1408b26e6..10edebc4bb74a73864322ab414d719c8cf79fd52 100644 (file)
@@ -4,7 +4,7 @@
  * by Jurriaan Kalkman 06-2005  *
  ********************************/
 
-#include <linux/font.h>
+#include "font.h"
 
 #define FONTDATAMAX 9216
 
index e65df019e0d29aa4381b168dc3668d20aeff2e6a..660d3a371b309926e890a58fb57af5cc3184a4fd 100644 (file)
@@ -1,5 +1,6 @@
 // SPDX-License-Identifier: GPL-2.0
-#include <linux/font.h>
+
+#include "font.h"
 
 #define FONTDATAMAX 2560
 
index bd76b3f6b6350d2533a73f0b75e9675a5e3ae818..671487ccc1724d9b73f969c5cb8ee6d39f1264f5 100644 (file)
@@ -5,7 +5,7 @@
 /*                                            */
 /**********************************************/
 
-#include <linux/font.h>
+#include "font.h"
 
 #define FONTDATAMAX (11*256)
 
index 06ace779252149bad1001a5f4d1309d82182cfb0..5811ee07f4d8cb662932b3e3c18d4270058dc382 100644 (file)
@@ -1,5 +1,6 @@
 // SPDX-License-Identifier: GPL-2.0
-#include <linux/font.h>
+
+#include "font.h"
 
 #define FONTDATAMAX 2048
 
index a2f561c9fa0406c4126aeb1491b77a2fd369bcfd..0c7475d643c82dba7ebfdccd614674b595585a8a 100644 (file)
@@ -4,7 +4,7 @@
 /* by Jurriaan Kalkman 05-2005        */
 /**************************************/
 
-#include <linux/font.h>
+#include "font.h"
 
 #define FONTDATAMAX 3584
 
index 06ae14088514140262c53edd166c2847b213c3b5..523e95c75569eee09d133adf1e52c6b08a18fab3 100644 (file)
@@ -5,9 +5,10 @@
 /*                                            */
 /**********************************************/
 
-#include <linux/font.h>
 #include <linux/module.h>
 
+#include "font.h"
+
 #define FONTDATAMAX 4096
 
 static const struct font_data fontdata_8x16 = {
index 69570b8c31af2ef5c16ac3b44f61eb445c6a2ef7..e5b697fc967500fc9532591ae77329f191d4028d 100644 (file)
@@ -5,7 +5,7 @@
 /*                                            */
 /**********************************************/
 
-#include <linux/font.h>
+#include "font.h"
 
 #define FONTDATAMAX 2048
 
index af5fa72aa8b748bf0c259f877f08ced3e187746b..36c51016769d4141bd762b6dfa9710ccb493ef32 100644 (file)
@@ -1,7 +1,7 @@
 // SPDX-License-Identifier: GPL-2.0
 /* Acorn-like font definition, with PC graphics characters */
 
-#include <linux/font.h>
+#include "font.h"
 
 #define FONTDATAMAX 2048
 
index cc21dc70cfd155cf1ab9593f05ae324e77b3b5d4..dc919c160ddeaa21acc4b13828fe3a5a47447241 100644 (file)
@@ -39,7 +39,7 @@ __END__;
    MSBit to LSBit = left to right.
  */
 
-#include <linux/font.h>
+#include "font.h"
 
 #define FONTDATAMAX 1536
 
index ae98ca17982e644eba9e1b3ffabefed1f4d8ed34..2438b374aceaf7e92b9afe9eb58cebc92b4ad27b 100644 (file)
@@ -10,7 +10,7 @@
 /*                                            */
 /**********************************************/
 
-#include <linux/font.h>
+#include "font.h"
 
 #define FONTDATAMAX 2048
 
index 91daf5ab8b6ba6c23aa0830dcdfa072b02155c39..2afbc144bea81b8be8acafe2679a47bd017af4b5 100644 (file)
@@ -1,5 +1,6 @@
 // SPDX-License-Identifier: GPL-2.0
-#include <linux/font.h>
+
+#include "font.h"
 
 #define FONTDATAMAX 11264
 
index 81bb4eeae04e6986d643f0768704072f7f7f2834..2b7b2d8e548ac100a112ec6c6a62ca6311112d89 100644 (file)
@@ -1,5 +1,6 @@
 // SPDX-License-Identifier: GPL-2.0
-#include <linux/font.h>
+
+#include "font.h"
 
 #define FONTDATAMAX 4096
 
index 80356e9d56c73fc2cc83796e120b5d8018e4cd99..3f30b4a211ab446de52aeae5c85271390a2ce318 100644 (file)
@@ -1,7 +1,9 @@
 // SPDX-License-Identifier: GPL-2.0
-#include <linux/font.h>
+
 #include <linux/module.h>
 
+#include "font.h"
+
 #define FONTDATAMAX 9216
 
 static const struct font_data fontdata_ter10x18 = {
index 5baedc573dd6b8d3831a34011c70a156e5581ee3..93616cffe642146e777cab4a4b38d1dfda8a546b 100644 (file)
@@ -1,7 +1,9 @@
 // SPDX-License-Identifier: GPL-2.0
-#include <linux/font.h>
+
 #include <linux/module.h>
 
+#include "font.h"
+
 #define FONTDATAMAX 16384
 
 static const struct font_data fontdata_ter16x32 = {
index a861b375e35db0a6e16e4388cf1efa53918392c0..5938f542906b00448e80db288cb7fda4741a7f36 100644 (file)
@@ -13,7 +13,6 @@
  */
 
 #include <linux/container_of.h>
-#include <linux/font.h>
 #include <linux/kd.h>
 #include <linux/module.h>
 #include <linux/overflow.h>
 #include <asm/setup.h>
 #endif
 
+#include "font.h"
+
 #define console_font_pitch(font) DIV_ROUND_UP((font)->width, 8)
 
 /*
  * Helpers for font_data_t
  */
 
+/* Extra word getters */
+#define REFCOUNT(fd)   (((int *)(fd))[-1])
+#define FNTSIZE(fd)    (((int *)(fd))[-2])
+#define FNTSUM(fd)     (((int *)(fd))[-4])
+
 static struct font_data *to_font_data_struct(font_data_t *fd)
 {
        return container_of(fd, struct font_data, data[0]);