--- ./drivers/video/neofb.c.16bit 2004-04-20 15:22:04.089533248 -0700 +++ ./drivers/video/neofb.c 2004-04-20 15:22:04.179519568 -0700 @@ -952,8 +952,10 @@ info->fix.visual = FB_VISUAL_PSEUDOCOLOR; break; case 16: - /* DirectColor, 64k */ - info->fix.visual = FB_VISUAL_DIRECTCOLOR; + /* TrueColor, 64k */ + /* Note, this is NOT DirectColor, because we don't support + * setting the hardware colormap. */ + info->fix.visual = FB_VISUAL_TRUECOLOR; for (i = 0; i < 64; i++) { outb(i, 0x3c8); @@ -1240,7 +1242,7 @@ break; case 16: if (regno < 16) - ((u16 *) fb->pseudo_palette)[regno] = + ((u32 *) fb->pseudo_palette)[regno] = ((red & 0xf800)) | ((green & 0xfc00) >> 5) | ((blue & 0xf800) >> 11); break; @@ -1348,7 +1350,7 @@ break; case 16: par->neo2200->fgColor = - ((u16 *) (info->pseudo_palette))[rect->color]; + ((u32 *) (info->pseudo_palette))[rect->color]; break; } @@ -1418,9 +1420,9 @@ break; case 16: par->neo2200->fgColor = - ((u16 *) (info->pseudo_palette))[image->fg_color]; + ((u32 *) (info->pseudo_palette))[image->fg_color]; par->neo2200->bgColor = - ((u16 *) (info->pseudo_palette))[image->bg_color]; + ((u32 *) (info->pseudo_palette))[image->bg_color]; break; }