[SeaBIOS] [RFC PATCH 1/4] vga: move code to vgahw.c

Gerd Hoffmann kraxel at redhat.com
Tue Jan 24 15:46:05 CET 2012


Create vgahw.c, move code from vgahw.h there, soon we will add more bits
there which will make inlining less useful.

Signed-off-by: Gerd Hoffmann <kraxel at redhat.com>
---
 Makefile       |    2 +-
 vgasrc/vgahw.c |   37 +++++++++++++++++++++++++++++++++++++
 vgasrc/vgahw.h |   38 ++++----------------------------------
 3 files changed, 42 insertions(+), 35 deletions(-)
 create mode 100644 vgasrc/vgahw.c

diff --git a/Makefile b/Makefile
index 0343ce5..1dcfaeb 100644
--- a/Makefile
+++ b/Makefile
@@ -184,7 +184,7 @@ $(OUT)bios.bin.elf $(OUT)bios.bin: $(OUT)rom.o tools/checkrom.py
 SRCVGA=src/output.c src/util.c src/pci.c \
     vgasrc/vgabios.c vgasrc/vgafb.c vgasrc/vgafonts.c vgasrc/vbe.c \
     vgasrc/stdvga.c vgasrc/stdvgamodes.c vgasrc/stdvgaio.c \
-    vgasrc/clext.c vgasrc/bochsvga.c vgasrc/geodevga.c
+    vgasrc/vgahw.c vgasrc/clext.c vgasrc/bochsvga.c vgasrc/geodevga.c
 
 CFLAGS16VGA = $(CFLAGS16INC) -g -Isrc
 
diff --git a/vgasrc/vgahw.c b/vgasrc/vgahw.c
new file mode 100644
index 0000000..0ef3af5
--- /dev/null
+++ b/vgasrc/vgahw.c
@@ -0,0 +1,37 @@
+#include "vgahw.h"
+
+struct vgamode_s *vgahw_find_mode(int mode) {
+    if (CONFIG_VGA_CIRRUS)
+        return clext_find_mode(mode);
+    if (CONFIG_VGA_BOCHS)
+        return bochsvga_find_mode(mode);
+    return stdvga_find_mode(mode);
+}
+
+int vgahw_set_mode(int mode, int flags) {
+    if (CONFIG_VGA_CIRRUS)
+        return clext_set_mode(mode, flags);
+    if (CONFIG_VGA_BOCHS)
+        return bochsvga_set_mode(mode, flags);
+    return stdvga_set_mode(mode, flags);
+}
+
+void vgahw_list_modes(u16 seg, u16 *dest, u16 *last) {
+    if (CONFIG_VGA_CIRRUS)
+        clext_list_modes(seg, dest, last);
+    else if (CONFIG_VGA_BOCHS)
+        bochsvga_list_modes(seg, dest, last);
+    else
+        stdvga_list_modes(seg, dest, last);
+}
+
+int vgahw_init(void) {
+    if (CONFIG_VGA_CIRRUS)
+        return clext_init();
+    if (CONFIG_VGA_BOCHS)
+        return bochsvga_init();
+    if (CONFIG_VGA_GEODEGX2 || CONFIG_VGA_GEODELX)
+        return geodevga_init();
+    return stdvga_init();
+}
+
diff --git a/vgasrc/vgahw.h b/vgasrc/vgahw.h
index 1101e51..34de00d 100644
--- a/vgasrc/vgahw.h
+++ b/vgasrc/vgahw.h
@@ -9,39 +9,9 @@
 #include "stdvga.h" // stdvga_set_mode
 #include "geodevga.h" // geodevga_init
 
-static inline struct vgamode_s *vgahw_find_mode(int mode) {
-    if (CONFIG_VGA_CIRRUS)
-        return clext_find_mode(mode);
-    if (CONFIG_VGA_BOCHS)
-        return bochsvga_find_mode(mode);
-    return stdvga_find_mode(mode);
-}
-
-static inline int vgahw_set_mode(int mode, int flags) {
-    if (CONFIG_VGA_CIRRUS)
-        return clext_set_mode(mode, flags);
-    if (CONFIG_VGA_BOCHS)
-        return bochsvga_set_mode(mode, flags);
-    return stdvga_set_mode(mode, flags);
-}
-
-static inline void vgahw_list_modes(u16 seg, u16 *dest, u16 *last) {
-    if (CONFIG_VGA_CIRRUS)
-        clext_list_modes(seg, dest, last);
-    else if (CONFIG_VGA_BOCHS)
-        bochsvga_list_modes(seg, dest, last);
-    else
-        stdvga_list_modes(seg, dest, last);
-}
-
-static inline int vgahw_init(void) {
-    if (CONFIG_VGA_CIRRUS)
-        return clext_init();
-    if (CONFIG_VGA_BOCHS)
-        return bochsvga_init();
-    if (CONFIG_VGA_GEODEGX2 || CONFIG_VGA_GEODELX)
-        return geodevga_init();
-    return stdvga_init();
-}
+struct vgamode_s *vgahw_find_mode(int mode);
+int vgahw_set_mode(int mode, int flags);
+void vgahw_list_modes(u16 seg, u16 *dest, u16 *last);
+int vgahw_init(void);
 
 #endif // vgahw.h
-- 
1.7.1




More information about the SeaBIOS mailing list