From b3327326d04166ac813489d7028fe0cc97251925 Mon Sep 17 00:00:00 2001 From: "Antonino A. Daplas" Date: Tue, 17 Jul 2007 04:05:36 -0700 Subject: [PATCH] --- yaml --- r: 60901 b: refs/heads/master c: c771eba1fe7168d6f2cbc52efa55b3838bd05b05 h: refs/heads/master i: 60899: 4c4004f4686a923d9a5ee86349565742de91c602 v: v3 --- [refs] | 2 +- trunk/drivers/video/fm2fb.c | 16 +++++++++------- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/[refs] b/[refs] index 8ffb26244a27..5afafa631d3c 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 4a1b92793a0824d31f165fe3a97634dbb9a3ae18 +refs/heads/master: c771eba1fe7168d6f2cbc52efa55b3838bd05b05 diff --git a/trunk/drivers/video/fm2fb.c b/trunk/drivers/video/fm2fb.c index 70ff55b14596..6c91c61cdb63 100644 --- a/trunk/drivers/video/fm2fb.c +++ b/trunk/drivers/video/fm2fb.c @@ -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;