aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/fb
diff options
context:
space:
mode:
authorRoger Pau Monné <royger@FreeBSD.org>2016-07-20 09:29:39 +0000
committerRoger Pau Monné <royger@FreeBSD.org>2016-07-20 09:29:39 +0000
commitc397b61ea5441ea9180cc7c27b425f6a871a37ad (patch)
tree993f7badba0c5ef46bb2e393c34d80faf1f5c1a7 /sys/dev/fb
parentaed721ec51405f91fa2bf2d8bd820f0c8992394e (diff)
Notes
Diffstat (limited to 'sys/dev/fb')
-rw-r--r--sys/dev/fb/vesa.c16
1 files changed, 14 insertions, 2 deletions
diff --git a/sys/dev/fb/vesa.c b/sys/dev/fb/vesa.c
index bd6b759a0497..810d5d88e99b 100644
--- a/sys/dev/fb/vesa.c
+++ b/sys/dev/fb/vesa.c
@@ -134,6 +134,7 @@ static vi_fill_rect_t vesa_fill_rect;
static vi_bitblt_t vesa_bitblt;
static vi_diag_t vesa_diag;
static int vesa_bios_info(int level);
+static int vesa_late_load(int flags);
static video_switch_t vesavidsw = {
vesa_probe,
@@ -1141,7 +1142,7 @@ vesa_configure(int flags)
* initialization for now and try again later.
*/
if (adp == NULL) {
- vga_sub_configure = vesa_configure;
+ vga_sub_configure = vesa_late_load;
return (ENODEV);
}
@@ -1909,6 +1910,17 @@ vesa_bios_info(int level)
static int
vesa_load(void)
{
+
+ return (vesa_late_load(0));
+}
+
+/*
+ * To be called from the vga_sub_configure hook in case the VGA adapter is
+ * not found when VESA is loaded.
+ */
+static int
+vesa_late_load(int flags)
+{
int error;
if (vesa_init_done)
@@ -1918,7 +1930,7 @@ vesa_load(void)
/* locate a VGA adapter */
vesa_adp = NULL;
- error = vesa_configure(0);
+ error = vesa_configure(flags);
if (error == 0)
vesa_bios_info(bootverbose);