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>
This commit is contained in:
Antonino A. Daplas 2007-07-17 04:05:36 -07:00 committed by Linus Torvalds
parent 7592181005
commit 4a1b92793a

View File

@ -63,6 +63,7 @@
struct epson1355_par { struct epson1355_par {
unsigned long reg_addr; unsigned long reg_addr;
u32 pseudo_palette[16];
}; };
/* ------------------------------------------------------------------------- */ /* ------------------------------------------------------------------------- */
@ -635,7 +636,7 @@ int __init epson1355fb_probe(struct platform_device *dev)
goto bail; 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) { if (!info) {
rc = -ENOMEM; rc = -ENOMEM;
goto bail; goto bail;
@ -648,7 +649,7 @@ int __init epson1355fb_probe(struct platform_device *dev)
rc = -ENOMEM; rc = -ENOMEM;
goto bail; 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); info->screen_base = ioremap(EPSON1355FB_FB_PHYS, EPSON1355FB_FB_LEN);
if (!info->screen_base) { if (!info->screen_base) {