o Build syscons(9)'s splash support if both sc and splash are enabled.

o Include opt_splash.h for vt(9) to know when splash device is enabled.
o Build logo_freebsd.c only if splash and vt are enabled.
o Include opt_compat.h to know when we have to respect compatibility.

Sponsored by:	The FreeBSD Foundation
This commit is contained in:
Aleksandr Rybalko 2013-12-08 22:49:12 +00:00
parent f5fdfd5db7
commit 37fd54ff81
3 changed files with 10 additions and 2 deletions

View file

@ -1398,7 +1398,7 @@ dev/exca/exca.c optional cbb
dev/fatm/if_fatm.c optional fatm pci
dev/fb/fbd.c optional fbd | vt
dev/fb/fb_if.m standard
dev/fb/splash.c optional splash
dev/fb/splash.c optional sc splash
dev/fdt/fdt_common.c optional fdt
dev/fdt/fdt_ic_if.m optional fdt
dev/fdt/fdt_pci.c optional fdt pci
@ -2468,7 +2468,7 @@ dev/vt/font/vt_font_default.c optional vt
dev/vt/font/vt_mouse_cursor.c optional vt
dev/vt/hw/fb/vt_fb.c optional vt
dev/vt/hw/vga/vga.c optional vt vt_vga
dev/vt/logo/logo_freebsd.c optional vt
dev/vt/logo/logo_freebsd.c optional vt splash
dev/vt/vt_buf.c optional vt
dev/vt/vt_consolectl.c optional vt
dev/vt/vt_core.c optional vt

View file

@ -46,7 +46,9 @@
#include <sys/terminal.h>
#include <sys/sysctl.h>
#include "opt_compat.h"
#include "opt_syscons.h"
#include "opt_splash.h"
#ifndef VT_MAXWINDOWS
#ifdef MAXCONS

View file

@ -794,6 +794,7 @@ vtterm_done(struct terminal *tm)
}
}
#ifdef DEV_SPLASH
static void
vtterm_splash(struct vt_device *vd)
{
@ -813,6 +814,7 @@ vtterm_splash(struct vt_device *vd)
vd->vd_flags |= VDF_SPLASH;
}
}
#endif
static void
vtterm_cnprobe(struct terminal *tm, struct consdev *cp)
@ -845,7 +847,9 @@ vtterm_cnprobe(struct terminal *tm, struct consdev *cp)
vt_winsize(vd, vw->vw_font, &wsz);
terminal_set_winsize(tm, &wsz);
#ifdef DEV_SPLASH
vtterm_splash(vd);
#endif
vd->vd_flags |= VDF_INITIALIZED;
main_vd = vd;
@ -1788,8 +1792,10 @@ vt_allocate(struct vt_driver *drv, void *softc)
/* Refill settings with new sizes. */
vt_resize(vd);
#ifdef DEV_SPLASH
if (vd->vd_flags & VDF_SPLASH)
vtterm_splash(vd);
#endif
if (vd->vd_curwindow != NULL)
callout_schedule(&vd->vd_timer, hz / VT_TIMERFREQ);