[PATCH 0/6] fbcon: Move bitops callbacks into separate struct

From: Thomas Zimmermann
Date: Mon Aug 18 2025 - 06:50:06 EST


Instances of fbcon use a number callbacks to support tile-based
drawing or console rotation. The fields are writeable in struct
fbcon_ops. Each case; unrotated, various rotated and tile-based
drawing; uses a set of related calbacks. Updating these 'bitops'
at runtime is spread throughout various helper functions.

This series puts related callbacks into dedicated instances of the
new type struct fbcon_bitops. Changing the callbacks at runtime
then only requires to pick the correct instance. It further allows
the various struct fbcon_bitops' to be declared 'static const', which
makes them write-protected at runtime.

Makes the fbcon bitops easier and safer to use and modify.

Thomas Zimmermann (6):
fbcon: Fix empty lines in fbcon.h
fbcon: Rename struct fbcon_ops to struct fbcon
fbcon: Set rotate_font callback with related callbacks
fbcon: Move fbcon callbacks into struct fbcon_bitops
fbcon: Streamline setting rotated/unrotated bitops
fbcon: Pass struct fbcon to callbacks in struct fbcon_bitops

drivers/video/fbdev/core/bitblit.c | 148 ++++----
drivers/video/fbdev/core/fb_internal.h | 2 +
drivers/video/fbdev/core/fbcon.c | 459 ++++++++++++------------
drivers/video/fbdev/core/fbcon.h | 33 +-
drivers/video/fbdev/core/fbcon_ccw.c | 180 +++++-----
drivers/video/fbdev/core/fbcon_cw.c | 172 ++++-----
drivers/video/fbdev/core/fbcon_rotate.c | 47 +--
drivers/video/fbdev/core/fbcon_rotate.h | 18 +-
drivers/video/fbdev/core/fbcon_ud.c | 192 +++++-----
drivers/video/fbdev/core/softcursor.c | 18 +-
drivers/video/fbdev/core/tileblit.c | 49 +--
11 files changed, 681 insertions(+), 637 deletions(-)

--
2.50.1