vc_translate is used only in vt.c, so move the definition from a header there. Also, it used to be a macro, so be modern and make a static inline from it. This makes the code actually readable. And as a preparation for next patches, rename it to vc_translate_ascii. vc_translate will be a wrapper for both unicode and this one.
Unified · Split
| @@ -2560,6 +2560,18 @@ static void con_flush(struct vc_data *vc, unsigned long draw_from, · 2559 unmodified lines | ||
| 2560 | 2560 | *draw_x = -1; |
| 2561 | 2561 | } |
| 2562 | 2562 | |
| 2563 | +static inline int vc_translate_ascii(const struct vc_data *vc, int c) | |
| 2564 | +{ | |
| 2565 | + if (IS_ENABLED(CONFIG_CONSOLE_TRANSLATIONS)) { | |
| 2566 | + if (vc->vc_toggle_meta) | |
| 2567 | + c |= 0x80; | |
| 2568 | + | |
| 2569 | + return vc->vc_translate[c]; | |
| 2570 | + } | |
| 2571 | + | |
| 2572 | + return c; | |
| 2573 | +} | |
| 2574 | + | |
| 2563 | 2575 | /* acquires console_lock */ |
| 2564 | 2576 | static int do_con_write(struct tty_struct *tty, const unsigned char *buf, int count) |
| 2565 | 2577 | { |
| @@ -2687,7 +2699,7 @@ rescan_last_byte: · 121 unmodified lines | ||
| 2687 | 2699 | c = 0xfffd; |
| 2688 | 2700 | tc = c; |
| 2689 | 2701 | } else { /* no utf or alternate charset mode */ |
| 2690 | − tc = vc_translate(vc, c); | |
| 2702 | + tc = vc_translate_ascii(vc, c); | |
| 2691 | 2703 | } |
| 2692 | 2704 | |
| 2693 | 2705 | param.c = tc; |
| @@ -74,8 +74,6 @@ int con_set_default_unimap(struct vc_data *vc); · 73 unmodified lines | ||
| 74 | 74 | void con_free_unimap(struct vc_data *vc); |
| 75 | 75 | int con_copy_unimap(struct vc_data *dst_vc, struct vc_data *src_vc); |
| 76 | 76 | |
| 77 | −#define vc_translate(vc, c) ((vc)->vc_translate[(c) | \ | |
| 78 | − ((vc)->vc_toggle_meta ? 0x80 : 0)]) | |
| 79 | 77 | #else |
| 80 | 78 | static inline int con_set_trans_old(unsigned char __user *table) |
| 81 | 79 | { |
| @@ -124,7 +122,6 @@ int con_copy_unimap(struct vc_data *dst_vc, struct vc_data *src_vc) · 42 unmodified lines | ||
| 124 | 122 | return 0; |
| 125 | 123 | } |
| 126 | 124 | |
| 127 | −#define vc_translate(vc, c) (c) | |
| 128 | 125 | #endif |
| 129 | 126 | |
| 130 | 127 | /* vt.c */ |