Fbcon's drawing functions open-code much of the glyph handling. Use
font helpers instead. Makes fbcon more consistent and easier to
understand.
Patch 1 updates fbcon to use unsigned char for glyph buffers. This
is consistent with the font code and font_data_t.
Patches 2 and 3 update font rotation to return rotated glyphs as
font_data_t. A rotated font can now use the same interfaces as the
unrotated source font. Fbcon uses this to ref count the font buffer.
Patches 4 to 6 update various parts of fbcon to use font helpers
instead of open-coding access to font_data_t. Having the rotated
font as font_data_t makes this convenient.
Tested with fbcon on DRM's bochs driver (qemu).
Thomas Zimmermann (6):
fbcon: Use unsigned char for glyph data
lib/fonts: Provide internal helpers for allocating font_data_t
lib/fonts, fbcon: Use font_data_t for rotated fonts
fbcon: Refactor size calculation for cursor buffers
fbcon: Look up glyphs using the font interface
fbcon: Handle characters with no glyph defined in a consistent way
drivers/video/fbdev/core/bitblit.c | 82 +++++++++++++++----------
drivers/video/fbdev/core/fbcon.c | 3 +-
drivers/video/fbdev/core/fbcon.h | 5 +-
drivers/video/fbdev/core/fbcon_ccw.c | 56 +++++++++++------
drivers/video/fbdev/core/fbcon_cw.c | 57 ++++++++++-------
drivers/video/fbdev/core/fbcon_rotate.c | 19 +++---
drivers/video/fbdev/core/fbcon_ud.c | 77 +++++++++++++++--------
include/linux/font.h | 5 +-
lib/fonts/font.h | 12 ++++
lib/fonts/font_rotate.c | 32 ++++------
lib/fonts/fonts.c | 63 ++++++++++++-------
11 files changed, 254 insertions(+), 157 deletions(-)
--
2.56.0