diff options
author | Joel Sherrill <joel.sherrill@OARcorp.com> | 2009-07-24 13:28:44 +0000 |
---|---|---|
committer | Joel Sherrill <joel.sherrill@OARcorp.com> | 2009-07-24 13:28:44 +0000 |
commit | cd62f7a7fd0f4c5cd416f9529f698a4c7cf2cee4 (patch) | |
tree | bbc3d98a545d44008f59b3203818442c997a77b7 /c | |
parent | 2009-07-24 Roxana Leontie <roxana.leontie@gmail.com> (diff) | |
download | rtems-cd62f7a7fd0f4c5cd416f9529f698a4c7cf2cee4.tar.bz2 |
2009-07-24 Roxana Leontie <roxana.leontie@gmail.com>
* console/fb_vga.c: divided fb_screeninfo structure into
fb_var_screeninfo and fb_fix_screeninfo; same with get_screen_info
Diffstat (limited to 'c')
-rw-r--r-- | c/src/lib/libbsp/i386/pc386/ChangeLog | 5 | ||||
-rw-r--r-- | c/src/lib/libbsp/i386/pc386/console/fb_vga.c | 30 |
2 files changed, 28 insertions, 7 deletions
diff --git a/c/src/lib/libbsp/i386/pc386/ChangeLog b/c/src/lib/libbsp/i386/pc386/ChangeLog index 20aac5574e..e364b058c7 100644 --- a/c/src/lib/libbsp/i386/pc386/ChangeLog +++ b/c/src/lib/libbsp/i386/pc386/ChangeLog @@ -1,3 +1,8 @@ +2009-07-24 Roxana Leontie <roxana.leontie@gmail.com> + + * console/fb_vga.c: divided fb_screeninfo structure into + fb_var_screeninfo and fb_fix_screeninfo; same with get_screen_info + 2009-07-21 Roxana Leontie <roxana.leontie@gmail.com> * console/fb_vga.c: replaced the ioctl structures with linux diff --git a/c/src/lib/libbsp/i386/pc386/console/fb_vga.c b/c/src/lib/libbsp/i386/pc386/console/fb_vga.c index fc95ffc39a..20f91de012 100644 --- a/c/src/lib/libbsp/i386/pc386/console/fb_vga.c +++ b/c/src/lib/libbsp/i386/pc386/console/fb_vga.c @@ -28,15 +28,19 @@ extern void ega_hwinit( void ); extern void ega_hwterm( void ); /* screen information for the VGA driver */ -static struct fb_screeninfo fb_info = +static struct fb_var_screeninfo fb_var = { 640, 480, /* screen size x, y */ - 4, /* bits per pixel */ - 80, /* chars per line */ + 4 /* bits per pixel */ +}; + +static struct fb_fix_screeninfo fb_fix = +{ (volatile char *)0xA0000, /* buffer pointer */ 0x10000, /* buffer size */ FB_TYPE_VGA_PLANES, /* type of dsplay */ - FB_VISUAL_PSEUDOCOLOR /* color scheme used */ + FB_VISUAL_PSEUDOCOLOR, /* color scheme used */ + 80 /* chars per line */ }; static uint16_t red16[] = { @@ -130,9 +134,15 @@ fbvga_write( rtems_device_major_number major, return RTEMS_SUCCESSFUL; } -static int get_screen_info( struct fb_screeninfo *info ) +static int get_fix_screen_info( struct fb_fix_screeninfo *info ) { - *info = fb_info; + *info = fb_fix; + return 0; +} + +static int get_var_screen_info( struct fb_var_screeninfo *info ) +{ + *info = fb_var; return 0; } @@ -183,7 +193,13 @@ fbvga_control( rtems_device_major_number major, switch( args->command ) { case FBIOGET_FSCREENINFO: - args->ioctl_return = get_screen_info( args->buffer ); + args->ioctl_return = get_fix_screen_info( args->buffer ); + break; + case FBIOGET_VSCREENINFO: + args->ioctl_return = get_var_screen_info( args->buffer ); + break; + case FBIOPUT_VSCREENINFO: + /* not implemented yet*/ break; case FBIOGETCMAP: args->ioctl_return = get_palette( args->buffer ); |