aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/video/pxafb.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/video/pxafb.c')
-rw-r--r--drivers/video/pxafb.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/drivers/video/pxafb.c b/drivers/video/pxafb.c
index 48ff701d3a72..40a5d9d66755 100644
--- a/drivers/video/pxafb.c
+++ b/drivers/video/pxafb.c
@@ -883,10 +883,21 @@ static void __devinit init_pxafb_overlay(struct pxafb_info *fbi,
883 init_completion(&ofb->branch_done); 883 init_completion(&ofb->branch_done);
884} 884}
885 885
886static inline int pxafb_overlay_supported(void)
887{
888 if (cpu_is_pxa27x() || cpu_is_pxa3xx())
889 return 1;
890
891 return 0;
892}
893
886static int __devinit pxafb_overlay_init(struct pxafb_info *fbi) 894static int __devinit pxafb_overlay_init(struct pxafb_info *fbi)
887{ 895{
888 int i, ret; 896 int i, ret;
889 897
898 if (!pxafb_overlay_supported())
899 return 0;
900
890 for (i = 0; i < 2; i++) { 901 for (i = 0; i < 2; i++) {
891 init_pxafb_overlay(fbi, &fbi->overlay[i], i); 902 init_pxafb_overlay(fbi, &fbi->overlay[i], i);
892 ret = register_framebuffer(&fbi->overlay[i].fb); 903 ret = register_framebuffer(&fbi->overlay[i].fb);
@@ -909,6 +920,9 @@ static void __devexit pxafb_overlay_exit(struct pxafb_info *fbi)
909{ 920{
910 int i; 921 int i;
911 922
923 if (!pxafb_overlay_supported())
924 return;
925
912 for (i = 0; i < 2; i++) 926 for (i = 0; i < 2; i++)
913 unregister_framebuffer(&fbi->overlay[i].fb); 927 unregister_framebuffer(&fbi->overlay[i].fb);
914} 928}