[Concept,07/14] video: Move x_charsize and y_charsize into vidconsole_ctx

Message ID 20260116171424.398597-8-sjg@u-boot.org
State New
Headers
Series video: Add per-client context to vidconsole |

Commit Message

Simon Glass Jan. 16, 2026, 5:14 p.m. UTC
  From: Simon Glass <simon.glass@canonical.com>

Move the x_charsize and y_charsize fields from vidconsole_priv into
vidconsole_ctx. This continues the refactoring to support multiple
clients with their own context.

Use a local ctx pointer (or vc_ctx where ctx is already used for the
driver's context) in each function that accesses these fields.

Co-developed-by: Claude Opus 4.5 <noreply@anthropic.com>
Signed-off-by: Simon Glass <simon.glass@canonical.com>
---

 board/atmel/common/video_display.c |  3 +-
 boot/expo_test.c                   | 10 +++----
 drivers/video/console_core.c       |  3 +-
 drivers/video/console_normal.c     |  6 ++--
 drivers/video/console_rotate.c     |  9 ++++--
 drivers/video/console_truetype.c   | 29 ++++++++++---------
 drivers/video/vidconsole-uclass.c  | 45 ++++++++++++++++--------------
 drivers/video/video-uclass.c       |  4 +--
 include/video_console.h            | 16 +++++------
 9 files changed, 68 insertions(+), 57 deletions(-)
  

Patch

diff --git a/board/atmel/common/video_display.c b/board/atmel/common/video_display.c
index 77188820581..4d6ac3a740e 100644
--- a/board/atmel/common/video_display.c
+++ b/board/atmel/common/video_display.c
@@ -68,7 +68,8 @@  int at91_video_show_board_info(void)
 
 	priv = dev_get_uclass_priv(con);
 	vidconsole_position_cursor(con, 0, (logo_info.logo_height +
-				   priv->y_charsize - 1) / priv->y_charsize);
+				   priv->ctx.y_charsize - 1) /
+				   priv->ctx.y_charsize);
 	for (s = buf, i = 0; i < len; s++, i++)
 		vidconsole_put_char(con, *s);
 
diff --git a/boot/expo_test.c b/boot/expo_test.c
index 3ddeb86fb2c..a905b144745 100644
--- a/boot/expo_test.c
+++ b/boot/expo_test.c
@@ -176,7 +176,7 @@  int expo_test_render(struct expo *exp)
 
 	/* Display frame count */
 	snprintf(buf, sizeof(buf), "frame  %6d", test->render_count);
-	x = vid_priv->xsize - 18 * cons_priv->x_charsize;
+	x = vid_priv->xsize - 18 * cons_priv->ctx.x_charsize;
 	y = 10;
 	vidconsole_set_cursor_pos(exp->cons, x, y);
 	vidconsole_put_string(exp->cons, buf);
@@ -184,7 +184,7 @@  int expo_test_render(struct expo *exp)
 	/* Display FPS on next line (only if non-zero) */
 	if (test->fps_last > 0) {
 		snprintf(buf, sizeof(buf), "fps    %6d", test->fps_last);
-		y += cons_priv->y_charsize;
+		y += cons_priv->ctx.y_charsize;
 		vidconsole_set_cursor_pos(exp->cons, x, y);
 		vidconsole_put_string(exp->cons, buf);
 	}
@@ -193,7 +193,7 @@  int expo_test_render(struct expo *exp)
 	snprintf(buf, sizeof(buf), "render %6lu.%01lums",
 		 test->render_avg_us / 1000,
 		 (test->render_avg_us % 1000) / 100);
-	y += cons_priv->y_charsize;
+	y += cons_priv->ctx.y_charsize;
 	vidconsole_set_cursor_pos(exp->cons, x, y);
 	vidconsole_put_string(exp->cons, buf);
 
@@ -201,7 +201,7 @@  int expo_test_render(struct expo *exp)
 	snprintf(buf, sizeof(buf), "sync   %6lu.%01lums",
 		 test->sync_avg_us / 1000,
 		 (test->sync_avg_us % 1000) / 100);
-	y += cons_priv->y_charsize;
+	y += cons_priv->ctx.y_charsize;
 	vidconsole_set_cursor_pos(exp->cons, x, y);
 	vidconsole_put_string(exp->cons, buf);
 
@@ -209,7 +209,7 @@  int expo_test_render(struct expo *exp)
 	snprintf(buf, sizeof(buf), "poll   %6lu.%01lums",
 		 test->poll_avg_us / 1000,
 		 (test->poll_avg_us % 1000) / 100);
-	y += cons_priv->y_charsize;
+	y += cons_priv->ctx.y_charsize;
 	vidconsole_set_cursor_pos(exp->cons, x, y);
 	vidconsole_put_string(exp->cons, buf);
 
diff --git a/drivers/video/console_core.c b/drivers/video/console_core.c
index 3f3efb94ab1..9cf5831b562 100644
--- a/drivers/video/console_core.c
+++ b/drivers/video/console_core.c
@@ -340,6 +340,7 @@  int console_fixed_putc_xy(struct udevice *dev, uint x_frac, uint y, int cp,
 			   struct video_fontdata *fontdata)
 {
 	struct vidconsole_priv *vc_priv = dev_get_uclass_priv(dev);
+	struct vidconsole_ctx *ctx = vidconsole_ctx_from_priv(vc_priv);
 	struct udevice *vid = dev->parent;
 	struct video_priv *vid_priv = dev_get_uclass_priv(vid);
 	int pbytes = VNBYTES(vid_priv->bpix);
@@ -349,7 +350,7 @@  int console_fixed_putc_xy(struct udevice *dev, uint x_frac, uint y, int cp,
 	uchar *pfont = fontdata->video_fontdata +
 			ch * fontdata->char_pixel_bytes;
 
-	if (x_frac + VID_TO_POS(vc_priv->x_charsize) > vc_priv->xsize_frac)
+	if (x_frac + VID_TO_POS(ctx->x_charsize) > vc_priv->xsize_frac)
 		return -EAGAIN;
 	linenum = y;
 	x = VID_TO_PIXEL(x_frac);
diff --git a/drivers/video/console_normal.c b/drivers/video/console_normal.c
index 5417612f9de..cc0ac79a924 100644
--- a/drivers/video/console_normal.c
+++ b/drivers/video/console_normal.c
@@ -110,14 +110,14 @@  static __maybe_unused int console_get_cursor_info(struct udevice *dev)
 	index = vc_priv->cli_index;
 
 	/* rounded up character position in this line */
-	xpos = (x + vc_priv->x_charsize - 1) / vc_priv->x_charsize;
+	xpos = (x + ctx->x_charsize - 1) / ctx->x_charsize;
 
 	/* number of characters which can fit on this (first) line */
 	xspace = ctx->cols - xpos;
 
 	if (!curs->indent && index > xspace) {
 		/* move to the next line */
-		y += vc_priv->y_charsize;
+		y += ctx->y_charsize;
 		index -= xspace;
 
 		/* figure out the available space in subsequent lines */
@@ -140,7 +140,7 @@  static __maybe_unused int console_get_cursor_info(struct udevice *dev)
 	/* Store line pointer and height in cursor struct */
 	curs->x = x;
 	curs->y = y;
-	curs->height = vc_priv->y_charsize;
+	curs->height = ctx->y_charsize;
 	curs->index = vc_priv->cli_index;
 
 	return 0;
diff --git a/drivers/video/console_rotate.c b/drivers/video/console_rotate.c
index 886b25dcfaf..85c571accd4 100644
--- a/drivers/video/console_rotate.c
+++ b/drivers/video/console_rotate.c
@@ -75,6 +75,7 @@  static int console_move_rows_1(struct udevice *dev, uint rowdst, uint rowsrc,
 static int console_putc_xy_1(struct udevice *dev, uint x_frac, uint y, int cp)
 {
 	struct vidconsole_priv *vc_priv = dev_get_uclass_priv(dev);
+	struct vidconsole_ctx *ctx = vidconsole_ctx_from_priv(vc_priv);
 	struct udevice *vid = dev->parent;
 	struct video_priv *vid_priv = dev_get_uclass_priv(vid);
 	struct console_simple_priv *priv = dev_get_priv(dev);
@@ -86,7 +87,7 @@  static int console_putc_xy_1(struct udevice *dev, uint x_frac, uint y, int cp)
 	uchar *pfont = fontdata->video_fontdata +
 			ch * fontdata->char_pixel_bytes;
 
-	if (x_frac + VID_TO_POS(vc_priv->x_charsize) > vc_priv->xsize_frac)
+	if (x_frac + VID_TO_POS(ctx->x_charsize) > vc_priv->xsize_frac)
 		return -EAGAIN;
 	linenum = VID_TO_PIXEL(x_frac) + 1;
 	x = y + 1;
@@ -163,6 +164,7 @@  static int console_move_rows_2(struct udevice *dev, uint rowdst, uint rowsrc,
 static int console_putc_xy_2(struct udevice *dev, uint x_frac, uint y, int cp)
 {
 	struct vidconsole_priv *vc_priv = dev_get_uclass_priv(dev);
+	struct vidconsole_ctx *ctx = vidconsole_ctx_from_priv(vc_priv);
 	struct udevice *vid = dev->parent;
 	struct video_priv *vid_priv = dev_get_uclass_priv(vid);
 	struct console_simple_priv *priv = dev_get_priv(dev);
@@ -174,7 +176,7 @@  static int console_putc_xy_2(struct udevice *dev, uint x_frac, uint y, int cp)
 	uchar *pfont = fontdata->video_fontdata +
 			ch * fontdata->char_pixel_bytes;
 
-	if (x_frac + VID_TO_POS(vc_priv->x_charsize) > vc_priv->xsize_frac)
+	if (x_frac + VID_TO_POS(ctx->x_charsize) > vc_priv->xsize_frac)
 		return -EAGAIN;
 	linenum = vid_priv->ysize - y - 1;
 	x = vid_priv->xsize - VID_TO_PIXEL(x_frac) - 1;
@@ -253,6 +255,7 @@  static int console_move_rows_3(struct udevice *dev, uint rowdst, uint rowsrc,
 static int console_putc_xy_3(struct udevice *dev, uint x_frac, uint y, int cp)
 {
 	struct vidconsole_priv *vc_priv = dev_get_uclass_priv(dev);
+	struct vidconsole_ctx *ctx = vidconsole_ctx_from_priv(vc_priv);
 	struct udevice *vid = dev->parent;
 	struct video_priv *vid_priv = dev_get_uclass_priv(vid);
 	struct console_simple_priv *priv = dev_get_priv(dev);
@@ -264,7 +267,7 @@  static int console_putc_xy_3(struct udevice *dev, uint x_frac, uint y, int cp)
 	uchar *pfont = fontdata->video_fontdata +
 			ch * fontdata->char_pixel_bytes;
 
-	if (x_frac + VID_TO_POS(vc_priv->x_charsize) > vc_priv->xsize_frac)
+	if (x_frac + VID_TO_POS(ctx->x_charsize) > vc_priv->xsize_frac)
 		return -EAGAIN;
 	x = y;
 	linenum = vid_priv->ysize - VID_TO_PIXEL(x_frac) - 1;
diff --git a/drivers/video/console_truetype.c b/drivers/video/console_truetype.c
index f241761bbbc..62a3f501958 100644
--- a/drivers/video/console_truetype.c
+++ b/drivers/video/console_truetype.c
@@ -266,7 +266,7 @@  struct console_tt_store {
 static int console_truetype_set_row(struct udevice *dev, uint row, int clr)
 {
 	struct video_priv *vid_priv = dev_get_uclass_priv(dev->parent);
-	struct vidconsole_priv *vc_priv = dev_get_uclass_priv(dev);
+	struct vidconsole_ctx *vc_ctx = vidconsole_ctx(dev);
 	struct console_tt_priv *priv = dev_get_priv(dev);
 	void *end, *line;
 	int font_height;
@@ -314,9 +314,9 @@  static int console_truetype_set_row(struct udevice *dev, uint row, int clr)
 
 	video_damage(dev->parent,
 		     0,
-		     vc_priv->y_charsize * row,
+		     vc_ctx->y_charsize * row,
 		     vid_priv->xsize,
-		     vc_priv->y_charsize);
+		     vc_ctx->y_charsize);
 
 	return 0;
 }
@@ -325,7 +325,7 @@  static int console_truetype_move_rows(struct udevice *dev, uint rowdst,
 				     uint rowsrc, uint count)
 {
 	struct video_priv *vid_priv = dev_get_uclass_priv(dev->parent);
-	struct vidconsole_priv *vc_priv = dev_get_uclass_priv(dev);
+	struct vidconsole_ctx *vc_ctx = vidconsole_ctx(dev);
 	struct console_tt_priv *priv = dev_get_priv(dev);
 	struct console_tt_ctx *ctx = &priv->ctx;
 	void *dst;
@@ -349,9 +349,9 @@  static int console_truetype_move_rows(struct udevice *dev, uint rowdst,
 
 	video_damage(dev->parent,
 		     0,
-		     vc_priv->y_charsize * rowdst,
+		     vc_ctx->y_charsize * rowdst,
 		     vid_priv->xsize,
-		     vc_priv->y_charsize * count);
+		     vc_ctx->y_charsize * count);
 
 	return 0;
 }
@@ -369,6 +369,7 @@  static int console_truetype_move_rows(struct udevice *dev, uint rowdst,
 static void clear_from(struct udevice *dev, int index)
 {
 	struct vidconsole_priv *vc_priv = dev_get_uclass_priv(dev);
+	struct vidconsole_ctx *vc_ctx = vidconsole_ctx_from_priv(vc_priv);
 	struct console_tt_priv *priv = dev_get_priv(dev);
 	struct console_tt_ctx *ctx = &priv->ctx;
 	struct udevice *vid_dev = dev->parent;
@@ -390,21 +391,23 @@  static void clear_from(struct udevice *dev, int index)
 
 	/* If on the same line, just erase from start to end position */
 	if (ystart == yend) {
-		video_fill_part(vid_dev, xstart, ystart, xend, ystart + vc_priv->y_charsize,
+		video_fill_part(vid_dev, xstart, ystart, xend,
+				ystart + vc_ctx->y_charsize,
 				vid_priv->colour_bg);
 	} else {
 		/* Different lines - erase to end of first line */
 		video_fill_part(vid_dev, xstart, ystart, vid_priv->xsize,
-				ystart + vc_priv->y_charsize, vid_priv->colour_bg);
+				ystart + vc_ctx->y_charsize, vid_priv->colour_bg);
 
 		/* Erase any complete lines in between */
-		if (yend > ystart + vc_priv->y_charsize) {
-			video_fill_part(vid_dev, 0, ystart + vc_priv->y_charsize,
+		if (yend > ystart + vc_ctx->y_charsize) {
+			video_fill_part(vid_dev, 0, ystart + vc_ctx->y_charsize,
 					vid_priv->xsize, yend, vid_priv->colour_bg);
 		}
 
 		/* Erase from start of final line to end of last character */
-		video_fill_part(vid_dev, 0, yend, xend, yend + vc_priv->y_charsize,
+		video_fill_part(vid_dev, 0, yend, xend,
+				yend + vc_ctx->y_charsize,
 				vid_priv->colour_bg);
 	}
 }
@@ -938,8 +941,8 @@  static void select_metrics(struct udevice *dev, struct console_tt_metrics *met)
 	struct video_priv *vid_priv = dev_get_uclass_priv(vid_dev);
 
 	priv->cur_met = met;
-	vc_priv->x_charsize = met->font_size;
-	vc_priv->y_charsize = met->font_size;
+	ctx->x_charsize = met->font_size;
+	ctx->y_charsize = met->font_size;
 	vc_priv->xstart_frac = VID_TO_POS(2);
 	ctx->cols = vid_priv->xsize / met->font_size;
 	ctx->rows = vid_priv->ysize / met->font_size;
diff --git a/drivers/video/vidconsole-uclass.c b/drivers/video/vidconsole-uclass.c
index 28c9e88cbb6..71bcac4288e 100644
--- a/drivers/video/vidconsole-uclass.c
+++ b/drivers/video/vidconsole-uclass.c
@@ -76,11 +76,11 @@  static int vidconsole_back(struct udevice *dev)
 	/* Hide cursor at old position if it's visible */
 	vidconsole_hide_cursor(dev);
 
-	priv->xcur_frac -= VID_TO_POS(priv->x_charsize);
+	priv->xcur_frac -= VID_TO_POS(ctx->x_charsize);
 	if (priv->xcur_frac < priv->xstart_frac) {
 		priv->xcur_frac = (ctx->cols - 1) *
-			VID_TO_POS(priv->x_charsize);
-		priv->ycur -= priv->y_charsize;
+			VID_TO_POS(ctx->x_charsize);
+		priv->ycur -= ctx->y_charsize;
 		if (priv->ycur < 0)
 			priv->ycur = 0;
 	}
@@ -101,17 +101,17 @@  static void vidconsole_newline(struct udevice *dev)
 	int i, ret;
 
 	priv->xcur_frac = priv->xstart_frac;
-	priv->ycur += priv->y_charsize;
+	priv->ycur += ctx->y_charsize;
 
 	/* Check if we need to scroll the terminal */
 	if (vid_priv->rot % 2 ?
-	    priv->ycur + priv->x_charsize > vid_priv->xsize :
-	    priv->ycur + priv->y_charsize > vid_priv->ysize) {
+	    priv->ycur + ctx->x_charsize > vid_priv->xsize :
+	    priv->ycur + ctx->y_charsize > vid_priv->ysize) {
 		vidconsole_move_rows(dev, 0, rows, ctx->rows - rows);
 		for (i = 0; i < rows; i++)
 			vidconsole_set_row(dev, ctx->rows - i - 1,
 					   vid_priv->colour_bg);
-		priv->ycur -= rows * priv->y_charsize;
+		priv->ycur -= rows * ctx->y_charsize;
 	}
 	priv->last_ch = 0;
 
@@ -178,9 +178,11 @@  static void set_cursor_position(struct udevice *dev, int row, int col)
 static void get_cursor_position(struct vidconsole_priv *priv,
 				int *row, int *col)
 {
-	*row = priv->ycur / priv->y_charsize;
+	struct vidconsole_ctx *ctx = vidconsole_ctx_from_priv(priv);
+
+	*row = priv->ycur / ctx->y_charsize;
 	*col = VID_TO_PIXEL(priv->xcur_frac - priv->xstart_frac) /
-	       priv->x_charsize;
+	       ctx->x_charsize;
 }
 
 /*
@@ -649,7 +651,7 @@  int vidconsole_measure(struct udevice *dev, const char *name, uint size,
 		       const char *text, int limit,
 		       struct vidconsole_bbox *bbox, struct alist *lines)
 {
-	struct vidconsole_priv *priv = dev_get_uclass_priv(dev);
+	struct vidconsole_ctx *ctx = vidconsole_ctx(dev);
 	struct vidconsole_ops *ops = vidconsole_get_ops(dev);
 	int ret;
 
@@ -664,8 +666,8 @@  int vidconsole_measure(struct udevice *dev, const char *name, uint size,
 	bbox->valid = true;
 	bbox->x0 = 0;
 	bbox->y0 = 0;
-	bbox->x1 = priv->x_charsize * strlen(text);
-	bbox->y1 = priv->y_charsize;
+	bbox->x1 = ctx->x_charsize * strlen(text);
+	bbox->y1 = ctx->y_charsize;
 
 	return 0;
 }
@@ -673,7 +675,7 @@  int vidconsole_measure(struct udevice *dev, const char *name, uint size,
 int vidconsole_nominal(struct udevice *dev, const char *name, uint size,
 		       uint num_chars, struct vidconsole_bbox *bbox)
 {
-	struct vidconsole_priv *priv = dev_get_uclass_priv(dev);
+	struct vidconsole_ctx *ctx = vidconsole_ctx(dev);
 	struct vidconsole_ops *ops = vidconsole_get_ops(dev);
 	int ret;
 
@@ -686,8 +688,8 @@  int vidconsole_nominal(struct udevice *dev, const char *name, uint size,
 	bbox->valid = true;
 	bbox->x0 = 0;
 	bbox->y0 = 0;
-	bbox->x1 = priv->x_charsize * num_chars;
-	bbox->y1 = priv->y_charsize;
+	bbox->x1 = ctx->x_charsize * num_chars;
+	bbox->y1 = ctx->y_charsize;
 
 	return 0;
 }
@@ -880,10 +882,11 @@  static int vidconsole_pre_probe(struct udevice *dev)
 static int vidconsole_post_probe(struct udevice *dev)
 {
 	struct vidconsole_priv *priv = dev_get_uclass_priv(dev);
+	struct vidconsole_ctx *ctx = vidconsole_ctx_from_priv(priv);
 	struct stdio_dev *sdev = &priv->sdev;
 
 	if (!priv->tab_width_frac)
-		priv->tab_width_frac = VID_TO_POS(priv->x_charsize) * 8;
+		priv->tab_width_frac = VID_TO_POS(ctx->x_charsize) * 8;
 
 	if (dev_seq(dev)) {
 		snprintf(sdev->name, sizeof(sdev->name), "vidconsole%d",
@@ -932,13 +935,13 @@  int vidconsole_clear_and_reset(struct udevice *dev)
 
 void vidconsole_position_cursor(struct udevice *dev, unsigned col, unsigned row)
 {
-	struct vidconsole_priv *priv = dev_get_uclass_priv(dev);
+	struct vidconsole_ctx *ctx = vidconsole_ctx(dev);
 	struct udevice *vid_dev = dev->parent;
 	struct video_priv *vid_priv = dev_get_uclass_priv(vid_dev);
 	short x, y;
 
-	x = min_t(short, col * priv->x_charsize, vid_priv->xsize - 1);
-	y = min_t(short, row * priv->y_charsize, vid_priv->ysize - 1);
+	x = min_t(short, col * ctx->x_charsize, vid_priv->xsize - 1);
+	y = min_t(short, row * ctx->y_charsize, vid_priv->ysize - 1);
 	vidconsole_set_cursor_pos(dev, x, y);
 }
 
@@ -961,8 +964,8 @@  void vidconsole_set_bitmap_font(struct udevice *dev,
 	log_debug("byte width: %d\n", fontdata->byte_width);
 	log_debug("height: %d\n", fontdata->height);
 
-	vc_priv->x_charsize = fontdata->width;
-	vc_priv->y_charsize = fontdata->height;
+	ctx->x_charsize = fontdata->width;
+	ctx->y_charsize = fontdata->height;
 	if (vid_priv->rot % 2) {
 		ctx->cols = vid_priv->ysize / fontdata->width;
 		ctx->rows = vid_priv->xsize / fontdata->height;
diff --git a/drivers/video/video-uclass.c b/drivers/video/video-uclass.c
index 75b13481380..5dd6df8468e 100644
--- a/drivers/video/video-uclass.c
+++ b/drivers/video/video-uclass.c
@@ -665,13 +665,13 @@  static int show_splash(struct udevice *dev)
 
 int video_default_font_height(struct udevice *dev)
 {
-	struct vidconsole_priv *vc_priv = dev_get_uclass_priv(dev);
+	struct vidconsole_ctx *ctx = vidconsole_ctx(dev);
 
 	if (IS_ENABLED(CONFIG_CONSOLE_TRUETYPE))
 		return IF_ENABLED_INT(CONFIG_CONSOLE_TRUETYPE,
 				      CONFIG_CONSOLE_TRUETYPE_SIZE);
 
-	return vc_priv->y_charsize;
+	return ctx->y_charsize;
 }
 
 static void video_idle(struct cyclic_info *cyc)
diff --git a/include/video_console.h b/include/video_console.h
index ec07c4e2286..0d0e6edbfb7 100644
--- a/include/video_console.h
+++ b/include/video_console.h
@@ -79,19 +79,23 @@  struct vidconsole_cursor {
  * This holds per-client state for video consoles. It can be used by clients
  * to maintain separate contexts for different text-entry operations.
  *
- * @rows:	Number of text rows
- * @cols:	Number of text columns
+ * @rows:		Number of text rows
+ * @cols:		Number of text columns
+ * @x_charsize:		Character width in pixels
+ * @y_charsize:		Character height in pixels
  */
 struct vidconsole_ctx {
 	int rows;
 	int cols;
+	int x_charsize;
+	int y_charsize;
 };
 
 /**
  * struct vidconsole_priv - uclass-private data about a console device
  *
- * Drivers must set up @ctx.rows, @ctx.cols, @x_charsize, @y_charsize in their
- * probe() method. Drivers may set up @xstart_frac if desired.
+ * Drivers must set up @ctx.rows, @ctx.cols, @ctx.x_charsize, @ctx.y_charsize
+ * in their probe() method. Drivers may set up @xstart_frac if desired.
  *
  * Note that these values relate to the rotated console, so that an 80x25
  * console which is rotated 90 degrees will have rows=80 and cols=25
@@ -105,8 +109,6 @@  struct vidconsole_ctx {
  * @xcur_frac:		Current X position, in fractional units (VID_TO_POS(x))
  * @ycur:		Current Y position in pixels (0=top)
  * @ctx:		Per-client context
- * @x_charsize:		Character width in pixels
- * @y_charsize:		Character height in pixels
  * @tab_width_frac:	Tab width in fractional units
  * @xsize_frac:		Width of the display in fractional units
  * @xstart_frac:	Left margin for the text console in fractional units
@@ -128,8 +130,6 @@  struct vidconsole_priv {
 	struct vidconsole_ctx ctx;
 	int xcur_frac;
 	int ycur;
-	int x_charsize;
-	int y_charsize;
 	int tab_width_frac;
 	int xsize_frac;
 	int xstart_frac;