#include <video_console.h>
#ifndef CONFIG_CONSOLE_SCROLL_LINES
#define CONFIG_CONSOLE_SCROLL_LINES 1
int vidconsole_putc_xy(struct udevice *dev, uint x, uint y, char ch)
struct vidconsole_ops *ops = vidconsole_get_ops(dev);
return ops->putc_xy(dev, x, y, ch);
int vidconsole_move_rows(struct udevice *dev, uint rowdst, uint rowsrc,
struct vidconsole_ops *ops = vidconsole_get_ops(dev);
return ops->move_rows(dev, rowdst, rowsrc, count);
int vidconsole_set_row(struct udevice *dev, uint row, int clr)
struct vidconsole_ops *ops = vidconsole_get_ops(dev);
return ops->set_row(dev, row, clr);
static int vidconsole_entry_start(struct udevice *dev)
struct vidconsole_ops *ops = vidconsole_get_ops(dev);
return ops->entry_start(dev);
static int vidconsole_back(struct udevice *dev)
struct vidconsole_priv *priv = dev_get_uclass_priv(dev);
struct vidconsole_ops *ops = vidconsole_get_ops(dev);
ret = ops->backspace(dev);
priv->xcur_frac -= VID_TO_POS(priv->x_charsize);
if (priv->xcur_frac < priv->xstart_frac) {
priv->xcur_frac = (priv->cols - 1) *
VID_TO_POS(priv->x_charsize);
priv->ycur -= priv->y_charsize;
video_sync(dev->parent, false);