summaryrefslogtreecommitdiff
path: root/drivers/video
diff options
context:
space:
mode:
authorSven Schnelle <svens@stackframe.org>2021-11-14 17:08:17 +0100
committerHelge Deller <deller@gmx.de>2021-11-17 11:04:02 +0100
commitbec05f33ebc1006899c6d3e59a00c58881fe7626 (patch)
treed9e689d617b6da36ee67cdcfea573fe3fc17c2e0 /drivers/video
parentfa55b7dcdc43c1aa1ba12bca9d2dd4318c2a0dbf (diff)
parisc/sticon: fix reverse colors
sticon_build_attr() checked the reverse argument and flipped background and foreground color, but returned the non-reverse value afterwards. Fix this and also add two local variables for foreground and background color to make the code easier to read. Signed-off-by: Sven Schnelle <svens@stackframe.org> Cc: <stable@vger.kernel.org> Signed-off-by: Helge Deller <deller@gmx.de>
Diffstat (limited to 'drivers/video')
-rw-r--r--drivers/video/console/sticon.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/drivers/video/console/sticon.c b/drivers/video/console/sticon.c
index 1b451165311c..40496e9e9b43 100644
--- a/drivers/video/console/sticon.c
+++ b/drivers/video/console/sticon.c
@@ -332,13 +332,13 @@ static u8 sticon_build_attr(struct vc_data *conp, u8 color,
bool blink, bool underline, bool reverse,
bool italic)
{
- u8 attr = ((color & 0x70) >> 1) | ((color & 7));
+ u8 fg = color & 7;
+ u8 bg = (color & 0x70) >> 4;
- if (reverse) {
- color = ((color >> 3) & 0x7) | ((color & 0x7) << 3);
- }
-
- return attr;
+ if (reverse)
+ return (fg << 3) | bg;
+ else
+ return (bg << 3) | fg;
}
static void sticon_invert_region(struct vc_data *conp, u16 *p, int count)