summaryrefslogtreecommitdiff
path: root/drivers/tty/vt/vt_ioctl.c
diff options
context:
space:
mode:
authorJiri Slaby <jslaby@suse.cz>2020-06-15 09:49:08 +0200
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2020-06-24 17:08:34 +0200
commit7a0ac4b17f15fcd687498380da0ba28945cc6ece (patch)
treea0ac5ce5027fb004df09a9451808467483d0e318 /drivers/tty/vt/vt_ioctl.c
parent5422337d569eade4e79a98d22bbc757285d8872d (diff)
vt_ioctl: move vt_io_fontreset out of vt_io_ioctl
This also eliminates the ifdeffery by using if and __is_defined. Signed-off-by: Jiri Slaby <jslaby@suse.cz> Link: https://lore.kernel.org/r/20200615074910.19267-36-jslaby@suse.cz Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/tty/vt/vt_ioctl.c')
-rw-r--r--drivers/tty/vt/vt_ioctl.c44
1 files changed, 26 insertions, 18 deletions
diff --git a/drivers/tty/vt/vt_ioctl.c b/drivers/tty/vt/vt_ioctl.c
index f671e94a94a9..ecf96f5e616d 100644
--- a/drivers/tty/vt/vt_ioctl.c
+++ b/drivers/tty/vt/vt_ioctl.c
@@ -518,6 +518,31 @@ static inline int do_fontx_ioctl(int cmd,
return -EINVAL;
}
+static int vt_io_fontreset(struct console_font_op *op)
+{
+ int ret;
+
+ if (__is_defined(BROKEN_GRAPHICS_PROGRAMS)) {
+ /*
+ * With BROKEN_GRAPHICS_PROGRAMS defined, the default font is
+ * not saved.
+ */
+ return -ENOSYS;
+ }
+
+ op->op = KD_FONT_OP_SET_DEFAULT;
+ op->data = NULL;
+ ret = con_font_op(vc_cons[fg_console].d, op);
+ if (ret)
+ return ret;
+
+ console_lock();
+ con_set_default_unimap(vc_cons[fg_console].d);
+ console_unlock();
+
+ return 0;
+}
+
static inline int do_unimap_ioctl(int cmd, struct unimapdesc __user *user_ud,
int perm, struct vc_data *vc)
{
@@ -581,24 +606,7 @@ static int vt_io_ioctl(struct vc_data *vc, unsigned int cmd, void __user *up,
if (!perm)
return -EPERM;
-#ifdef BROKEN_GRAPHICS_PROGRAMS
- /* With BROKEN_GRAPHICS_PROGRAMS defined, the default
- font is not saved. */
- return -ENOSYS;
-#else
- {
- int ret;
- op.op = KD_FONT_OP_SET_DEFAULT;
- op.data = NULL;
- ret = con_font_op(vc_cons[fg_console].d, &op);
- if (ret)
- return ret;
- console_lock();
- con_set_default_unimap(vc_cons[fg_console].d);
- console_unlock();
- break;
- }
-#endif
+ return vt_io_fontreset(&op);
case PIO_SCRNMAP:
if (!perm)