From: Petr Vandrovec Date: Fri, 16 Aug 2002 09:57:02 +0000 (-0700) Subject: [PATCH] More display -> fb_info fixes for new fbdev X-Git-Tag: v2.5.32~15^2~8 X-Git-Url: http://git.neil.brown.name/?a=commitdiff_plain;h=5dfd412e445ec1fe29df7d8c6b47787c9842a5a5;p=history.git [PATCH] More display -> fb_info fixes for new fbdev This is the second part of "broken cfb* support in the 2.5.31-bk". I needed fbcon-cfb2 on one of my systems, and so I went through all fbcon-* drivers and fixed them. line_length, type, type_aux and visual were moved from display to fb_info in last James Simmon's fbdev update. Unfortunately lowlevel support modules were not updated. --- diff --git a/drivers/video/fbcon-afb.c b/drivers/video/fbcon-afb.c index a94e77d3ae6b..6afee164b609 100644 --- a/drivers/video/fbcon-afb.c +++ b/drivers/video/fbcon-afb.c @@ -160,8 +160,8 @@ static u8 expand_table[1024] = { void fbcon_afb_setup(struct display *p) { - if (p->line_length) - p->next_line = p->line_length; + if (p->fb_info->fix.line_length) + p->next_line = p->fb_info->fix.line_length; else p->next_line = p->var.xres_virtual>>3; p->next_plane = p->var.yres_virtual*p->next_line; diff --git a/drivers/video/fbcon-cfb2.c b/drivers/video/fbcon-cfb2.c index 0b5df2ee0e22..e4896a6ce9e3 100644 --- a/drivers/video/fbcon-cfb2.c +++ b/drivers/video/fbcon-cfb2.c @@ -50,7 +50,7 @@ static u_char nibbletab_cfb2[]={ void fbcon_cfb2_setup(struct display *p) { - p->next_line = p->line_length ? p->line_length : p->var.xres_virtual>>2; + p->next_line = p->fb_info->fix.line_length ? p->fb_info->fix.line_length : p->var.xres_virtual>>2; p->next_plane = 0; } diff --git a/drivers/video/fbcon-hga.c b/drivers/video/fbcon-hga.c index 7e4659451dc3..4cb12c6e47f5 100644 --- a/drivers/video/fbcon-hga.c +++ b/drivers/video/fbcon-hga.c @@ -45,7 +45,7 @@ void fbcon_hga_setup(struct display *p) { DPRINTK("fbcon_hga_setup: ll:%d\n", (int)p->line_length); - p->next_line = p->line_length; + p->next_line = p->fb_info->fix.line_length; p->next_plane = 0; } diff --git a/drivers/video/fbcon-ilbm.c b/drivers/video/fbcon-ilbm.c index 7f7a62491b15..157736e809a7 100644 --- a/drivers/video/fbcon-ilbm.c +++ b/drivers/video/fbcon-ilbm.c @@ -32,12 +32,12 @@ void fbcon_ilbm_setup(struct display *p) { - if (p->line_length) { - p->next_line = p->line_length*p->var.bits_per_pixel; - p->next_plane = p->line_length; + if (p->fb_info->fix.line_length) { + p->next_line = p->fb_info->fix.line_length*p->var.bits_per_pixel; + p->next_plane = p->fb_info->fix.line_length; } else { - p->next_line = p->type_aux; - p->next_plane = p->type_aux/p->var.bits_per_pixel; + p->next_line = p->fb_info->fix.type_aux; + p->next_plane = p->fb_info->fix.type_aux/p->var.bits_per_pixel; } } diff --git a/drivers/video/fbcon-mfb.c b/drivers/video/fbcon-mfb.c index b9fda42e5114..21b7b3ddaba7 100644 --- a/drivers/video/fbcon-mfb.c +++ b/drivers/video/fbcon-mfb.c @@ -25,8 +25,8 @@ void fbcon_mfb_setup(struct display *p) { - if (p->line_length) - p->next_line = p->line_length; + if (p->fb_info->fix.line_length) + p->next_line = p->fb_info->fix.line_length; else p->next_line = p->var.xres_virtual>>3; p->next_plane = 0; diff --git a/drivers/video/fbcon.c b/drivers/video/fbcon.c index 81cc382e8ad5..e6916fa97b85 100644 --- a/drivers/video/fbcon.c +++ b/drivers/video/fbcon.c @@ -2344,7 +2344,7 @@ static int __init fbcon_show_logo( void ) #if defined(CONFIG_FBCON_IPLAN2P2) || defined(CONFIG_FBCON_IPLAN2P4) || \ defined(CONFIG_FBCON_IPLAN2P8) - int line_length = p->line_length; + int line_length = info->fix.line_length; /* for support of Atari interleaved planes */ #define MAP_X(x) (line_length ? (x) : ((x) & ~1)*depth + ((x) & 1)) @@ -2388,12 +2388,12 @@ static int __init fbcon_show_logo( void ) #if defined(CONFIG_FBCON_MFB) || defined(CONFIG_FBCON_AFB) || \ defined(CONFIG_FBCON_ILBM) || defined(CONFIG_FBCON_HGA) - if (depth == 1 && (p->fix.type == FB_TYPE_PACKED_PIXELS || - p->fix.type == FB_TYPE_PLANES || - p->fix.type == FB_TYPE_INTERLEAVED_PLANES)) { + if (depth == 1 && (info->fix.type == FB_TYPE_PACKED_PIXELS || + info->fix.type == FB_TYPE_PLANES || + info->fix.type == FB_TYPE_INTERLEAVED_PLANES)) { /* monochrome */ - unsigned char inverse = p->inverse || p->visual == FB_VISUAL_MONO01 + unsigned char inverse = p->inverse || info->fix.visual == FB_VISUAL_MONO01 ? 0x00 : 0xff; int is_hga = !strncmp(p->fb_info->modename, "HGA", 3);