To: linus, akpm Cc: lkml, fbdev Subject: [PATCH] Amifb: update pseudocolor bitfield lenghts Amiga frame buffer: The new convention (introduced in 2.6.9-rc1) requires that the usable color depth for pseudocolor visuals is indicated by the lengths of the color bitfields. Update amifb for this convention, and add a special case for HAM (Hold-and-Modify) mode (colormap has 16 (HAM6) or 64 (HAM8) entries). Signed-off-by: Geert Uytterhoeven --- amifb.c | 20 +++++--------------- 1 file changed, 5 insertions(+), 15 deletions(-) --- linux-2.6.9-rc3/drivers/video/amifb.c 2004-08-24 13:33:43.000000000 +0200 +++ linux-m68k-2.6.9-rc3/drivers/video/amifb.c 2004-09-10 21:23:26.000000000 +0200 @@ -2949,21 +2949,11 @@ static int ami_encode_var(struct fb_var_ var->bits_per_pixel = par->bpp; var->grayscale = 0; - if (IS_AGA) { - var->red.offset = 0; - var->red.length = 8; - var->red.msb_right = 0; - } else { - if (clk_shift == TAG_SHRES) { - var->red.offset = 0; - var->red.length = 2; - var->red.msb_right = 0; - } else { - var->red.offset = 0; - var->red.length = 4; - var->red.msb_right = 0; - } - } + var->red.offset = 0; + var->red.msb_right = 0; + var->red.length = par->bpp; + if (par->bplcon0 & BPC0_HAM) + var->red.length -= 2; var->blue = var->green = var->red; var->transp.offset = 0; var->transp.length = 0;