vt_ioctl: move vt_io_fontreset out of vt_io_ioctl
authorJiri Slaby <jslaby@suse.cz>
Mon, 15 Jun 2020 07:49:08 +0000 (09:49 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 24 Jun 2020 15:08:34 +0000 (17:08 +0200)
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>
drivers/tty/vt/vt_ioctl.c

index f671e94..ecf96f5 100644 (file)
@@ -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)