[PATCH v3 0/5] console: Miscellaneous clean-ups, do not use FNTCHARCNT() in fbcon.c

From: Peilin Ye
Date: Thu Nov 12 2020 - 07:03:11 EST


Hi all,

This is a collection of some miscellaneous clean-ups for fbcon and some
console drivers. Since v2, I rebased them on linux-next, added some
Reviewed-by: tags from Daniel and Greg, and rewrote the commit messages as
suggested by Jiri. See [1] for v2 links.

It does the following:

- Garbage collect KD_FONT_OP_COPY callbacks since we disabled it
recently. Mark it as obsolete.
- Delete dummy con_font_op() callbacks. (Reviewed by Greg)

- Add a charcount field to our new font descriptor, `struct font_desc`.
(Reviewed by Daniel)
- Do not use a hard-coded 256 for built-in font charcount in
console/sticore.c, use the new charcount field of `struct font_desc`
instead. (Reviewed by Daniel)
- Similarly, in fbcon.c, avoid using the magic negative-indexing macro,
FNTCHARCNT(). Set `vc->vc_font.charcount` properly and always use that
instead.

Daniel, hopefully [5/5] removes FNTCHARCNT() for ever, but I have not
tested it sufficiently yet. I remember you mentioned elsewhere that
"fbtest.c" is insufficient for framebuffer testing, then how should we
test it? The first 4 patches should be fine.

Please reference commit messages for more information. Thank you!

[1] v2 links:

2/5: https://lore.kernel.org/lkml/c5563eeea36aae7bd72ea2e985bc610d585ece40.1604306433.git.yepeilin.cs@xxxxxxxxx/
3/5: https://lore.kernel.org/lkml/20201028060533.1206307-1-yepeilin.cs@xxxxxxxxx/
4/5: https://lore.kernel.org/lkml/c38042bbf5c9777c84900d56c09f3c156b32af48.1603788512.git.yepeilin.cs@xxxxxxxxx/
5/5: https://lore.kernel.org/lkml/20201028155139.1220549-1-yepeilin.cs@xxxxxxxxx/

Peilin Ye (5):
console: Delete unused con_font_copy() callback implementations
console: Delete dummy con_font_set() and con_font_default() callback implementations
Fonts: Add charcount field to font_desc
parisc/sticore: Avoid hard-coding built-in font charcount
fbcon: Avoid using FNTCHARCNT() and hard-coded built-in font charcount

drivers/usb/misc/sisusbvga/sisusb_con.c | 21 --------
drivers/video/console/dummycon.c | 20 --------
drivers/video/console/sticore.c | 8 +--
drivers/video/fbdev/core/fbcon.c | 68 ++++++++-----------------
drivers/video/fbdev/core/fbcon_rotate.c | 3 +-
drivers/video/fbdev/core/tileblit.c | 4 +-
include/linux/console.h | 1 -
include/linux/font.h | 1 +
include/uapi/linux/kd.h | 2 +-
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 +
22 files changed, 42 insertions(+), 99 deletions(-)

--
2.25.1