fb: Generalize framebuffer device initialization
This commit is contained in:
@ -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;
|
||||
}
|
||||
|
Reference in New Issue
Block a user