summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
Diffstat (limited to 'drivers')
-rw-r--r--drivers/video/vidconsole-uclass.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/drivers/video/vidconsole-uclass.c b/drivers/video/vidconsole-uclass.c
index a21fde0e1d4..3f89537c47b 100644
--- a/drivers/video/vidconsole-uclass.c
+++ b/drivers/video/vidconsole-uclass.c
@@ -596,6 +596,26 @@ int vidconsole_select_font(struct udevice *dev, const char *name, uint size)
return ops->select_font(dev, name, size);
}
+void vidconsole_push_colour(struct udevice *dev, enum colour_idx fg,
+ enum colour_idx bg, struct vidconsole_colour *old)
+{
+ struct video_priv *vid_priv = dev_get_uclass_priv(dev->parent);
+
+ old->colour_fg = vid_priv->colour_fg;
+ old->colour_bg = vid_priv->colour_bg;
+
+ vid_priv->colour_fg = video_index_to_colour(vid_priv, fg);
+ vid_priv->colour_bg = video_index_to_colour(vid_priv, bg);
+}
+
+void vidconsole_pop_colour(struct udevice *dev, struct vidconsole_colour *old)
+{
+ struct video_priv *vid_priv = dev_get_uclass_priv(dev->parent);
+
+ vid_priv->colour_fg = old->colour_fg;
+ vid_priv->colour_bg = old->colour_bg;
+}
+
/* Set up the number of rows and colours (rotated drivers override this) */
static int vidconsole_pre_probe(struct udevice *dev)
{