summaryrefslogtreecommitdiff
path: root/sys/dev/vt
diff options
context:
space:
mode:
authorMark Johnston <markj@FreeBSD.org>2022-01-19 14:48:31 +0000
committerMark Johnston <markj@FreeBSD.org>2022-01-19 15:53:15 +0000
commit6c7e4d72b1c964e4147831b45e0b312f6ed97cd2 (patch)
tree4a0df8b8a16763c22c1a9b3e35efbacb2f866eaf /sys/dev/vt
parent2ad1999722ecf3c1be5c2013af56fa5cb509e073 (diff)
Diffstat (limited to 'sys/dev/vt')
-rw-r--r--sys/dev/vt/vt_cpulogos.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/sys/dev/vt/vt_cpulogos.c b/sys/dev/vt/vt_cpulogos.c
index 720e64585e16..c62b13a9097a 100644
--- a/sys/dev/vt/vt_cpulogos.c
+++ b/sys/dev/vt/vt_cpulogos.c
@@ -35,6 +35,7 @@ __FBSDID("$FreeBSD$");
#include <sys/mutex.h>
#include <sys/smp.h>
#include <sys/systm.h>
+#include <sys/taskqueue.h>
#include <sys/terminal.h>
#include <dev/vt/vt.h>
@@ -43,7 +44,7 @@ extern const unsigned char vt_beastie_vga16[];
extern const unsigned char vt_beastie2_vga16[];
extern const unsigned char vt_orb_vga16[];
-static struct callout vt_splash_cpu_callout;
+static struct timeout_task vt_splash_cpu_fini_task;
static inline unsigned char
vt_vga2bsd(unsigned char vga)
@@ -149,7 +150,7 @@ vtterm_draw_cpu_logos(struct vt_device *vd)
}
static void
-vt_fini_logos(void *dummy __unused)
+vt_fini_logos(void *dummy __unused, int pending __unused)
{
struct vt_device *vd;
struct vt_window *vw;
@@ -260,11 +261,12 @@ vt_init_logos(void *dummy)
vt_resume_flush_timer(vw, 0);
}
- callout_init(&vt_splash_cpu_callout, 1);
- callout_reset(&vt_splash_cpu_callout, vt_splash_cpu_duration * hz,
+ TIMEOUT_TASK_INIT(taskqueue_thread, &vt_splash_cpu_fini_task, 0,
vt_fini_logos, NULL);
+ taskqueue_enqueue_timeout(taskqueue_thread, &vt_splash_cpu_fini_task,
+ vt_splash_cpu_duration * hz);
out:
VT_UNLOCK(vd);
}
-SYSINIT(vt_logos, SI_SUB_CPU + 1, SI_ORDER_ANY, vt_init_logos, NULL);
+SYSINIT(vt_logos, SI_SUB_TASKQ, SI_ORDER_ANY, vt_init_logos, NULL);