]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
ARM: pxa: fix overlay being un-necessarily initialized on pxa25x
authorEric Miao <eric.miao@marvell.com>
Thu, 19 Mar 2009 07:24:30 +0000 (15:24 +0800)
committerChris Wright <chrisw@sous-sol.org>
Thu, 2 Apr 2009 20:55:17 +0000 (13:55 -0700)
upstream commit: 782385ae176b304c7105051e1b06c68bc0b4a2ba

pxa25x doesn't support overlay in its LCD controller, this patch adds
pxafb_overlay_supported() functions to check the initialization is
necessary.

Signed-off-by: Eric Miao <eric.miao@marvell.com>
Signed-off-by: Chris Wright <chrisw@sous-sol.org>
drivers/video/pxafb.c

index 2552b9f325ee9b4c33eea202329e23e47b544c3e..642c1d47178fbd5a3d6b58efc5e1738b2386f44a 100644 (file)
@@ -883,10 +883,21 @@ static void __devinit init_pxafb_overlay(struct pxafb_info *fbi,
        init_completion(&ofb->branch_done);
 }
 
+static inline int pxafb_overlay_supported(void)
+{
+       if (cpu_is_pxa27x() || cpu_is_pxa3xx())
+               return 1;
+
+       return 0;
+}
+
 static int __devinit pxafb_overlay_init(struct pxafb_info *fbi)
 {
        int i, ret;
 
+       if (!pxafb_overlay_supported())
+               return 0;
+
        for (i = 0; i < 2; i++) {
                init_pxafb_overlay(fbi, &fbi->overlay[i], i);
                ret = register_framebuffer(&fbi->overlay[i].fb);
@@ -909,6 +920,9 @@ static void __devexit pxafb_overlay_exit(struct pxafb_info *fbi)
 {
        int i;
 
+       if (!pxafb_overlay_supported())
+               return;
+
        for (i = 0; i < 2; i++)
                unregister_framebuffer(&fbi->overlay[i].fb);
 }