aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/blackfin/include/asm/pgtable.h6
-rw-r--r--arch/blackfin/kernel/sys_bfin.c11
2 files changed, 17 insertions, 0 deletions
diff --git a/arch/blackfin/include/asm/pgtable.h b/arch/blackfin/include/asm/pgtable.h
index b54cbddf547f..821c699c2238 100644
--- a/arch/blackfin/include/asm/pgtable.h
+++ b/arch/blackfin/include/asm/pgtable.h
@@ -98,6 +98,12 @@ extern unsigned int kobjsize(const void *objp);
98#define VMALLOC_START 0 98#define VMALLOC_START 0
99#define VMALLOC_END 0xffffffff 99#define VMALLOC_END 0xffffffff
100 100
101/* provide a special get_unmapped_area for framebuffer mmaps of nommu */
102extern unsigned long get_fb_unmapped_area(struct file *filp, unsigned long,
103 unsigned long, unsigned long,
104 unsigned long);
105#define HAVE_ARCH_FB_UNMAPPED_AREA
106
101#include <asm-generic/pgtable.h> 107#include <asm-generic/pgtable.h>
102 108
103#endif /* _BLACKFIN_PGTABLE_H */ 109#endif /* _BLACKFIN_PGTABLE_H */
diff --git a/arch/blackfin/kernel/sys_bfin.c b/arch/blackfin/kernel/sys_bfin.c
index 8b294a1c8069..afcef129d4e8 100644
--- a/arch/blackfin/kernel/sys_bfin.c
+++ b/arch/blackfin/kernel/sys_bfin.c
@@ -69,3 +69,14 @@ asmlinkage void *sys_dma_memcpy(void *dest, const void *src, size_t len)
69{ 69{
70 return safe_dma_memcpy(dest, src, len); 70 return safe_dma_memcpy(dest, src, len);
71} 71}
72
73#if defined(CONFIG_FB) || defined(CONFIG_FB_MODULE)
74#include <linux/fb.h>
75unsigned long get_fb_unmapped_area(struct file *filp, unsigned long orig_addr,
76 unsigned long len, unsigned long pgoff, unsigned long flags)
77{
78 struct fb_info *info = filp->private_data;
79 return (unsigned long)info->screen_base;
80}
81EXPORT_SYMBOL(get_fb_unmapped_area);
82#endif