From: Greg Kroah-Hartman Date: Wed, 7 Oct 2020 11:36:03 +0000 (+0200) Subject: 5.4-stable patches X-Git-Tag: v4.4.239~83 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=c26f529e000c0e755cb0ebbe54530977a2f8ceff;p=thirdparty%2Fkernel%2Fstable-queue.git 5.4-stable patches added patches: fbdev-newport_con-move-font_extra_words-macros-into-linux-font.h.patch --- diff --git a/queue-5.4/fbdev-newport_con-move-font_extra_words-macros-into-linux-font.h.patch b/queue-5.4/fbdev-newport_con-move-font_extra_words-macros-into-linux-font.h.patch new file mode 100644 index 00000000000..92ce1b8ff54 --- /dev/null +++ b/queue-5.4/fbdev-newport_con-move-font_extra_words-macros-into-linux-font.h.patch @@ -0,0 +1,105 @@ +From bb0890b4cd7f8203e3aa99c6d0f062d6acdaad27 Mon Sep 17 00:00:00 2001 +From: Peilin Ye +Date: Thu, 24 Sep 2020 09:40:53 -0400 +Subject: fbdev, newport_con: Move FONT_EXTRA_WORDS macros into linux/font.h + +From: Peilin Ye + +commit bb0890b4cd7f8203e3aa99c6d0f062d6acdaad27 upstream. + +drivers/video/console/newport_con.c is borrowing FONT_EXTRA_WORDS macros +from drivers/video/fbdev/core/fbcon.h. To keep things simple, move all +definitions into . + +Since newport_con now uses four extra words, initialize the fourth word in +newport_set_font() properly. + +Cc: stable@vger.kernel.org +Signed-off-by: Peilin Ye +Reviewed-by: Greg Kroah-Hartman +Signed-off-by: Daniel Vetter +Link: https://patchwork.freedesktop.org/patch/msgid/7fb8bc9b0abc676ada6b7ac0e0bd443499357267.1600953813.git.yepeilin.cs@gmail.com +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/video/console/newport_con.c | 7 +------ + drivers/video/fbdev/core/fbcon.h | 7 ------- + drivers/video/fbdev/core/fbcon_rotate.c | 1 + + drivers/video/fbdev/core/tileblit.c | 1 + + include/linux/font.h | 8 ++++++++ + 5 files changed, 11 insertions(+), 13 deletions(-) + +--- a/drivers/video/console/newport_con.c ++++ b/drivers/video/console/newport_con.c +@@ -36,12 +36,6 @@ + + #define FONT_DATA ((unsigned char *)font_vga_8x16.data) + +-/* borrowed from fbcon.c */ +-#define REFCOUNT(fd) (((int *)(fd))[-1]) +-#define FNTSIZE(fd) (((int *)(fd))[-2]) +-#define FNTCHARCNT(fd) (((int *)(fd))[-3]) +-#define FONT_EXTRA_WORDS 3 +- + static unsigned char *font_data[MAX_NR_CONSOLES]; + + static struct newport_regs *npregs; +@@ -523,6 +517,7 @@ static int newport_set_font(int unit, st + FNTSIZE(new_data) = size; + FNTCHARCNT(new_data) = op->charcount; + REFCOUNT(new_data) = 0; /* usage counter */ ++ FNTSUM(new_data) = 0; + + p = new_data; + for (i = 0; i < op->charcount; i++) { +--- a/drivers/video/fbdev/core/fbcon.h ++++ b/drivers/video/fbdev/core/fbcon.h +@@ -152,13 +152,6 @@ static inline int attr_col_ec(int shift, + #define attr_bgcol_ec(bgshift, vc, info) attr_col_ec(bgshift, vc, info, 0) + #define attr_fgcol_ec(fgshift, vc, info) attr_col_ec(fgshift, vc, info, 1) + +-/* Font */ +-#define REFCOUNT(fd) (((int *)(fd))[-1]) +-#define FNTSIZE(fd) (((int *)(fd))[-2]) +-#define FNTCHARCNT(fd) (((int *)(fd))[-3]) +-#define FNTSUM(fd) (((int *)(fd))[-4]) +-#define FONT_EXTRA_WORDS 4 +- + /* + * Scroll Method + */ +--- a/drivers/video/fbdev/core/fbcon_rotate.c ++++ b/drivers/video/fbdev/core/fbcon_rotate.c +@@ -14,6 +14,7 @@ + #include + #include + #include ++#include + #include + #include "fbcon.h" + #include "fbcon_rotate.h" +--- a/drivers/video/fbdev/core/tileblit.c ++++ b/drivers/video/fbdev/core/tileblit.c +@@ -13,6 +13,7 @@ + #include + #include + #include ++#include + #include + #include "fbcon.h" + +--- a/include/linux/font.h ++++ b/include/linux/font.h +@@ -59,4 +59,12 @@ extern const struct font_desc *get_defau + /* 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 FNTCHARCNT(fd) (((int *)(fd))[-3]) ++#define FNTSUM(fd) (((int *)(fd))[-4]) ++ ++#define FONT_EXTRA_WORDS 4 ++ + #endif /* _VIDEO_FONT_H */