epson1355fb: color setting fixes
authorAntonino A. Daplas <adaplas@gmail.com>
Tue, 17 Jul 2007 11:05:36 +0000 (04:05 -0700)
committerLinus Torvalds <torvalds@woody.linux-foundation.org>
Tue, 17 Jul 2007 17:23:12 +0000 (10:23 -0700)
- 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>
drivers/video/epson1355fb.c

index ca2c54ce508e678ee8deaafa63016c9bae783948..67f58bae384d22666d1cfbcb78d54989bc335f83 100644 (file)
@@ -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) {