Merge tag 'fbdev-v4.13' of git://github.com/bzolnier/linux
authorLinus Torvalds <torvalds@linux-foundation.org>
Thu, 13 Jul 2017 18:52:00 +0000 (11:52 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Thu, 13 Jul 2017 18:52:00 +0000 (11:52 -0700)
Pull fbdev updates from Bartlomiej Zolnierkiewicz:
 "There is nothing really major here, just a couple of small bugfixes,
  improvements and cleanups.

   - fix get_fb_unmapped_area() helper handling (Benjamin Gaignard)

   - check return value of clk_prepare_enable() in pxafb driver (Arvind
     Yadav)

   - fix error path handling in vmlfb driver (Alexey Khoroshilov)

   - printks fixes/cleanups for uvesafb driver (Joe Perches)

   - fix unusued variable warning in atyfb driver (Arnd Bergmann)

   - constifications for sh_mobile_lcdcfb, fsl-diu-fb, omapfb (Arvind
     Yadav)

   - mdacon driver cleanups (Jiri Slaby)

   - misc cleanups (Andy Shevchenko, Karim Eshapa, Gustavo A. R. Silva,
     Dan Carpenter)"

* tag 'fbdev-v4.13' of git://github.com/bzolnier/linux:
  fbdev: make get_fb_unmapped_area depends of !MMU
  atyfb: hide unused variable
  video: fbdev: matrox: the list iterator can't be NULL
  video: fbdev: aty: remove useless variable assignments in aty_var_to_crtc()
  fbdev: omapfb: constify ctrl_caps, color_caps, panel_attr_grp and ctrl_attr_grp
  omapfb: panel-dsi-cm: constify dsicm_attr_group
  vmlfb: Fix error handling in cr_pll_init()
  video: fbdev: fsl-diu-fb: constify mfb_template and fsl_diu_match.
  uvesafb: Fix continuation printks without KERN_LEVEL to pr_cont, neatening
  video: fbdev: sh_mobile_lcdcfb: constify sh_mobile_lcdc_bl_ops.
  omapfb: Use sysfs_match_string() helper
  video: fbdev: pxafb: Handle return value of clk_prepare_enable
  video: fbdev: omap2: omapfb: displays: panel-dsi-cm: Use time comparison kernel macro.
  mdacon: replace MDA_ADDR macro by inline function
  mdacon: make mda_vram_base u16 *
  mdacon: align code in mda_detect properly

1  2 
drivers/video/fbdev/core/fbmem.c

index 5324358f110fa6e52e5c004a1bf59125b3b36753,f20c5d23483c9bd51b9ebb0a989ed4a8d3ac9487..7a42238db446b0093323505b710963ac94a53e15
@@@ -1331,13 -1331,22 +1331,13 @@@ static int do_fscreeninfo_to_user(struc
  static int fb_get_fscreeninfo(struct fb_info *info, unsigned int cmd,
                              unsigned long arg)
  {
 -      mm_segment_t old_fs;
        struct fb_fix_screeninfo fix;
 -      struct fb_fix_screeninfo32 __user *fix32;
 -      int err;
 -
 -      fix32 = compat_ptr(arg);
 -
 -      old_fs = get_fs();
 -      set_fs(KERNEL_DS);
 -      err = do_fb_ioctl(info, cmd, (unsigned long) &fix);
 -      set_fs(old_fs);
  
 -      if (!err)
 -              err = do_fscreeninfo_to_user(&fix, fix32);
 -
 -      return err;
 +      if (!lock_fb_info(info))
 +              return -ENODEV;
 +      fix = info->fix;
 +      unlock_fb_info(info);
 +      return do_fscreeninfo_to_user(&fix, compat_ptr(arg));
  }
  
  static long fb_compat_ioctl(struct file *file, unsigned int cmd,
@@@ -1483,7 -1492,7 +1483,7 @@@ __releases(&info->lock
        return 0;
  }
  
- #ifdef CONFIG_FB_PROVIDE_GET_FB_UNMAPPED_AREA
+ #if defined(CONFIG_FB_PROVIDE_GET_FB_UNMAPPED_AREA) && !defined(CONFIG_MMU)
  unsigned long get_fb_unmapped_area(struct file *filp,
                                   unsigned long addr, unsigned long len,
                                   unsigned long pgoff, unsigned long flags)
@@@ -1510,7 -1519,8 +1510,8 @@@ static const struct file_operations fb_
        .open =         fb_open,
        .release =      fb_release,
  #if defined(HAVE_ARCH_FB_UNMAPPED_AREA) || \
-     defined(CONFIG_FB_PROVIDE_GET_FB_UNMAPPED_AREA)
+       (defined(CONFIG_FB_PROVIDE_GET_FB_UNMAPPED_AREA) && \
+        !defined(CONFIG_MMU))
        .get_unmapped_area = get_fb_unmapped_area,
  #endif
  #ifdef CONFIG_FB_DEFERRED_IO