video: Move console colours to the video uclass

At present these are attached to vidconsole which means that the video
uclass requires that a console is enabled. This is not the intention.
The colours are a reasonable way of indexing common colours in any case,
so move them to the video uclass instead.

Rename vid_console_color() to video_index_to_colour() now that it is more
generic. Also fix the inconsistent spelling in these functions.

Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
Simon Glass
2022-10-06 08:36:03 -06:00
committed by Anatolij Gustschin
parent db2c8ed3a5
commit a032e4b55e
4 changed files with 104 additions and 108 deletions

View File

@@ -131,6 +131,41 @@ struct video_ops {
#define video_get_ops(dev) ((struct video_ops *)(dev)->driver->ops)
/** enum colour_idx - the 16 colors supported by consoles */
enum colour_idx {
VID_BLACK = 0,
VID_RED,
VID_GREEN,
VID_BROWN,
VID_BLUE,
VID_MAGENTA,
VID_CYAN,
VID_LIGHT_GRAY,
VID_GRAY,
VID_LIGHT_RED,
VID_LIGHT_GREEN,
VID_YELLOW,
VID_LIGHT_BLUE,
VID_LIGHT_MAGENTA,
VID_LIGHT_CYAN,
VID_WHITE,
VID_COLOUR_COUNT
};
/**
* video_index_to_colour() - convert a color code to a pixel's internal
* representation
*
* The caller has to guarantee that the color index is less than
* VID_COLOR_COUNT.
*
* @priv private data of the console device
* @idx color index
* Return: color value
*/
u32 video_index_to_colour(struct video_priv *priv, unsigned int idx);
/**
* video_reserve() - Reserve frame-buffer memory for video devices
*

View File

@@ -15,30 +15,6 @@ struct video_priv;
#define VID_TO_PIXEL(x) ((x) / VID_FRAC_DIV)
#define VID_TO_POS(x) ((x) * VID_FRAC_DIV)
/*
* The 16 colors supported by the console
*/
enum color_idx {
VID_BLACK = 0,
VID_RED,
VID_GREEN,
VID_BROWN,
VID_BLUE,
VID_MAGENTA,
VID_CYAN,
VID_LIGHT_GRAY,
VID_GRAY,
VID_LIGHT_RED,
VID_LIGTH_GREEN,
VID_YELLOW,
VID_LIGHT_BLUE,
VID_LIGHT_MAGENTA,
VID_LIGHT_CYAN,
VID_WHITE,
VID_COLOR_COUNT
};
/**
* struct vidconsole_priv - uclass-private data about a console device
*
@@ -243,19 +219,6 @@ int vidconsole_put_string(struct udevice *dev, const char *str);
void vidconsole_position_cursor(struct udevice *dev, unsigned col,
unsigned row);
/**
* vid_console_color() - convert a color code to a pixel's internal
* representation
*
* The caller has to guarantee that the color index is less than
* VID_COLOR_COUNT.
*
* @priv private data of the console device
* @idx color index
* Return: color value
*/
u32 vid_console_color(struct video_priv *priv, unsigned int idx);
#ifdef CONFIG_VIDEO_COPY
/**
* vidconsole_sync_copy() - Sync back to the copy framebuffer