| From 89db02804950a126f1028195cfbbacb193f57967 Mon Sep 17 00:00:00 2001 |
| From: Jiri Slaby <jslaby@suse.cz> |
| Date: Wed, 19 Feb 2020 08:39:44 +0100 |
| Subject: [PATCH] vt: ioctl, switch VT_IS_IN_USE and VT_BUSY to inlines |
| |
| commit e587e8f17433ddb26954f0edf5b2f95c42155ae9 upstream. |
| |
| These two were macros. Switch them to static inlines, so that it's more |
| understandable what they are doing. |
| |
| Signed-off-by: Jiri Slaby <jslaby@suse.cz> |
| Link: https://lore.kernel.org/r/20200219073951.16151-2-jslaby@suse.cz |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> |
| |
| diff --git a/drivers/tty/vt/vt_ioctl.c b/drivers/tty/vt/vt_ioctl.c |
| index bf4daa0c7930..693d9d7ffb68 100644 |
| --- a/drivers/tty/vt/vt_ioctl.c |
| +++ b/drivers/tty/vt/vt_ioctl.c |
| @@ -40,10 +40,25 @@ |
| #include <linux/selection.h> |
| |
| char vt_dont_switch; |
| -extern struct tty_driver *console_driver; |
| |
| -#define VT_IS_IN_USE(i) (console_driver->ttys[i] && console_driver->ttys[i]->count) |
| -#define VT_BUSY(i) (VT_IS_IN_USE(i) || i == fg_console || vc_is_sel(vc_cons[i].d)) |
| +static inline bool vt_in_use(unsigned int i) |
| +{ |
| + extern struct tty_driver *console_driver; |
| + |
| + return console_driver->ttys[i] && console_driver->ttys[i]->count; |
| +} |
| + |
| +static inline bool vt_busy(int i) |
| +{ |
| + if (vt_in_use(i)) |
| + return true; |
| + if (i == fg_console) |
| + return true; |
| + if (vc_is_sel(vc_cons[i].d)) |
| + return true; |
| + |
| + return false; |
| +} |
| |
| /* |
| * Console (vt and kd) routines, as defined by USL SVR4 manual, and by |
| @@ -289,7 +304,7 @@ static int vt_disallocate(unsigned int vc_num) |
| int ret = 0; |
| |
| console_lock(); |
| - if (VT_BUSY(vc_num)) |
| + if (vt_busy(vc_num)) |
| ret = -EBUSY; |
| else if (vc_num) |
| vc = vc_deallocate(vc_num); |
| @@ -311,7 +326,7 @@ static void vt_disallocate_all(void) |
| |
| console_lock(); |
| for (i = 1; i < MAX_NR_CONSOLES; i++) |
| - if (!VT_BUSY(i)) |
| + if (!vt_busy(i)) |
| vc[i] = vc_deallocate(i); |
| else |
| vc[i] = NULL; |
| @@ -648,7 +663,7 @@ int vt_ioctl(struct tty_struct *tty, |
| state = 1; /* /dev/tty0 is always open */ |
| for (i = 0, mask = 2; i < MAX_NR_CONSOLES && mask; |
| ++i, mask <<= 1) |
| - if (VT_IS_IN_USE(i)) |
| + if (vt_in_use(i)) |
| state |= mask; |
| ret = put_user(state, &vtstat->v_state); |
| } |
| @@ -661,7 +676,7 @@ int vt_ioctl(struct tty_struct *tty, |
| case VT_OPENQRY: |
| /* FIXME: locking ? - but then this is a stupid API */ |
| for (i = 0; i < MAX_NR_CONSOLES; ++i) |
| - if (! VT_IS_IN_USE(i)) |
| + if (!vt_in_use(i)) |
| break; |
| uival = i < MAX_NR_CONSOLES ? (i+1) : -1; |
| goto setint; |
| -- |
| 2.7.4 |
| |