diff options
author | ray <ray@FreeBSD.org> | 2014-05-05 22:12:46 +0000 |
---|---|---|
committer | ray <ray@FreeBSD.org> | 2014-05-05 22:12:46 +0000 |
commit | 266d4c3f7ff028c3575c893daf60552639f40652 (patch) | |
tree | 543f42a3caaa9ec590e7ca1699d4efd7af15ff0a | |
parent | 9be8a6b14aa116da13f0579b9e06d6a399d9e3b7 (diff) | |
download | FreeBSD-src-266d4c3f7ff028c3575c893daf60552639f40652.zip FreeBSD-src-266d4c3f7ff028c3575c893daf60552639f40652.tar.gz |
Switch vga drivers to use names and new vt(4) driver probe method.
Sponsored by: The FreeBSD Foundation
-rw-r--r-- | sys/dev/vt/hw/vga/vga.c | 22 |
1 files changed, 18 insertions, 4 deletions
diff --git a/sys/dev/vt/hw/vga/vga.c b/sys/dev/vt/hw/vga/vga.c index 13c640a..986dde9 100644 --- a/sys/dev/vt/hw/vga/vga.c +++ b/sys/dev/vt/hw/vga/vga.c @@ -71,6 +71,7 @@ struct vga_softc { #define VT_VGA_HEIGHT 480 #define VT_VGA_MEMSIZE (VT_VGA_WIDTH * VT_VGA_HEIGHT / 8) +static vd_probe_t vga_probe; static vd_init_t vga_init; static vd_blank_t vga_blank; static vd_bitbltchr_t vga_bitbltchr; @@ -81,6 +82,8 @@ static vd_putchar_t vga_putchar; static vd_postswitch_t vga_postswitch; static const struct vt_driver vt_vga_driver = { + .vd_name = "vga", + .vd_probe = vga_probe, .vd_init = vga_init, .vd_blank = vga_blank, .vd_bitbltchr = vga_bitbltchr, @@ -97,8 +100,7 @@ static const struct vt_driver vt_vga_driver = { * buffer is always big enough to support both. */ static struct vga_softc vga_conssoftc; -VT_CONSDEV_DECLARE(vt_vga_driver, MAX(80, PIXEL_WIDTH(VT_VGA_WIDTH)), - MAX(25, PIXEL_HEIGHT(VT_VGA_HEIGHT)), &vga_conssoftc); +VT_DRIVER_DECLARE(vt_vga, vt_vga_driver); static inline void vga_setcolor(struct vt_device *vd, term_color_t color) @@ -631,10 +633,22 @@ vga_initialize(struct vt_device *vd, int textmode) } static int +vga_probe(struct vt_device *vd) +{ + + return (CN_INTERNAL); +} + +static int vga_init(struct vt_device *vd) { - struct vga_softc *sc = vd->vd_softc; - int textmode = 0; + struct vga_softc *sc; + int textmode; + + if (vd->vd_softc == NULL) + vd->vd_softc = (void *)&vga_conssoftc; + sc = vd->vd_softc; + textmode = 0; #if defined(__amd64__) || defined(__i386__) sc->vga_fb_tag = X86_BUS_SPACE_MEM; |