On Wednesday 30 Nov 2016 20:34:17 Benjamin Gaignard wrote:
If HAVE_ARCH_FB_UNMAPPED_AREA is set and get_fb_unmapped_area function not defined in platform architecture let use a default function.
Signed-off-by: Benjamin Gaignard benjamin.gaignard@linaro.org
drivers/video/fbdev/core/fbmem.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+)
diff --git a/drivers/video/fbdev/core/fbmem.c b/drivers/video/fbdev/core/fbmem.c index 76c1ad9..54488ee 100644 --- a/drivers/video/fbdev/core/fbmem.c +++ b/drivers/video/fbdev/core/fbmem.c @@ -1492,6 +1492,21 @@ static long fb_compat_ioctl(struct file *file, unsigned int cmd, return 0; }
+#if defined(HAVE_ARCH_FB_UNMAPPED_AREA) && !defined(get_fb_unmapped_area)
I think I've asked this twice already, how is that possible ?
+unsigned long get_fb_unmapped_area(struct file *filp,
unsigned long addr, unsigned long len,
unsigned long pgoff, unsigned long flags)
+{
- struct fb_info * const info = filp->private_data;
- unsigned long fb_size = PAGE_ALIGN(info->fix.smem_len);
- if (pgoff > fb_size || len > fb_size - pgoff)
return -EINVAL;
- return (unsigned long)info->screen_base + pgoff;
+} +#endif
static const struct file_operations fb_fops = { .owner = THIS_MODULE, .read = fb_read,