aboutsummaryrefslogtreecommitdiff
path: root/drivers/video/vidconsole-uclass.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/video/vidconsole-uclass.c')
-rw-r--r--drivers/video/vidconsole-uclass.c23
1 files changed, 23 insertions, 0 deletions
diff --git a/drivers/video/vidconsole-uclass.c b/drivers/video/vidconsole-uclass.c
index 72a13d3052..1225de2333 100644
--- a/drivers/video/vidconsole-uclass.c
+++ b/drivers/video/vidconsole-uclass.c
@@ -575,6 +575,17 @@ int vidconsole_get_font(struct udevice *dev, int seq,
return ops->get_font(dev, seq, info);
}
+int vidconsole_get_font_size(struct udevice *dev, const char **name, uint *sizep)
+{
+ struct vidconsole_ops *ops = vidconsole_get_ops(dev);
+
+ if (!ops->get_font_size)
+ return -ENOSYS;
+
+ *name = ops->get_font_size(dev, sizep);
+ return 0;
+}
+
int vidconsole_select_font(struct udevice *dev, const char *name, uint size)
{
struct vidconsole_ops *ops = vidconsole_get_ops(dev);
@@ -645,6 +656,18 @@ int vidconsole_memmove(struct udevice *dev, void *dst, const void *src,
}
#endif
+int vidconsole_clear_and_reset(struct udevice *dev)
+{
+ int ret;
+
+ ret = video_clear(dev_get_parent(dev));
+ if (ret)
+ return ret;
+ vidconsole_position_cursor(dev, 0, 0);
+
+ return 0;
+}
+
void vidconsole_position_cursor(struct udevice *dev, unsigned col, unsigned row)
{
struct vidconsole_priv *priv = dev_get_uclass_priv(dev);