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
