This commit was manufactured by cvs2svn to create tag
[linux-2.6.git] / drivers / video / pxafb.c
index 0a860dd..7ded3f7 100644 (file)
@@ -386,7 +386,7 @@ static int pxafb_blank(int blank, struct fb_info *info)
                //TODO if (pxafb_blank_helper) pxafb_blank_helper(blank);
                if (fbi->fb.fix.visual == FB_VISUAL_PSEUDOCOLOR ||
                    fbi->fb.fix.visual == FB_VISUAL_STATIC_PSEUDOCOLOR)
-                       fb_set_cmap(&fbi->fb.cmap, info);
+                       fb_set_cmap(&fbi->fb.cmap, 1, info);
                pxafb_schedule_work(fbi, C_ENABLE);
        }
        return 0;
@@ -1016,7 +1016,7 @@ static struct pxafb_info * __init pxafb_init_fbinfo(struct device *dev)
        struct pxafb_mach_info *inf = dev->platform_data;
 
        /* Alloc the pxafb_info and pseudo_palette in one step */
-       fbi = kmalloc(sizeof(struct pxafb_info) + sizeof(u32) * 16, GFP_KERNEL);
+       fbi = kmalloc(sizeof(struct pxafb_info) + sizeof(u32) * 17, GFP_KERNEL);
        if (!fbi)
                return NULL;
 
@@ -1237,6 +1237,7 @@ int __init pxafb_probe(struct device *dev)
 {
        struct pxafb_info *fbi;
        struct pxafb_mach_info *inf;
+       unsigned long flags;
        int ret;
 
        dev_dbg(dev, "pxafb_probe\n");
@@ -1300,7 +1301,9 @@ int __init pxafb_probe(struct device *dev)
                goto failed;
        }
        /* enable LCD controller clock */
-       pxa_set_cken(CKEN16_LCD, 1);
+       local_irq_save(flags);
+       CKEN |= CKEN16_LCD;
+       local_irq_restore(flags);
 
        ret = request_irq(IRQ_LCD, pxafb_handle_irq, SA_INTERRUPT, "LCD", fbi);
        if (ret) {
@@ -1350,7 +1353,7 @@ failed:
 }
 
 static struct device_driver pxafb_driver = {
-       .name           = "pxa2xx-fb",
+       .name           = "pxafb",
        .bus            = &platform_bus_type,
        .probe          = pxafb_probe,
 #ifdef CONFIG_PM