From: Jiri Slaby <jslaby@suse.cz>
To: gregkh@linuxfoundation.org
Cc: linux-serial@vger.kernel.org, linux-kernel@vger.kernel.org,
Jiri Slaby <jslaby@suse.cz>
Subject: [PATCH 05/38] vt: switch G0/1_charset to an array
Date: Mon, 15 Jun 2020 09:48:37 +0200 [thread overview]
Message-ID: <20200615074910.19267-5-jslaby@suse.cz> (raw)
In-Reply-To: <20200615074910.19267-1-jslaby@suse.cz>
Declare Gx_charset[2] instead of G0_charset and G1_charset. It makes
the code simpler (without ternary operators).
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
---
drivers/tty/vt/vt.c | 19 ++++++++-----------
include/linux/console_struct.h | 6 ++----
2 files changed, 10 insertions(+), 15 deletions(-)
diff --git a/drivers/tty/vt/vt.c b/drivers/tty/vt/vt.c
index 729c7c8c682b..4e79cda0c2be 100644
--- a/drivers/tty/vt/vt.c
+++ b/drivers/tty/vt/vt.c
@@ -1743,9 +1743,7 @@ static void csi_m(struct vc_data *vc)
* Select primary font, don't display control chars if
* defined, don't set bit 8 on output.
*/
- vc->vc_translate = set_translate(vc->state.charset == 0
- ? vc->state.G0_charset
- : vc->state.G1_charset, vc);
+ vc->vc_translate = set_translate(vc->state.Gx_charset[vc->state.charset], vc);
vc->vc_disp_ctrl = 0;
vc->vc_toggle_meta = 0;
break;
@@ -2041,8 +2039,8 @@ static void restore_cur(struct vc_data *vc)
memcpy(&vc->state, &vc->saved_state, sizeof(vc->state));
gotoxy(vc, vc->state.x, vc->state.y);
- vc->vc_translate = set_translate(vc->state.charset ? vc->state.G1_charset :
- vc->state.G0_charset, vc);
+ vc->vc_translate = set_translate(vc->state.Gx_charset[vc->state.charset],
+ vc);
update_attr(vc);
vc->vc_need_wrap = 0;
}
@@ -2059,8 +2057,8 @@ static void reset_terminal(struct vc_data *vc, int do_clear)
vc->vc_state = ESnormal;
vc->vc_priv = EPecma;
vc->vc_translate = set_translate(LAT1_MAP, vc);
- vc->state.G0_charset = LAT1_MAP;
- vc->state.G1_charset = GRAF_MAP;
+ vc->state.Gx_charset[0] = LAT1_MAP;
+ vc->state.Gx_charset[1] = GRAF_MAP;
vc->state.charset = 0;
vc->vc_need_wrap = 0;
vc->vc_report_mouse = 0;
@@ -2105,8 +2103,7 @@ static void reset_terminal(struct vc_data *vc, int do_clear)
static void vc_setGx(struct vc_data *vc, unsigned int which, int c)
{
- unsigned char *charset = which == 0 ? &vc->state.G0_charset :
- &vc->state.G1_charset;
+ unsigned char *charset = &vc->state.Gx_charset[which];
switch (c) {
case '0':
@@ -2168,12 +2165,12 @@ static void do_con_trol(struct tty_struct *tty, struct vc_data *vc, int c)
return;
case 14:
vc->state.charset = 1;
- vc->vc_translate = set_translate(vc->state.G1_charset, vc);
+ vc->vc_translate = set_translate(vc->state.Gx_charset[1], vc);
vc->vc_disp_ctrl = 1;
return;
case 15:
vc->state.charset = 0;
- vc->vc_translate = set_translate(vc->state.G0_charset, vc);
+ vc->vc_translate = set_translate(vc->state.Gx_charset[0], vc);
vc->vc_disp_ctrl = 0;
return;
case 24: case 26:
diff --git a/include/linux/console_struct.h b/include/linux/console_struct.h
index fa1abffe64be..623e86689c3a 100644
--- a/include/linux/console_struct.h
+++ b/include/linux/console_struct.h
@@ -34,8 +34,7 @@ enum vc_intensity {
* @x: cursor's x-position
* @y: cursor's y-position
* @color: foreground & background colors
- * @G0_charset: what's G0 slot set to (like GRAF_MAP, LAT1_MAP)
- * @G1_charset: what's G1 slot set to (like GRAF_MAP, LAT1_MAP)
+ * @Gx_charset: what's G0/G1 slot set to (like GRAF_MAP, LAT1_MAP)
* @charset: what character set to use (0=G0 or 1=G1)
* @intensity: see enum vc_intensity for values
* @reverse: reversed foreground/background colors
@@ -48,8 +47,7 @@ struct vc_state {
unsigned char color;
- unsigned char G0_charset;
- unsigned char G1_charset;
+ unsigned char Gx_charset[2];
unsigned int charset : 1;
/* attribute flags */
--
2.27.0
next prev parent reply other threads:[~2020-06-15 7:51 UTC|newest]
Thread overview: 39+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-06-15 7:48 [PATCH 01/38] vc: separate state Jiri Slaby
2020-06-15 7:48 ` [PATCH 02/38] vt: introduce enum vc_intensity for intensity Jiri Slaby
2020-06-15 7:48 ` [PATCH 03/38] vc: switch state to bool Jiri Slaby
2020-06-15 7:48 ` [PATCH 04/38] vt: deduplicate setGx code Jiri Slaby
2020-06-15 7:48 ` Jiri Slaby [this message]
2020-06-15 7:48 ` [PATCH 06/38] vt: convert vc_tab_stop to bitmap Jiri Slaby
2020-06-15 7:48 ` [PATCH 07/38] vt: remove 25 years stale comment Jiri Slaby
2020-06-15 7:48 ` [PATCH 08/38] vt: use tty_insert_flip_string in respond_string Jiri Slaby
2020-06-15 7:48 ` [PATCH 09/38] vt: get rid of VT10.ID macros Jiri Slaby
2020-06-15 7:48 ` [PATCH 10/38] vt: move vc_translate to vt.c and rename it Jiri Slaby
2020-06-15 7:48 ` [PATCH 11/38] vt: use modern types in do_con_write Jiri Slaby
2020-06-15 7:48 ` [PATCH 12/38] vt: separate unicode handling into vc_translate_unicode Jiri Slaby
2020-06-15 7:48 ` [PATCH 13/38] vt: rearrange vc_translate_unicode Jiri Slaby
2020-06-15 7:48 ` [PATCH 14/38] vt: extract attribute inversion to vc_invert_attr Jiri Slaby
2020-06-15 7:48 ` [PATCH 15/38] vt: move rescan_last_byte label earlier Jiri Slaby
2020-06-15 7:48 ` [PATCH 16/38] vc: move translation out of do_con_write Jiri Slaby
2020-06-15 7:48 ` [PATCH 17/38] vc: introduce struct vc_draw_region Jiri Slaby
2020-06-15 7:48 ` [PATCH 18/38] vc: extract detecting control characters from do_con_write Jiri Slaby
2020-06-15 7:48 ` [PATCH 19/38] vc: move normal char processing " Jiri Slaby
2020-06-15 7:48 ` [PATCH 20/38] vc: simplify condition in vc_con_write_normal Jiri Slaby
2020-06-15 7:48 ` [PATCH 21/38] vt: simplify vc_attr handling " Jiri Slaby
2020-06-15 7:48 ` [PATCH 22/38] vt: make tc write more obvious " Jiri Slaby
2020-06-15 7:48 ` [PATCH 23/38] vt: synchronize types and use min in csi_X Jiri Slaby
2020-06-15 7:48 ` [PATCH 24/38] vt: whitespace and paren cleanup in add_softcursor Jiri Slaby
2020-06-15 7:48 ` [PATCH 25/38] vt: redefine world of cursor macros Jiri Slaby
2020-06-15 7:48 ` [PATCH 26/38] vt: use newly defined CUR_* macros Jiri Slaby
2020-06-15 20:31 ` Helge Deller
2020-06-15 7:48 ` [PATCH 27/38] vt: remove superfluous parens in invert_screen and build_attr Jiri Slaby
2020-06-15 7:49 ` [PATCH 28/38] vt: simplify noncolor attributes in build_attr Jiri Slaby
2020-06-15 7:49 ` [PATCH 29/38] vt_ioctl: eliminate ret & breaks in vt_ioctl Jiri Slaby
2020-06-15 7:49 ` [PATCH 30/38] vt_ioctl: eliminate use of uival and ucval Jiri Slaby
2020-06-15 7:49 ` [PATCH 31/38] vt_ioctl: move K* ioctls to a separate function Jiri Slaby
2020-06-15 7:49 ` [PATCH 32/38] vt_ioctl: move io " Jiri Slaby
2020-06-15 7:49 ` [PATCH 33/38] vt_ioctl: move vt_setactivate out of vt_ioctl Jiri Slaby
2020-06-15 7:49 ` [PATCH 34/38] vt_ioctl: move vt_reldisp " Jiri Slaby
2020-06-15 7:49 ` [PATCH 35/38] vt_ioctl: move vt_resizex " Jiri Slaby
2020-06-15 7:49 ` [PATCH 36/38] vt_ioctl: move vt_io_fontreset out of vt_io_ioctl Jiri Slaby
2020-06-15 7:49 ` [PATCH 37/38] vt_ioctl: move vt_kdsetmode out of vt_k_ioctl Jiri Slaby
2020-06-15 7:49 ` [PATCH 38/38] vt_ioctl: move perm checks level up Jiri Slaby
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20200615074910.19267-5-jslaby@suse.cz \
--to=jslaby@suse.cz \
--cc=gregkh@linuxfoundation.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-serial@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).