[OpenBIOS] [PATCHv2 05/14] vga: move initialisation of screen-#columns/screen-#rows to setup_video()
Mark Cave-Ayland
mark.cave-ayland at ilande.co.uk
Sun Aug 11 09:52:21 CEST 2013
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland at ilande.co.uk>
---
openbios-devel/drivers/vga_vbe.c | 9 +--------
openbios-devel/libopenbios/video_common.c | 10 ++++++++++
2 files changed, 11 insertions(+), 8 deletions(-)
diff --git a/openbios-devel/drivers/vga_vbe.c b/openbios-devel/drivers/vga_vbe.c
index 2f845e7..c03dbc7 100644
--- a/openbios-devel/drivers/vga_vbe.c
+++ b/openbios-devel/drivers/vga_vbe.c
@@ -55,8 +55,7 @@ void vga_vbe_init(const char *path, unsigned long fb, uint32_t fb_size,
unsigned long rom, uint32_t rom_size)
{
phys_addr_t phys;
- phandle_t ph, chosen, aliases, options;
- char buf[6];
+ phandle_t ph, chosen, aliases;
int size;
phys = fb;
@@ -82,12 +81,6 @@ void vga_vbe_init(const char *path, unsigned long fb, uint32_t fb_size,
aliases = find_dev("/aliases");
set_property(aliases, "screen", path, strlen(path) + 1);
- options = find_dev("/options");
- snprintf(buf, sizeof(buf), FMT_ucell, VIDEO_DICT_VALUE(video.w) / FONT_WIDTH);
- set_property(options, "screen-#columns", buf, strlen(buf) + 1);
- snprintf(buf, sizeof(buf), FMT_ucell, VIDEO_DICT_VALUE(video.h) / FONT_HEIGHT);
- set_property(options, "screen-#rows", buf, strlen(buf) + 1);
-
if (rom_size >= 8) {
const char *p;
diff --git a/openbios-devel/libopenbios/video_common.c b/openbios-devel/libopenbios/video_common.c
index 6f93157..db9e0a2 100644
--- a/openbios-devel/libopenbios/video_common.c
+++ b/openbios-devel/libopenbios/video_common.c
@@ -15,6 +15,7 @@
*/
#include "config.h"
+#include "libc/vsprintf.h"
#include "libopenbios/bindings.h"
#include "libopenbios/fontdata.h"
#include "libopenbios/ofmem.h"
@@ -218,6 +219,8 @@ void setup_video(phys_addr_t phys, ucell virt)
/* Make everything inside the video_info structure point to the
values in the Forth dictionary. Hence everything is always in
sync. */
+ phandle_t options;
+ char buf[6];
video.mphys = phys;
@@ -277,4 +280,11 @@ void setup_video(phys_addr_t phys, ucell virt)
VIDEO_DICT_VALUE(video.rb) = (w * ((d + 7) / 8));
}
#endif
+
+ /* Setup screen-#rows/screen-#columns */
+ options = find_dev("/options");
+ snprintf(buf, sizeof(buf), FMT_ucell, VIDEO_DICT_VALUE(video.w) / FONT_WIDTH);
+ set_property(options, "screen-#columns", buf, strlen(buf) + 1);
+ snprintf(buf, sizeof(buf), FMT_ucell, VIDEO_DICT_VALUE(video.h) / FONT_HEIGHT);
+ set_property(options, "screen-#rows", buf, strlen(buf) + 1);
}
--
1.7.10.4
More information about the OpenBIOS
mailing list