aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/vt/vt_core.c
diff options
context:
space:
mode:
authorJean-Sébastien Pédron <dumbbell@FreeBSD.org>2023-01-14 18:22:56 +0000
committerJean-Sébastien Pédron <dumbbell@FreeBSD.org>2023-01-25 21:26:57 +0000
commit29ab19455484be96150fa5e87bd38aefb85c888a (patch)
tree803184adb5ba04d7002028cfc4ddee987a76d1e9 /sys/dev/vt/vt_core.c
parent9491ea7c68221ca7bc5e369ebb57660886ef1b13 (diff)
Diffstat (limited to 'sys/dev/vt/vt_core.c')
-rw-r--r--sys/dev/vt/vt_core.c16
1 files changed, 10 insertions, 6 deletions
diff --git a/sys/dev/vt/vt_core.c b/sys/dev/vt/vt_core.c
index 213b11bee8f5..2827cc1c85a8 100644
--- a/sys/dev/vt/vt_core.c
+++ b/sys/dev/vt/vt_core.c
@@ -3137,12 +3137,12 @@ vt_resume_handler(void *priv)
vd->vd_flags &= ~VDF_SUSPENDED;
}
-void
+int
vt_allocate(const struct vt_driver *drv, void *softc)
{
if (!vty_enabled(VTY_VT))
- return;
+ return (EINVAL);
if (main_vd->vd_driver == NULL) {
main_vd->vd_driver = drv;
@@ -3156,31 +3156,35 @@ vt_allocate(const struct vt_driver *drv, void *softc)
if (drv->vd_priority <= main_vd->vd_driver->vd_priority) {
printf("VT: Driver priority %d too low. Current %d\n ",
drv->vd_priority, main_vd->vd_driver->vd_priority);
- return;
+ return (EEXIST);
}
printf("VT: Replacing driver \"%s\" with new \"%s\".\n",
main_vd->vd_driver->vd_name, drv->vd_name);
}
vt_replace_backend(drv, softc);
+
+ return (0);
}
-void
+int
vt_deallocate(const struct vt_driver *drv, void *softc)
{
if (!vty_enabled(VTY_VT))
- return;
+ return (EINVAL);
if (main_vd->vd_prev_driver == NULL ||
main_vd->vd_driver != drv ||
main_vd->vd_softc != softc)
- return;
+ return (EPERM);
printf("VT: Switching back from \"%s\" to \"%s\".\n",
main_vd->vd_driver->vd_name, main_vd->vd_prev_driver->vd_name);
vt_replace_backend(NULL, NULL);
+
+ return (0);
}
void