summaryrefslogtreecommitdiffstats
path: root/drivers/char/consolemap.c
diff options
context:
space:
mode:
authorRalf Baechle <ralf@linux-mips.org>1999-01-04 16:03:48 +0000
committerRalf Baechle <ralf@linux-mips.org>1999-01-04 16:03:48 +0000
commit78c388aed2b7184182c08428db1de6c872d815f5 (patch)
tree4b2003b1b4ceb241a17faa995da8dd1004bb8e45 /drivers/char/consolemap.c
parenteb7a5bf93aaa4be1d7c6181100ab7639e74d67f7 (diff)
Merge with Linux 2.1.131 and more MIPS goodies.
(Did I mention that CVS is buggy ...)
Diffstat (limited to 'drivers/char/consolemap.c')
-rw-r--r--drivers/char/consolemap.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/drivers/char/consolemap.c b/drivers/char/consolemap.c
index e63386d7c..95bb6f204 100644
--- a/drivers/char/consolemap.c
+++ b/drivers/char/consolemap.c
@@ -576,6 +576,24 @@ con_set_default_unimap(int con)
}
int
+con_copy_unimap(int dstcon, int srccon)
+{
+ struct vc_data *sconp = vc_cons[srccon].d;
+ struct vc_data *dconp = vc_cons[dstcon].d;
+ struct uni_pagedir *q;
+
+ if (!vc_cons_allocated(srccon) || !*sconp->vc_uni_pagedir_loc)
+ return -EINVAL;
+ if (*dconp->vc_uni_pagedir_loc == *sconp->vc_uni_pagedir_loc)
+ return 0;
+ con_free_unimap(dstcon);
+ q = (struct uni_pagedir *)*sconp->vc_uni_pagedir_loc;
+ q->refcount++;
+ *dconp->vc_uni_pagedir_loc = (long)q;
+ return 0;
+}
+
+int
con_get_unimap(int con, ushort ct, ushort *uct, struct unipair *list)
{
int i, j, k, ect;