vgabios: Extract out current mode finding into new function.
authorKevin O'Connor <kevin@koconnor.net>
Sat, 21 Jan 2012 16:08:35 +0000 (11:08 -0500)
committerKevin O'Connor <kevin@koconnor.net>
Sat, 21 Jan 2012 16:08:35 +0000 (11:08 -0500)
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
vgasrc/vgabios.c
vgasrc/vgabios.h
vgasrc/vgafb.c

index 5ce7c0c99c1be42ddca209e2f1be0c0eedd4de9a..62b09b45caad464c3e9d8014a75d4f0f4b1d9e72 100644 (file)
@@ -151,7 +151,7 @@ set_active_page(u8 page)
         return;
 
     // Get the mode
-    struct vgamode_s *vmode_g = vgahw_find_mode(GET_BDA(video_mode));
+    struct vgamode_s *vmode_g = get_current_mode();
     if (!vmode_g)
         return;
 
@@ -336,6 +336,17 @@ restore_bda_state(u16 seg, struct saveBDAstate *info)
     SET_IVT(0x43, GET_FARVAR(seg, info->font1));
 }
 
+
+/****************************************************************
+ * Mode setting
+ ****************************************************************/
+
+struct vgamode_s *
+get_current_mode(void)
+{
+    return vgahw_find_mode(GET_BDA(video_mode));
+}
+
 // Setup BDA after a mode switch.
 void
 modeswitch_set_bda(int mode, int flags, struct vgamode_s *vmode_g)
index 6895a3962bd1288e1ac6b3a0df6a636c486d999a..6a3a379738777a18a1e93d3c204177c1a2af19a4 100644 (file)
@@ -82,6 +82,7 @@ struct cursorpos {
     u8 x, y, page;
 };
 u16 calc_page_size(u8 memmodel, u16 width, u16 height);
+struct vgamode_s *get_current_mode(void);
 void modeswitch_set_bda(int mode, int flags, struct vgamode_s *vmode_g);
 
 // vgafb.c
index 71a57196c0f611b77fe2a8b06024115a377625e3..f0bd71ef563dfadfee6db5bf3644eefbb8c31981 100644 (file)
@@ -7,7 +7,6 @@
 
 #include "biosvar.h" // GET_BDA
 #include "util.h" // memset_far
-#include "vgahw.h" // vgahw_find_mode
 #include "stdvga.h" // stdvga_planar4_plane
 
 
@@ -171,7 +170,7 @@ void
 vgafb_scroll(int nblines, int attr, struct cursorpos ul, struct cursorpos lr)
 {
     // Get the mode
-    struct vgamode_s *vmode_g = vgahw_find_mode(GET_BDA(video_mode));
+    struct vgamode_s *vmode_g = get_current_mode();
     if (!vmode_g)
         return;
 
@@ -339,7 +338,7 @@ void
 vgafb_write_char(struct cursorpos cp, struct carattr ca)
 {
     // Get the mode
-    struct vgamode_s *vmode_g = vgahw_find_mode(GET_BDA(video_mode));
+    struct vgamode_s *vmode_g = get_current_mode();
     if (!vmode_g)
         return;
 
@@ -365,7 +364,7 @@ struct carattr
 vgafb_read_char(struct cursorpos cp)
 {
     // Get the mode
-    struct vgamode_s *vmode_g = vgahw_find_mode(GET_BDA(video_mode));
+    struct vgamode_s *vmode_g = get_current_mode();
     if (!vmode_g)
         goto fail;
 
@@ -397,7 +396,7 @@ void
 vgafb_write_pixel(u8 color, u16 x, u16 y)
 {
     // Get the mode
-    struct vgamode_s *vmode_g = vgahw_find_mode(GET_BDA(video_mode));
+    struct vgamode_s *vmode_g = get_current_mode();
     if (!vmode_g)
         return;
 
@@ -453,7 +452,7 @@ u8
 vgafb_read_pixel(u16 x, u16 y)
 {
     // Get the mode
-    struct vgamode_s *vmode_g = vgahw_find_mode(GET_BDA(video_mode));
+    struct vgamode_s *vmode_g = get_current_mode();
     if (!vmode_g)
         return 0;