|
@@ -195,13 +195,15 @@ static int fm2fb_blank(int blank, struct fb_info *info)
|
|
|
static int fm2fb_setcolreg(u_int regno, u_int red, u_int green, u_int blue,
|
|
|
u_int transp, struct fb_info *info)
|
|
|
{
|
|
|
- if (regno > info->cmap.len)
|
|
|
- return 1;
|
|
|
- red >>= 8;
|
|
|
- green >>= 8;
|
|
|
- blue >>= 8;
|
|
|
+ if (regno < 16) {
|
|
|
+ red >>= 8;
|
|
|
+ green >>= 8;
|
|
|
+ blue >>= 8;
|
|
|
+
|
|
|
+ ((u32*)(info->pseudo_palette))[regno] = (red << 16) |
|
|
|
+ (green << 8) | blue;
|
|
|
+ }
|
|
|
|
|
|
- ((u32*)(info->pseudo_palette))[regno] = (red << 16) | (green << 8) | blue;
|
|
|
return 0;
|
|
|
}
|
|
|
|
|
@@ -237,7 +239,7 @@ static int __devinit fm2fb_probe(struct zorro_dev *z,
|
|
|
if (!zorro_request_device(z,"fm2fb"))
|
|
|
return -ENXIO;
|
|
|
|
|
|
- info = framebuffer_alloc(256 * sizeof(u32), &z->dev);
|
|
|
+ info = framebuffer_alloc(16 * sizeof(u32), &z->dev);
|
|
|
if (!info) {
|
|
|
zorro_release_device(z);
|
|
|
return -ENOMEM;
|