1
0

fb: Generalize framebuffer device initialization

This commit is contained in:
2012-10-07 23:25:11 -04:00
parent 0b7e14c69b
commit c64bfea238
7 changed files with 137 additions and 17 deletions

View File

@ -28,6 +28,7 @@
#include <console.h>
#include <drivers/serial.h>
#include <drivers/fb.h>
#ifdef CONFIG_VEXPRESS_A9
#include <drivers/pl111.h>
@ -37,7 +38,7 @@
#include <drivers/bcm2835_videocore.h>
#endif
struct fb myfb;
struct fb console_fb;
void print_console_logo() {
print_func(&console_putc, " _ _ _\n");
@ -48,13 +49,25 @@ void print_console_logo() {
print_func(&console_putc, " Copyright (C) 2012 - Aaron Lindsay\n");
}
void video_init(void) {
#ifdef CONFIG_VEXPRESS_A9
pl111_init(&myfb, 16);
#endif
#ifdef CONFIG_RPI
bcm2835_videocore_init(&myfb, 16);
#endif
void video_console_init(void) {
struct fb_dev *fbdev = fb_first_device();
int ret;
if (!fbdev) {
print("Error: No framebuffer-capable device registered.");
return;
}
ret = fbdev->init(&console_fb, 16);
if (ret) {
print("Error: Failed to initialize framebuffer device.");
return;
}
if ((console_init(&console_fb)))
return;
print_console_logo();
}
void serial_console_init() {
@ -100,9 +113,7 @@ int main(void) {
init_initcalls();
video_init();
console_init(&myfb);
print_console_logo();
video_console_init();
return 0;
}