2009-03-31 23:24:53

by Chris Wright

[permalink] [raw]
Subject: [patch 28/45] ARM: pxa: fix overlay being un-necessarily initialized on pxa25x

-stable review patch. If anyone has any objections, please let us know.
---------------------

From: Eric Miao <[email protected]>

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 <[email protected]>
Signed-off-by: Chris Wright <[email protected]>
---
drivers/video/pxafb.c | 14 ++++++++++++++
1 file changed, 14 insertions(+)

--- a/drivers/video/pxafb.c
+++ b/drivers/video/pxafb.c
@@ -883,10 +883,21 @@ static void __devinit init_pxafb_overlay
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
{
int i;

+ if (!pxafb_overlay_supported())
+ return;
+
for (i = 0; i < 2; i++)
unregister_framebuffer(&fbi->overlay[i].fb);
}