diff options
Diffstat (limited to 'drivers')
| -rw-r--r-- | drivers/video/pxafb.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/drivers/video/pxafb.c b/drivers/video/pxafb.c index 2552b9f325ee..642c1d47178f 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 | ||
| 886 | static inline int pxafb_overlay_supported(void) | ||
| 887 | { | ||
| 888 | if (cpu_is_pxa27x() || cpu_is_pxa3xx()) | ||
| 889 | return 1; | ||
| 890 | |||
| 891 | return 0; | ||
| 892 | } | ||
| 893 | |||
| 886 | static int __devinit pxafb_overlay_init(struct pxafb_info *fbi) | 894 | static 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 | } |
