Commit 4173f018 authored by Jiri Slaby's avatar Jiri Slaby Committed by Greg Kroah-Hartman

tty/vt: consolemap: rename and document struct uni_pagedir

struct uni_pagedir contains 32 unicode page directories, so the name of
the structure is a bit misleading. Rename the structure to uni_pagedict,
so it looks like this:
struct uni_pagedict
  -> 32 page dirs
     -> 32 rows
       -> 64 glyphs
Signed-off-by: default avatarJiri Slaby <jslaby@suse.cz>
Link: https://lore.kernel.org/r/20220607104946.18710-2-jslaby@suse.czSigned-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 17945d31
...@@ -186,7 +186,16 @@ static unsigned short translations[][256] = { ...@@ -186,7 +186,16 @@ static unsigned short translations[][256] = {
static int inv_translate[MAX_NR_CONSOLES]; static int inv_translate[MAX_NR_CONSOLES];
struct uni_pagedir { /**
* struct uni_pagedict -- unicode directory
*
* @uni_pgdir: 32*32*64 table with glyphs
* @refcount: reference count of this structure
* @sum: checksum
* @inverse_translations: best-effort inverse mapping
* @inverse_trans_unicode: best-effort inverse mapping to unicode
*/
struct uni_pagedict {
u16 **uni_pgdir[32]; u16 **uni_pgdir[32];
unsigned long refcount; unsigned long refcount;
unsigned long sum; unsigned long sum;
...@@ -194,9 +203,9 @@ struct uni_pagedir { ...@@ -194,9 +203,9 @@ struct uni_pagedir {
u16 *inverse_trans_unicode; u16 *inverse_trans_unicode;
}; };
static struct uni_pagedir *dflt; static struct uni_pagedict *dflt;
static void set_inverse_transl(struct vc_data *conp, struct uni_pagedir *p, int i) static void set_inverse_transl(struct vc_data *conp, struct uni_pagedict *p, int i)
{ {
int j, glyph; int j, glyph;
unsigned short *t = translations[i]; unsigned short *t = translations[i];
...@@ -221,7 +230,7 @@ static void set_inverse_transl(struct vc_data *conp, struct uni_pagedir *p, int ...@@ -221,7 +230,7 @@ static void set_inverse_transl(struct vc_data *conp, struct uni_pagedir *p, int
} }
static void set_inverse_trans_unicode(struct vc_data *conp, static void set_inverse_trans_unicode(struct vc_data *conp,
struct uni_pagedir *p) struct uni_pagedict *p)
{ {
int i, j, k, glyph; int i, j, k, glyph;
u16 **p1, *p2; u16 **p1, *p2;
...@@ -270,7 +279,7 @@ unsigned short *set_translate(int m, struct vc_data *vc) ...@@ -270,7 +279,7 @@ unsigned short *set_translate(int m, struct vc_data *vc)
*/ */
u16 inverse_translate(const struct vc_data *conp, int glyph, int use_unicode) u16 inverse_translate(const struct vc_data *conp, int glyph, int use_unicode)
{ {
struct uni_pagedir *p; struct uni_pagedict *p;
int m; int m;
if (glyph < 0 || glyph >= MAX_GLYPH) if (glyph < 0 || glyph >= MAX_GLYPH)
return 0; return 0;
...@@ -297,7 +306,7 @@ EXPORT_SYMBOL_GPL(inverse_translate); ...@@ -297,7 +306,7 @@ EXPORT_SYMBOL_GPL(inverse_translate);
static void update_user_maps(void) static void update_user_maps(void)
{ {
int i; int i;
struct uni_pagedir *p, *q = NULL; struct uni_pagedict *p, *q = NULL;
for (i = 0; i < MAX_NR_CONSOLES; i++) { for (i = 0; i < MAX_NR_CONSOLES; i++) {
if (!vc_cons_allocated(i)) if (!vc_cons_allocated(i))
...@@ -393,7 +402,7 @@ int con_get_trans_new(ushort __user * arg) ...@@ -393,7 +402,7 @@ int con_get_trans_new(ushort __user * arg)
extern u8 dfont_unicount[]; /* Defined in console_defmap.c */ extern u8 dfont_unicount[]; /* Defined in console_defmap.c */
extern u16 dfont_unitable[]; extern u16 dfont_unitable[];
static void con_release_unimap(struct uni_pagedir *p) static void con_release_unimap(struct uni_pagedict *p)
{ {
u16 **p1; u16 **p1;
int i, j; int i, j;
...@@ -419,7 +428,7 @@ static void con_release_unimap(struct uni_pagedir *p) ...@@ -419,7 +428,7 @@ static void con_release_unimap(struct uni_pagedir *p)
/* Caller must hold the console lock */ /* Caller must hold the console lock */
void con_free_unimap(struct vc_data *vc) void con_free_unimap(struct vc_data *vc)
{ {
struct uni_pagedir *p; struct uni_pagedict *p;
p = *vc->vc_uni_pagedir_loc; p = *vc->vc_uni_pagedir_loc;
if (!p) if (!p)
...@@ -431,10 +440,10 @@ void con_free_unimap(struct vc_data *vc) ...@@ -431,10 +440,10 @@ void con_free_unimap(struct vc_data *vc)
kfree(p); kfree(p);
} }
static int con_unify_unimap(struct vc_data *conp, struct uni_pagedir *p) static int con_unify_unimap(struct vc_data *conp, struct uni_pagedict *p)
{ {
int i, j, k; int i, j, k;
struct uni_pagedir *q; struct uni_pagedict *q;
for (i = 0; i < MAX_NR_CONSOLES; i++) { for (i = 0; i < MAX_NR_CONSOLES; i++) {
if (!vc_cons_allocated(i)) if (!vc_cons_allocated(i))
...@@ -472,7 +481,7 @@ static int con_unify_unimap(struct vc_data *conp, struct uni_pagedir *p) ...@@ -472,7 +481,7 @@ static int con_unify_unimap(struct vc_data *conp, struct uni_pagedir *p)
} }
static int static int
con_insert_unipair(struct uni_pagedir *p, u_short unicode, u_short fontpos) con_insert_unipair(struct uni_pagedict *p, u_short unicode, u_short fontpos)
{ {
int i, n; int i, n;
u16 **p1, *p2; u16 **p1, *p2;
...@@ -503,7 +512,7 @@ con_insert_unipair(struct uni_pagedir *p, u_short unicode, u_short fontpos) ...@@ -503,7 +512,7 @@ con_insert_unipair(struct uni_pagedir *p, u_short unicode, u_short fontpos)
/* Caller must hold the lock */ /* Caller must hold the lock */
static int con_do_clear_unimap(struct vc_data *vc) static int con_do_clear_unimap(struct vc_data *vc)
{ {
struct uni_pagedir *p, *q; struct uni_pagedict *p, *q;
p = *vc->vc_uni_pagedir_loc; p = *vc->vc_uni_pagedir_loc;
if (!p || --p->refcount) { if (!p || --p->refcount) {
...@@ -536,7 +545,7 @@ int con_clear_unimap(struct vc_data *vc) ...@@ -536,7 +545,7 @@ int con_clear_unimap(struct vc_data *vc)
int con_set_unimap(struct vc_data *vc, ushort ct, struct unipair __user *list) int con_set_unimap(struct vc_data *vc, ushort ct, struct unipair __user *list)
{ {
int err = 0, err1, i; int err = 0, err1, i;
struct uni_pagedir *p, *q; struct uni_pagedict *p, *q;
struct unipair *unilist, *plist; struct unipair *unilist, *plist;
if (!ct) if (!ct)
...@@ -569,7 +578,7 @@ int con_set_unimap(struct vc_data *vc, ushort ct, struct unipair __user *list) ...@@ -569,7 +578,7 @@ int con_set_unimap(struct vc_data *vc, ushort ct, struct unipair __user *list)
/* /*
* Since refcount was > 1, con_clear_unimap() allocated a * Since refcount was > 1, con_clear_unimap() allocated a
* a new uni_pagedir for this vc. Re: p != q * a new uni_pagedict for this vc. Re: p != q
*/ */
q = *vc->vc_uni_pagedir_loc; q = *vc->vc_uni_pagedir_loc;
...@@ -660,7 +669,7 @@ int con_set_default_unimap(struct vc_data *vc) ...@@ -660,7 +669,7 @@ int con_set_default_unimap(struct vc_data *vc)
{ {
int i, j, err = 0, err1; int i, j, err = 0, err1;
u16 *q; u16 *q;
struct uni_pagedir *p; struct uni_pagedict *p;
if (dflt) { if (dflt) {
p = *vc->vc_uni_pagedir_loc; p = *vc->vc_uni_pagedir_loc;
...@@ -714,7 +723,7 @@ EXPORT_SYMBOL(con_set_default_unimap); ...@@ -714,7 +723,7 @@ EXPORT_SYMBOL(con_set_default_unimap);
*/ */
int con_copy_unimap(struct vc_data *dst_vc, struct vc_data *src_vc) int con_copy_unimap(struct vc_data *dst_vc, struct vc_data *src_vc)
{ {
struct uni_pagedir *q; struct uni_pagedict *q;
if (!*src_vc->vc_uni_pagedir_loc) if (!*src_vc->vc_uni_pagedir_loc)
return -EINVAL; return -EINVAL;
...@@ -739,7 +748,7 @@ int con_get_unimap(struct vc_data *vc, ushort ct, ushort __user *uct, struct uni ...@@ -739,7 +748,7 @@ int con_get_unimap(struct vc_data *vc, ushort ct, ushort __user *uct, struct uni
int i, j, k, ret = 0; int i, j, k, ret = 0;
ushort ect; ushort ect;
u16 **p1, *p2; u16 **p1, *p2;
struct uni_pagedir *p; struct uni_pagedict *p;
struct unipair *unilist; struct unipair *unilist;
unilist = kvmalloc_array(ct, sizeof(struct unipair), GFP_KERNEL); unilist = kvmalloc_array(ct, sizeof(struct unipair), GFP_KERNEL);
...@@ -810,7 +819,7 @@ conv_uni_to_pc(struct vc_data *conp, long ucs) ...@@ -810,7 +819,7 @@ conv_uni_to_pc(struct vc_data *conp, long ucs)
{ {
int h; int h;
u16 **p1, *p2; u16 **p1, *p2;
struct uni_pagedir *p; struct uni_pagedict *p;
/* Only 16-bit codes supported at this time */ /* Only 16-bit codes supported at this time */
if (ucs > 0xffff) if (ucs > 0xffff)
......
...@@ -75,7 +75,7 @@ static void vgacon_scrolldelta(struct vc_data *c, int lines); ...@@ -75,7 +75,7 @@ static void vgacon_scrolldelta(struct vc_data *c, int lines);
static int vgacon_set_origin(struct vc_data *c); static int vgacon_set_origin(struct vc_data *c);
static void vgacon_save_screen(struct vc_data *c); static void vgacon_save_screen(struct vc_data *c);
static void vgacon_invert_region(struct vc_data *c, u16 * p, int count); static void vgacon_invert_region(struct vc_data *c, u16 * p, int count);
static struct uni_pagedir *vgacon_uni_pagedir; static struct uni_pagedict *vgacon_uni_pagedir;
static int vgacon_refcount; static int vgacon_refcount;
/* Description of the hardware situation */ /* Description of the hardware situation */
...@@ -342,7 +342,7 @@ static const char *vgacon_startup(void) ...@@ -342,7 +342,7 @@ static const char *vgacon_startup(void)
static void vgacon_init(struct vc_data *c, int init) static void vgacon_init(struct vc_data *c, int init)
{ {
struct uni_pagedir *p; struct uni_pagedict *p;
/* /*
* We cannot be loaded as a module, therefore init will be 1 * We cannot be loaded as a module, therefore init will be 1
......
...@@ -17,7 +17,7 @@ ...@@ -17,7 +17,7 @@
#include <linux/vt.h> #include <linux/vt.h>
#include <linux/workqueue.h> #include <linux/workqueue.h>
struct uni_pagedir; struct uni_pagedict;
struct uni_screen; struct uni_screen;
#define NPAR 16 #define NPAR 16
...@@ -157,8 +157,8 @@ struct vc_data { ...@@ -157,8 +157,8 @@ struct vc_data {
unsigned int vc_bell_duration; /* Console bell duration */ unsigned int vc_bell_duration; /* Console bell duration */
unsigned short vc_cur_blink_ms; /* Cursor blink duration */ unsigned short vc_cur_blink_ms; /* Cursor blink duration */
struct vc_data **vc_display_fg; /* [!] Ptr to var holding fg console for this display */ struct vc_data **vc_display_fg; /* [!] Ptr to var holding fg console for this display */
struct uni_pagedir *vc_uni_pagedir; struct uni_pagedict *vc_uni_pagedir;
struct uni_pagedir **vc_uni_pagedir_loc; /* [!] Location of uni_pagedir variable for this console */ struct uni_pagedict **vc_uni_pagedir_loc; /* [!] Location of uni_pagedict variable for this console */
struct uni_screen *vc_uni_screen; /* unicode screen content */ struct uni_screen *vc_uni_screen; /* unicode screen content */
/* additional information is in vt_kern.h */ /* additional information is in vt_kern.h */
}; };
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment