[PATCH 36/38] vt_ioctl: move vt_io_fontreset out of vt_io_ioctl

From: Jiri Slaby
Date: Mon Jun 15 2020 - 03:49:46 EST


This also eliminates the ifdeffery by using if and __is_defined.

Signed-off-by: Jiri Slaby <jslaby@xxxxxxx>
---
drivers/tty/vt/vt_ioctl.c | 44 +++++++++++++++++++++++----------------
1 file 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)
--
2.27.0