summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAntonino A. Daplas <adaplas@gmail.com>2007-07-17 13:05:36 +0200
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-07-17 19:23:12 +0200
commit4a1b92793a0824d31f165fe3a97634dbb9a3ae18 (patch)
tree04dc283cc826381b6a3e72c68c40c33a7711f4d9
parentcyblafb: fix pseudo_palette array overrun in setcolreg (diff)
downloadlinux-4a1b92793a0824d31f165fe3a97634dbb9a3ae18.tar.xz
linux-4a1b92793a0824d31f165fe3a97634dbb9a3ae18.zip
epson1355fb: color setting fixes
- the pseudo_palette is only 16 elements long - allocate the pseudo_palette as part of epson1355_par Signed-off-by: Antonino Daplas <adaplas@gmail.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-rw-r--r--drivers/video/epson1355fb.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/video/epson1355fb.c b/drivers/video/epson1355fb.c
index ca2c54ce508e..67f58bae384d 100644
--- a/drivers/video/epson1355fb.c
+++ b/drivers/video/epson1355fb.c
@@ -63,6 +63,7 @@
struct epson1355_par {
unsigned long reg_addr;
+ u32 pseudo_palette[16];
};
/* ------------------------------------------------------------------------- */
@@ -635,7 +636,7 @@ int __init epson1355fb_probe(struct platform_device *dev)
goto bail;
}
- info = framebuffer_alloc(sizeof(struct epson1355_par) + sizeof(u32) * 256, &dev->dev);
+ info = framebuffer_alloc(sizeof(struct epson1355_par), &dev->dev);
if (!info) {
rc = -ENOMEM;
goto bail;
@@ -648,7 +649,7 @@ int __init epson1355fb_probe(struct platform_device *dev)
rc = -ENOMEM;
goto bail;
}
- info->pseudo_palette = (void *)(default_par + 1);
+ info->pseudo_palette = default_par->pseudo_palette;
info->screen_base = ioremap(EPSON1355FB_FB_PHYS, EPSON1355FB_FB_LEN);
if (!info->screen_base) {