Re: [PATCH 3/5 v2] Fonts: Add charcount field to font_desc

2020-11-02 Thread Daniel Vetter
On Wed, Oct 28, 2020 at 02:05:33AM -0400, Peilin Ye wrote:
> Subsystems are assuming the number of characters of our built-in fonts.
> Include that information in our kernel font descriptor, `struct
> font_desc`.
> 
> Signed-off-by: Peilin Ye 
> Reviewed-by: Daniel Vetter 
> ---
> Change in v2:
>   - Rebase onto 5.10-rc1.

Hm there's a tiny conflict now with this because of the unsigned vs signed
discussion we've had.

Can you please rebase the remaining 3 patches onto linux-next or
drm-misc-next or so and then resubmit?

Thanks, Daniel

> 
>  include/linux/font.h   | 1 +
>  lib/fonts/font_10x18.c | 1 +
>  lib/fonts/font_6x10.c  | 1 +
>  lib/fonts/font_6x11.c  | 1 +
>  lib/fonts/font_6x8.c   | 1 +
>  lib/fonts/font_7x14.c  | 1 +
>  lib/fonts/font_8x16.c  | 1 +
>  lib/fonts/font_8x8.c   | 1 +
>  lib/fonts/font_acorn_8x8.c | 1 +
>  lib/fonts/font_mini_4x6.c  | 1 +
>  lib/fonts/font_pearl_8x8.c | 1 +
>  lib/fonts/font_sun12x22.c  | 1 +
>  lib/fonts/font_sun8x16.c   | 1 +
>  lib/fonts/font_ter16x32.c  | 1 +
>  14 files changed, 14 insertions(+)
> 
> diff --git a/include/linux/font.h b/include/linux/font.h
> index b5b312c19e46..54e60ad2252b 100644
> --- a/include/linux/font.h
> +++ b/include/linux/font.h
> @@ -17,6 +17,7 @@ struct font_desc {
>  int idx;
>  const char *name;
>  int width, height;
> +unsigned int charcount;
>  const void *data;
>  int pref;
>  };
> diff --git a/lib/fonts/font_10x18.c b/lib/fonts/font_10x18.c
> index 0e2deac97da0..4096c6562494 100644
> --- a/lib/fonts/font_10x18.c
> +++ b/lib/fonts/font_10x18.c
> @@ -5137,6 +5137,7 @@ const struct font_desc font_10x18 = {
>   .name   = "10x18",
>   .width  = 10,
>   .height = 18,
> + .charcount = 256,
>   .data   = fontdata_10x18.data,
>  #ifdef __sparc__
>   .pref   = 5,
> diff --git a/lib/fonts/font_6x10.c b/lib/fonts/font_6x10.c
> index 87da8acd07db..32786674cf65 100644
> --- a/lib/fonts/font_6x10.c
> +++ b/lib/fonts/font_6x10.c
> @@ -3083,6 +3083,7 @@ const struct font_desc font_6x10 = {
>   .name   = "6x10",
>   .width  = 6,
>   .height = 10,
> + .charcount = 256,
>   .data   = fontdata_6x10.data,
>   .pref   = 0,
>  };
> diff --git a/lib/fonts/font_6x11.c b/lib/fonts/font_6x11.c
> index 5e975dfa10a5..81e4a3aed44a 100644
> --- a/lib/fonts/font_6x11.c
> +++ b/lib/fonts/font_6x11.c
> @@ -3346,6 +3346,7 @@ const struct font_desc font_vga_6x11 = {
>   .name   = "ProFont6x11",
>   .width  = 6,
>   .height = 11,
> + .charcount = 256,
>   .data   = fontdata_6x11.data,
>   /* Try avoiding this font if possible unless on MAC */
>   .pref   = -2000,
> diff --git a/lib/fonts/font_6x8.c b/lib/fonts/font_6x8.c
> index 700039a9ceae..5618ae7ef9fa 100644
> --- a/lib/fonts/font_6x8.c
> +++ b/lib/fonts/font_6x8.c
> @@ -2571,6 +2571,7 @@ const struct font_desc font_6x8 = {
>   .name   = "6x8",
>   .width  = 6,
>   .height = 8,
> + .charcount = 256,
>   .data   = fontdata_6x8.data,
>   .pref   = 0,
>  };
> diff --git a/lib/fonts/font_7x14.c b/lib/fonts/font_7x14.c
> index 86d298f38505..7708e73d491f 100644
> --- a/lib/fonts/font_7x14.c
> +++ b/lib/fonts/font_7x14.c
> @@ -4113,6 +4113,7 @@ const struct font_desc font_7x14 = {
>   .name   = "7x14",
>   .width  = 7,
>   .height = 14,
> + .charcount = 256,
>   .data   = fontdata_7x14.data,
>   .pref   = 0,
>  };
> diff --git a/lib/fonts/font_8x16.c b/lib/fonts/font_8x16.c
> index 37cedd36ca5e..74125d3570cf 100644
> --- a/lib/fonts/font_8x16.c
> +++ b/lib/fonts/font_8x16.c
> @@ -4627,6 +4627,7 @@ const struct font_desc font_vga_8x16 = {
>   .name   = "VGA8x16",
>   .width  = 8,
>   .height = 16,
> + .charcount = 256,
>   .data   = fontdata_8x16.data,
>   .pref   = 0,
>  };
> diff --git a/lib/fonts/font_8x8.c b/lib/fonts/font_8x8.c
> index 8ab695538395..96da4bb31ae4 100644
> --- a/lib/fonts/font_8x8.c
> +++ b/lib/fonts/font_8x8.c
> @@ -2578,6 +2578,7 @@ const struct font_desc font_vga_8x8 = {
>   .name   = "VGA8x8",
>   .width  = 8,
>   .height = 8,
> + .charcount = 256,
>   .data   = fontdata_8x8.data,
>   .pref   = 0,
>  };
> diff --git a/lib/fonts/font_acorn_8x8.c b/lib/fonts/font_acorn_8x8.c
> index 069b3e80c434..ba74053fec7b 100644
> --- a/lib/fonts/font_acorn_8x8.c
> +++ b/lib/fonts/font_acorn_8x8.c
> @@ -270,6 +270,7 @@ const struct font_desc font_acorn_8x8 = {
>   .name   = "Acorn8x8",
>   .width  = 8,
>   .height = 8,
> + .charcount = 256,
>   .data   = acorndata_8x8.data,
>  #ifdef CONFIG_ARCH_ACORN
>   .pref   = 20,
> diff --git a/lib/fonts/font_mini_4x6.c b/lib/fonts/font_mini_4x6.c
> index 1449876c6a27..637708e8c67e 100644
> --- a/lib/fonts/font_mini_4x6.c
> +++ b/lib/fonts/font_mini_4x6.c
> @@ -2152,6 +2152,7 @@ const struct font_desc font_mini_4x6 = {
>   .name   = "MINI4x6",
>   .width  = 4,
>   .height = 6,
> + .charcount = 256,
>   

[PATCH 3/5 v2] Fonts: Add charcount field to font_desc

2020-10-28 Thread Peilin Ye
Subsystems are assuming the number of characters of our built-in fonts.
Include that information in our kernel font descriptor, `struct
font_desc`.

Signed-off-by: Peilin Ye 
Reviewed-by: Daniel Vetter 
---
Change in v2:
  - Rebase onto 5.10-rc1.

 include/linux/font.h   | 1 +
 lib/fonts/font_10x18.c | 1 +
 lib/fonts/font_6x10.c  | 1 +
 lib/fonts/font_6x11.c  | 1 +
 lib/fonts/font_6x8.c   | 1 +
 lib/fonts/font_7x14.c  | 1 +
 lib/fonts/font_8x16.c  | 1 +
 lib/fonts/font_8x8.c   | 1 +
 lib/fonts/font_acorn_8x8.c | 1 +
 lib/fonts/font_mini_4x6.c  | 1 +
 lib/fonts/font_pearl_8x8.c | 1 +
 lib/fonts/font_sun12x22.c  | 1 +
 lib/fonts/font_sun8x16.c   | 1 +
 lib/fonts/font_ter16x32.c  | 1 +
 14 files changed, 14 insertions(+)

diff --git a/include/linux/font.h b/include/linux/font.h
index b5b312c19e46..54e60ad2252b 100644
--- a/include/linux/font.h
+++ b/include/linux/font.h
@@ -17,6 +17,7 @@ struct font_desc {
 int idx;
 const char *name;
 int width, height;
+unsigned int charcount;
 const void *data;
 int pref;
 };
diff --git a/lib/fonts/font_10x18.c b/lib/fonts/font_10x18.c
index 0e2deac97da0..4096c6562494 100644
--- a/lib/fonts/font_10x18.c
+++ b/lib/fonts/font_10x18.c
@@ -5137,6 +5137,7 @@ const struct font_desc font_10x18 = {
.name   = "10x18",
.width  = 10,
.height = 18,
+   .charcount = 256,
.data   = fontdata_10x18.data,
 #ifdef __sparc__
.pref   = 5,
diff --git a/lib/fonts/font_6x10.c b/lib/fonts/font_6x10.c
index 87da8acd07db..32786674cf65 100644
--- a/lib/fonts/font_6x10.c
+++ b/lib/fonts/font_6x10.c
@@ -3083,6 +3083,7 @@ const struct font_desc font_6x10 = {
.name   = "6x10",
.width  = 6,
.height = 10,
+   .charcount = 256,
.data   = fontdata_6x10.data,
.pref   = 0,
 };
diff --git a/lib/fonts/font_6x11.c b/lib/fonts/font_6x11.c
index 5e975dfa10a5..81e4a3aed44a 100644
--- a/lib/fonts/font_6x11.c
+++ b/lib/fonts/font_6x11.c
@@ -3346,6 +3346,7 @@ const struct font_desc font_vga_6x11 = {
.name   = "ProFont6x11",
.width  = 6,
.height = 11,
+   .charcount = 256,
.data   = fontdata_6x11.data,
/* Try avoiding this font if possible unless on MAC */
.pref   = -2000,
diff --git a/lib/fonts/font_6x8.c b/lib/fonts/font_6x8.c
index 700039a9ceae..5618ae7ef9fa 100644
--- a/lib/fonts/font_6x8.c
+++ b/lib/fonts/font_6x8.c
@@ -2571,6 +2571,7 @@ const struct font_desc font_6x8 = {
.name   = "6x8",
.width  = 6,
.height = 8,
+   .charcount = 256,
.data   = fontdata_6x8.data,
.pref   = 0,
 };
diff --git a/lib/fonts/font_7x14.c b/lib/fonts/font_7x14.c
index 86d298f38505..7708e73d491f 100644
--- a/lib/fonts/font_7x14.c
+++ b/lib/fonts/font_7x14.c
@@ -4113,6 +4113,7 @@ const struct font_desc font_7x14 = {
.name   = "7x14",
.width  = 7,
.height = 14,
+   .charcount = 256,
.data   = fontdata_7x14.data,
.pref   = 0,
 };
diff --git a/lib/fonts/font_8x16.c b/lib/fonts/font_8x16.c
index 37cedd36ca5e..74125d3570cf 100644
--- a/lib/fonts/font_8x16.c
+++ b/lib/fonts/font_8x16.c
@@ -4627,6 +4627,7 @@ const struct font_desc font_vga_8x16 = {
.name   = "VGA8x16",
.width  = 8,
.height = 16,
+   .charcount = 256,
.data   = fontdata_8x16.data,
.pref   = 0,
 };
diff --git a/lib/fonts/font_8x8.c b/lib/fonts/font_8x8.c
index 8ab695538395..96da4bb31ae4 100644
--- a/lib/fonts/font_8x8.c
+++ b/lib/fonts/font_8x8.c
@@ -2578,6 +2578,7 @@ const struct font_desc font_vga_8x8 = {
.name   = "VGA8x8",
.width  = 8,
.height = 8,
+   .charcount = 256,
.data   = fontdata_8x8.data,
.pref   = 0,
 };
diff --git a/lib/fonts/font_acorn_8x8.c b/lib/fonts/font_acorn_8x8.c
index 069b3e80c434..ba74053fec7b 100644
--- a/lib/fonts/font_acorn_8x8.c
+++ b/lib/fonts/font_acorn_8x8.c
@@ -270,6 +270,7 @@ const struct font_desc font_acorn_8x8 = {
.name   = "Acorn8x8",
.width  = 8,
.height = 8,
+   .charcount = 256,
.data   = acorndata_8x8.data,
 #ifdef CONFIG_ARCH_ACORN
.pref   = 20,
diff --git a/lib/fonts/font_mini_4x6.c b/lib/fonts/font_mini_4x6.c
index 1449876c6a27..637708e8c67e 100644
--- a/lib/fonts/font_mini_4x6.c
+++ b/lib/fonts/font_mini_4x6.c
@@ -2152,6 +2152,7 @@ const struct font_desc font_mini_4x6 = {
.name   = "MINI4x6",
.width  = 4,
.height = 6,
+   .charcount = 256,
.data   = fontdata_mini_4x6.data,
.pref   = 3,
 };
diff --git a/lib/fonts/font_pearl_8x8.c b/lib/fonts/font_pearl_8x8.c
index 32d65551e7ed..06cde43c7bd2 100644
--- a/lib/fonts/font_pearl_8x8.c
+++ b/lib/fonts/font_pearl_8x8.c
@@ -2582,6 +2582,7 @@ const struct font_desc font_pearl_8x8 = {
.name   = "PEARL8x8",
.width  = 8,
.height = 8,
+   .charcount = 256,
.data   = fontdata_pearl8x8.data,
.pref   = 2,