* [PATCH v1 0/2] tty/vt: Cleanups for keyboard driver
@ 2025-02-18 12:29 Alexey Gladkov
2025-02-18 12:29 ` [PATCH v1 1/2] tty/vt: Use KVAL instead of use bit operation Alexey Gladkov
` (2 more replies)
0 siblings, 3 replies; 11+ messages in thread
From: Alexey Gladkov @ 2025-02-18 12:29 UTC (permalink / raw)
To: Greg Kroah-Hartman, Jiri Slaby; +Cc: LKML, linux-serial
This is a few minor cleanups I found in keybord driver. There's nothing
important here and these changes just slightly improve readability.
Alexey Gladkov (2):
tty/vt: Use KVAL instead of use bit operation
tty/vt: Gather the code that outputs char with utf8 in mind
drivers/tty/vt/keyboard.c | 39 ++++++++++++++++-----------------------
1 file changed, 16 insertions(+), 23 deletions(-)
--
2.48.1
^ permalink raw reply [flat|nested] 11+ messages in thread
* [PATCH v1 1/2] tty/vt: Use KVAL instead of use bit operation
2025-02-18 12:29 [PATCH v1 0/2] tty/vt: Cleanups for keyboard driver Alexey Gladkov
@ 2025-02-18 12:29 ` Alexey Gladkov
2025-02-19 6:24 ` Jiri Slaby
2025-02-18 12:29 ` [PATCH v1 2/2] tty/vt: Gather the code that outputs char with utf8 in mind Alexey Gladkov
2025-02-21 12:43 ` [PATCH v2 0/2] tty/vt: Cleanups for keyboard driver Alexey Gladkov
2 siblings, 1 reply; 11+ messages in thread
From: Alexey Gladkov @ 2025-02-18 12:29 UTC (permalink / raw)
To: Greg Kroah-Hartman, Jiri Slaby; +Cc: LKML, linux-serial
The K_HANDLERS always gets KVAL as an argument. It is better to use the
KVAL macro itself instead of bit operation.
Signed-off-by: Alexey Gladkov <legion@kernel.org>
---
drivers/tty/vt/keyboard.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/tty/vt/keyboard.c b/drivers/tty/vt/keyboard.c
index 804355da46f5..7df041ac4d5c 100644
--- a/drivers/tty/vt/keyboard.c
+++ b/drivers/tty/vt/keyboard.c
@@ -885,7 +885,7 @@ static void k_shift(struct vc_data *vc, unsigned char value, char up_flag)
if (kbd->kbdmode == VC_UNICODE)
to_utf8(vc, npadch_value);
else
- put_queue(vc, npadch_value & 0xff);
+ put_queue(vc, KVAL(npadch_value));
npadch_active = false;
}
}
@@ -1519,7 +1519,7 @@ static void kbd_keycode(unsigned int keycode, int down, bool hw_raw)
if ((raw_mode || kbd->kbdmode == VC_OFF) && type != KT_SPEC && type != KT_SHIFT)
return;
- (*k_handler[type])(vc, keysym & 0xff, !down);
+ (*k_handler[type])(vc, KVAL(keysym), !down);
param.ledstate = kbd->ledflagstate;
atomic_notifier_call_chain(&keyboard_notifier_list, KBD_POST_KEYSYM, ¶m);
--
2.48.1
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCH v1 2/2] tty/vt: Gather the code that outputs char with utf8 in mind
2025-02-18 12:29 [PATCH v1 0/2] tty/vt: Cleanups for keyboard driver Alexey Gladkov
2025-02-18 12:29 ` [PATCH v1 1/2] tty/vt: Use KVAL instead of use bit operation Alexey Gladkov
@ 2025-02-18 12:29 ` Alexey Gladkov
2025-02-19 6:26 ` Jiri Slaby
2025-02-21 12:43 ` [PATCH v2 0/2] tty/vt: Cleanups for keyboard driver Alexey Gladkov
2 siblings, 1 reply; 11+ messages in thread
From: Alexey Gladkov @ 2025-02-18 12:29 UTC (permalink / raw)
To: Greg Kroah-Hartman, Jiri Slaby; +Cc: LKML, linux-serial
When we putting character to the tty, we take into account the keyboard
mode to properly handle utf8. This code is duplicated few times.
Signed-off-by: Alexey Gladkov <legion@kernel.org>
---
drivers/tty/vt/keyboard.c | 35 ++++++++++++++---------------------
1 file changed, 14 insertions(+), 21 deletions(-)
diff --git a/drivers/tty/vt/keyboard.c b/drivers/tty/vt/keyboard.c
index 7df041ac4d5c..eb32bf00fe7b 100644
--- a/drivers/tty/vt/keyboard.c
+++ b/drivers/tty/vt/keyboard.c
@@ -376,6 +376,17 @@ static void to_utf8(struct vc_data *vc, uint c)
}
}
+static void put_queue_utf8(struct vc_data *vc, u32 value)
+{
+ if (kbd->kbdmode == VC_UNICODE)
+ to_utf8(vc, value);
+ else {
+ int c = conv_uni_to_8bit(value);
+ if (c != -1)
+ put_queue(vc, c);
+ }
+}
+
/* FIXME: review locking for vt.c callers */
static void set_leds(void)
{
@@ -454,13 +465,7 @@ static unsigned int handle_diacr(struct vc_data *vc, unsigned int ch)
if (ch == ' ' || ch == (BRL_UC_ROW|0) || ch == d)
return d;
- if (kbd->kbdmode == VC_UNICODE)
- to_utf8(vc, d);
- else {
- int c = conv_uni_to_8bit(d);
- if (c != -1)
- put_queue(vc, c);
- }
+ put_queue_utf8(vc, d);
return ch;
}
@@ -471,13 +476,7 @@ static unsigned int handle_diacr(struct vc_data *vc, unsigned int ch)
static void fn_enter(struct vc_data *vc)
{
if (diacr) {
- if (kbd->kbdmode == VC_UNICODE)
- to_utf8(vc, diacr);
- else {
- int c = conv_uni_to_8bit(diacr);
- if (c != -1)
- put_queue(vc, c);
- }
+ put_queue_utf8(vc, diacr);
diacr = 0;
}
@@ -685,13 +684,7 @@ static void k_unicode(struct vc_data *vc, unsigned int value, char up_flag)
diacr = value;
return;
}
- if (kbd->kbdmode == VC_UNICODE)
- to_utf8(vc, value);
- else {
- int c = conv_uni_to_8bit(value);
- if (c != -1)
- put_queue(vc, c);
- }
+ put_queue_utf8(vc, value);
}
/*
--
2.48.1
^ permalink raw reply related [flat|nested] 11+ messages in thread
* Re: [PATCH v1 1/2] tty/vt: Use KVAL instead of use bit operation
2025-02-18 12:29 ` [PATCH v1 1/2] tty/vt: Use KVAL instead of use bit operation Alexey Gladkov
@ 2025-02-19 6:24 ` Jiri Slaby
2025-02-19 9:23 ` Alexey Gladkov
0 siblings, 1 reply; 11+ messages in thread
From: Jiri Slaby @ 2025-02-19 6:24 UTC (permalink / raw)
To: Alexey Gladkov, Greg Kroah-Hartman; +Cc: LKML, linux-serial
On 18. 02. 25, 13:29, Alexey Gladkov wrote:
> The K_HANDLERS always gets KVAL as an argument. It is better to use the
> KVAL macro itself instead of bit operation.
>
> Signed-off-by: Alexey Gladkov <legion@kernel.org>
> ---
> drivers/tty/vt/keyboard.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/tty/vt/keyboard.c b/drivers/tty/vt/keyboard.c
> index 804355da46f5..7df041ac4d5c 100644
> --- a/drivers/tty/vt/keyboard.c
> +++ b/drivers/tty/vt/keyboard.c
> @@ -885,7 +885,7 @@ static void k_shift(struct vc_data *vc, unsigned char value, char up_flag)
> if (kbd->kbdmode == VC_UNICODE)
> to_utf8(vc, npadch_value);
> else
> - put_queue(vc, npadch_value & 0xff);
> + put_queue(vc, KVAL(npadch_value));
While the mask is the same, this is not a kval, right?
> npadch_active = false;
> }
> }
> @@ -1519,7 +1519,7 @@ static void kbd_keycode(unsigned int keycode, int down, bool hw_raw)
> if ((raw_mode || kbd->kbdmode == VC_OFF) && type != KT_SPEC && type != KT_SHIFT)
> return;
>
> - (*k_handler[type])(vc, keysym & 0xff, !down);
> + (*k_handler[type])(vc, KVAL(keysym), !down);
This makes sense.
--
js
suse labs
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH v1 2/2] tty/vt: Gather the code that outputs char with utf8 in mind
2025-02-18 12:29 ` [PATCH v1 2/2] tty/vt: Gather the code that outputs char with utf8 in mind Alexey Gladkov
@ 2025-02-19 6:26 ` Jiri Slaby
0 siblings, 0 replies; 11+ messages in thread
From: Jiri Slaby @ 2025-02-19 6:26 UTC (permalink / raw)
To: Alexey Gladkov, Greg Kroah-Hartman; +Cc: LKML, linux-serial
On 18. 02. 25, 13:29, Alexey Gladkov wrote:
> When we putting character to the tty, we take into account the keyboard
> mode to properly handle utf8. This code is duplicated few times.
>
> Signed-off-by: Alexey Gladkov <legion@kernel.org>
Reviewed-by: Jiri Slaby <jirislaby@kernel.org>
thanks,
--
js
suse labs
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH v1 1/2] tty/vt: Use KVAL instead of use bit operation
2025-02-19 6:24 ` Jiri Slaby
@ 2025-02-19 9:23 ` Alexey Gladkov
2025-02-19 9:33 ` Jiri Slaby
0 siblings, 1 reply; 11+ messages in thread
From: Alexey Gladkov @ 2025-02-19 9:23 UTC (permalink / raw)
To: Jiri Slaby; +Cc: Greg Kroah-Hartman, LKML, linux-serial
On Wed, Feb 19, 2025 at 07:24:52AM +0100, Jiri Slaby wrote:
> On 18. 02. 25, 13:29, Alexey Gladkov wrote:
> > The K_HANDLERS always gets KVAL as an argument. It is better to use the
> > KVAL macro itself instead of bit operation.
> >
> > Signed-off-by: Alexey Gladkov <legion@kernel.org>
> > ---
> > drivers/tty/vt/keyboard.c | 4 ++--
> > 1 file changed, 2 insertions(+), 2 deletions(-)
> >
> > diff --git a/drivers/tty/vt/keyboard.c b/drivers/tty/vt/keyboard.c
> > index 804355da46f5..7df041ac4d5c 100644
> > --- a/drivers/tty/vt/keyboard.c
> > +++ b/drivers/tty/vt/keyboard.c
> > @@ -885,7 +885,7 @@ static void k_shift(struct vc_data *vc, unsigned char value, char up_flag)
> > if (kbd->kbdmode == VC_UNICODE)
> > to_utf8(vc, npadch_value);
> > else
> > - put_queue(vc, npadch_value & 0xff);
> > + put_queue(vc, KVAL(npadch_value));
>
> While the mask is the same, this is not a kval, right?
I'm pretty sure it's KVAL, but to be honest I don't understand why it is
not done for to_utf8() as well. All values passed to to_utf8() must be
kval.
We call to_utf8() in k_unicode, fn_enter (through k_spec), handle_diacr
(through k_deadunicode or k_unicode). All K_HANDLERS take KVAL as value.
If I understand this code correctly, it is more correct to write it like
this:
--- a/drivers/tty/vt/keyboard.c
+++ b/drivers/tty/vt/keyboard.c
@@ -882,10 +882,11 @@ static void k_shift(struct vc_data *vc, unsigned char value, char up_flag)
/* kludge */
if (up_flag && shift_state != old_state && npadch_active) {
+ u32 kval = KVAL(npadch_value);
if (kbd->kbdmode == VC_UNICODE)
- to_utf8(vc, npadch_value);
+ to_utf8(vc, kval);
else
- put_queue(vc, npadch_value & 0xff);
+ put_queue(vc, kval);
npadch_active = false;
}
}
But I may be wrong because the code about npadch_value is very old and I
may be missing something.
> > npadch_active = false;
> > }
> > }
> > @@ -1519,7 +1519,7 @@ static void kbd_keycode(unsigned int keycode, int down, bool hw_raw)
> > if ((raw_mode || kbd->kbdmode == VC_OFF) && type != KT_SPEC && type != KT_SHIFT)
> > return;
> >
> > - (*k_handler[type])(vc, keysym & 0xff, !down);
> > + (*k_handler[type])(vc, KVAL(keysym), !down);
>
> This makes sense.
>
> --
> js
> suse labs
>
--
Rgrds, legion
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH v1 1/2] tty/vt: Use KVAL instead of use bit operation
2025-02-19 9:23 ` Alexey Gladkov
@ 2025-02-19 9:33 ` Jiri Slaby
2025-02-19 11:53 ` Alexey Gladkov
0 siblings, 1 reply; 11+ messages in thread
From: Jiri Slaby @ 2025-02-19 9:33 UTC (permalink / raw)
To: Alexey Gladkov; +Cc: Greg Kroah-Hartman, LKML, linux-serial
On 19. 02. 25, 10:23, Alexey Gladkov wrote:
> On Wed, Feb 19, 2025 at 07:24:52AM +0100, Jiri Slaby wrote:
>> On 18. 02. 25, 13:29, Alexey Gladkov wrote:
>>> The K_HANDLERS always gets KVAL as an argument. It is better to use the
>>> KVAL macro itself instead of bit operation.
>>>
>>> Signed-off-by: Alexey Gladkov <legion@kernel.org>
>>> ---
>>> drivers/tty/vt/keyboard.c | 4 ++--
>>> 1 file changed, 2 insertions(+), 2 deletions(-)
>>>
>>> diff --git a/drivers/tty/vt/keyboard.c b/drivers/tty/vt/keyboard.c
>>> index 804355da46f5..7df041ac4d5c 100644
>>> --- a/drivers/tty/vt/keyboard.c
>>> +++ b/drivers/tty/vt/keyboard.c
>>> @@ -885,7 +885,7 @@ static void k_shift(struct vc_data *vc, unsigned char value, char up_flag)
>>> if (kbd->kbdmode == VC_UNICODE)
>>> to_utf8(vc, npadch_value);
>>> else
>>> - put_queue(vc, npadch_value & 0xff);
>>> + put_queue(vc, KVAL(npadch_value));
>>
>> While the mask is the same, this is not a kval, right?
>
> I'm pretty sure it's KVAL, but to be honest I don't understand why it is
> not done for to_utf8() as well. All values passed to to_utf8() must be
> kval.
Not at all, it handles multibyte chars.
> We call to_utf8() in k_unicode, fn_enter (through k_spec), handle_diacr
> (through k_deadunicode or k_unicode). All K_HANDLERS take KVAL as value.
Yes, but pass unicode multibyte to to_utf8().
> If I understand this code correctly, it is more correct to write it like
> this:
>
> --- a/drivers/tty/vt/keyboard.c
> +++ b/drivers/tty/vt/keyboard.c
> @@ -882,10 +882,11 @@ static void k_shift(struct vc_data *vc, unsigned char value, char up_flag)
>
> /* kludge */
> if (up_flag && shift_state != old_state && npadch_active) {
> + u32 kval = KVAL(npadch_value);
> if (kbd->kbdmode == VC_UNICODE)
> - to_utf8(vc, npadch_value);
> + to_utf8(vc, kval);
Definitely not, as you want to pass that multibyte char in.
--
js
suse labs
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH v1 1/2] tty/vt: Use KVAL instead of use bit operation
2025-02-19 9:33 ` Jiri Slaby
@ 2025-02-19 11:53 ` Alexey Gladkov
0 siblings, 0 replies; 11+ messages in thread
From: Alexey Gladkov @ 2025-02-19 11:53 UTC (permalink / raw)
To: Jiri Slaby; +Cc: Greg Kroah-Hartman, LKML, linux-serial
On Wed, Feb 19, 2025 at 10:33:38AM +0100, Jiri Slaby wrote:
> On 19. 02. 25, 10:23, Alexey Gladkov wrote:
> > On Wed, Feb 19, 2025 at 07:24:52AM +0100, Jiri Slaby wrote:
> >> On 18. 02. 25, 13:29, Alexey Gladkov wrote:
> >>> The K_HANDLERS always gets KVAL as an argument. It is better to use the
> >>> KVAL macro itself instead of bit operation.
> >>>
> >>> Signed-off-by: Alexey Gladkov <legion@kernel.org>
> >>> ---
> >>> drivers/tty/vt/keyboard.c | 4 ++--
> >>> 1 file changed, 2 insertions(+), 2 deletions(-)
> >>>
> >>> diff --git a/drivers/tty/vt/keyboard.c b/drivers/tty/vt/keyboard.c
> >>> index 804355da46f5..7df041ac4d5c 100644
> >>> --- a/drivers/tty/vt/keyboard.c
> >>> +++ b/drivers/tty/vt/keyboard.c
> >>> @@ -885,7 +885,7 @@ static void k_shift(struct vc_data *vc, unsigned char value, char up_flag)
> >>> if (kbd->kbdmode == VC_UNICODE)
> >>> to_utf8(vc, npadch_value);
> >>> else
> >>> - put_queue(vc, npadch_value & 0xff);
> >>> + put_queue(vc, KVAL(npadch_value));
> >>
> >> While the mask is the same, this is not a kval, right?
> >
> > I'm pretty sure it's KVAL, but to be honest I don't understand why it is
> > not done for to_utf8() as well. All values passed to to_utf8() must be
> > kval.
>
> Not at all, it handles multibyte chars.
>
> > We call to_utf8() in k_unicode, fn_enter (through k_spec), handle_diacr
> > (through k_deadunicode or k_unicode). All K_HANDLERS take KVAL as value.
>
> Yes, but pass unicode multibyte to to_utf8().
>
> > If I understand this code correctly, it is more correct to write it like
> > this:
> >
> > --- a/drivers/tty/vt/keyboard.c
> > +++ b/drivers/tty/vt/keyboard.c
> > @@ -882,10 +882,11 @@ static void k_shift(struct vc_data *vc, unsigned char value, char up_flag)
> >
> > /* kludge */
> > if (up_flag && shift_state != old_state && npadch_active) {
> > + u32 kval = KVAL(npadch_value);
> > if (kbd->kbdmode == VC_UNICODE)
> > - to_utf8(vc, npadch_value);
> > + to_utf8(vc, kval);
>
> Definitely not, as you want to pass that multibyte char in.
Ok. So I misunderstood this code. I will remove this change from the next
version.
--
Rgrds, legion
^ permalink raw reply [flat|nested] 11+ messages in thread
* [PATCH v2 0/2] tty/vt: Cleanups for keyboard driver
2025-02-18 12:29 [PATCH v1 0/2] tty/vt: Cleanups for keyboard driver Alexey Gladkov
2025-02-18 12:29 ` [PATCH v1 1/2] tty/vt: Use KVAL instead of use bit operation Alexey Gladkov
2025-02-18 12:29 ` [PATCH v1 2/2] tty/vt: Gather the code that outputs char with utf8 in mind Alexey Gladkov
@ 2025-02-21 12:43 ` Alexey Gladkov
2025-02-21 12:43 ` [PATCH v2 1/2] tty/vt: Use KVAL instead of use bit operation Alexey Gladkov
2025-02-21 12:43 ` [PATCH v2 2/2] tty/vt: Gather the code that outputs char with utf8 in mind Alexey Gladkov
2 siblings, 2 replies; 11+ messages in thread
From: Alexey Gladkov @ 2025-02-21 12:43 UTC (permalink / raw)
To: Greg Kroah-Hartman, Jiri Slaby; +Cc: LKML, linux-serial
This is a few minor cleanups I found in keybord driver. There's nothing
important here and these changes just slightly improve readability.
---
v2:
* Removed the faulty use of KVAL for npadch_value.
Alexey Gladkov (2):
tty/vt: Use KVAL instead of use bit operation
tty/vt: Gather the code that outputs char with utf8 in mind
drivers/tty/vt/keyboard.c | 37 +++++++++++++++----------------------
1 file changed, 15 insertions(+), 22 deletions(-)
--
2.48.1
^ permalink raw reply [flat|nested] 11+ messages in thread
* [PATCH v2 1/2] tty/vt: Use KVAL instead of use bit operation
2025-02-21 12:43 ` [PATCH v2 0/2] tty/vt: Cleanups for keyboard driver Alexey Gladkov
@ 2025-02-21 12:43 ` Alexey Gladkov
2025-02-21 12:43 ` [PATCH v2 2/2] tty/vt: Gather the code that outputs char with utf8 in mind Alexey Gladkov
1 sibling, 0 replies; 11+ messages in thread
From: Alexey Gladkov @ 2025-02-21 12:43 UTC (permalink / raw)
To: Greg Kroah-Hartman, Jiri Slaby; +Cc: LKML, linux-serial
The K_HANDLERS always gets KVAL as an argument. It is better to use the
KVAL macro itself instead of bit operation.
Signed-off-by: Alexey Gladkov <legion@kernel.org>
---
drivers/tty/vt/keyboard.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/tty/vt/keyboard.c b/drivers/tty/vt/keyboard.c
index 804355da46f5..38d4df932f73 100644
--- a/drivers/tty/vt/keyboard.c
+++ b/drivers/tty/vt/keyboard.c
@@ -1519,7 +1519,7 @@ static void kbd_keycode(unsigned int keycode, int down, bool hw_raw)
if ((raw_mode || kbd->kbdmode == VC_OFF) && type != KT_SPEC && type != KT_SHIFT)
return;
- (*k_handler[type])(vc, keysym & 0xff, !down);
+ (*k_handler[type])(vc, KVAL(keysym), !down);
param.ledstate = kbd->ledflagstate;
atomic_notifier_call_chain(&keyboard_notifier_list, KBD_POST_KEYSYM, ¶m);
--
2.48.1
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCH v2 2/2] tty/vt: Gather the code that outputs char with utf8 in mind
2025-02-21 12:43 ` [PATCH v2 0/2] tty/vt: Cleanups for keyboard driver Alexey Gladkov
2025-02-21 12:43 ` [PATCH v2 1/2] tty/vt: Use KVAL instead of use bit operation Alexey Gladkov
@ 2025-02-21 12:43 ` Alexey Gladkov
1 sibling, 0 replies; 11+ messages in thread
From: Alexey Gladkov @ 2025-02-21 12:43 UTC (permalink / raw)
To: Greg Kroah-Hartman, Jiri Slaby; +Cc: LKML, linux-serial
When we putting character to the tty, we take into account the keyboard
mode to properly handle utf8. This code is duplicated few times.
Signed-off-by: Alexey Gladkov <legion@kernel.org>
Reviewed-by: Jiri Slaby <jirislaby@kernel.org>
---
drivers/tty/vt/keyboard.c | 35 ++++++++++++++---------------------
1 file changed, 14 insertions(+), 21 deletions(-)
diff --git a/drivers/tty/vt/keyboard.c b/drivers/tty/vt/keyboard.c
index 38d4df932f73..517db498beed 100644
--- a/drivers/tty/vt/keyboard.c
+++ b/drivers/tty/vt/keyboard.c
@@ -376,6 +376,17 @@ static void to_utf8(struct vc_data *vc, uint c)
}
}
+static void put_queue_utf8(struct vc_data *vc, u32 value)
+{
+ if (kbd->kbdmode == VC_UNICODE)
+ to_utf8(vc, value);
+ else {
+ int c = conv_uni_to_8bit(value);
+ if (c != -1)
+ put_queue(vc, c);
+ }
+}
+
/* FIXME: review locking for vt.c callers */
static void set_leds(void)
{
@@ -454,13 +465,7 @@ static unsigned int handle_diacr(struct vc_data *vc, unsigned int ch)
if (ch == ' ' || ch == (BRL_UC_ROW|0) || ch == d)
return d;
- if (kbd->kbdmode == VC_UNICODE)
- to_utf8(vc, d);
- else {
- int c = conv_uni_to_8bit(d);
- if (c != -1)
- put_queue(vc, c);
- }
+ put_queue_utf8(vc, d);
return ch;
}
@@ -471,13 +476,7 @@ static unsigned int handle_diacr(struct vc_data *vc, unsigned int ch)
static void fn_enter(struct vc_data *vc)
{
if (diacr) {
- if (kbd->kbdmode == VC_UNICODE)
- to_utf8(vc, diacr);
- else {
- int c = conv_uni_to_8bit(diacr);
- if (c != -1)
- put_queue(vc, c);
- }
+ put_queue_utf8(vc, diacr);
diacr = 0;
}
@@ -685,13 +684,7 @@ static void k_unicode(struct vc_data *vc, unsigned int value, char up_flag)
diacr = value;
return;
}
- if (kbd->kbdmode == VC_UNICODE)
- to_utf8(vc, value);
- else {
- int c = conv_uni_to_8bit(value);
- if (c != -1)
- put_queue(vc, c);
- }
+ put_queue_utf8(vc, value);
}
/*
--
2.48.1
^ permalink raw reply related [flat|nested] 11+ messages in thread
end of thread, other threads:[~2025-02-21 12:44 UTC | newest]
Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-02-18 12:29 [PATCH v1 0/2] tty/vt: Cleanups for keyboard driver Alexey Gladkov
2025-02-18 12:29 ` [PATCH v1 1/2] tty/vt: Use KVAL instead of use bit operation Alexey Gladkov
2025-02-19 6:24 ` Jiri Slaby
2025-02-19 9:23 ` Alexey Gladkov
2025-02-19 9:33 ` Jiri Slaby
2025-02-19 11:53 ` Alexey Gladkov
2025-02-18 12:29 ` [PATCH v1 2/2] tty/vt: Gather the code that outputs char with utf8 in mind Alexey Gladkov
2025-02-19 6:26 ` Jiri Slaby
2025-02-21 12:43 ` [PATCH v2 0/2] tty/vt: Cleanups for keyboard driver Alexey Gladkov
2025-02-21 12:43 ` [PATCH v2 1/2] tty/vt: Use KVAL instead of use bit operation Alexey Gladkov
2025-02-21 12:43 ` [PATCH v2 2/2] tty/vt: Gather the code that outputs char with utf8 in mind Alexey Gladkov
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.