Merge tag 'fbdev-4.7' of git://git.kernel.org/pub/scm/linux/kernel/git/tomba/linux
authorLinus Torvalds <torvalds@linux-foundation.org>
Fri, 20 May 2016 18:01:02 +0000 (11:01 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Fri, 20 May 2016 18:01:02 +0000 (11:01 -0700)
Pull fbdev updates from Tomi Valkeinen:

 - imxfb: fix lcd power up

 - small fixes and cleanups

* tag 'fbdev-4.7' of git://git.kernel.org/pub/scm/linux/kernel/git/tomba/linux:
  fbdev: Use IS_ENABLED() instead of checking for built-in or module
  efifb: Don't show the mapping VA
  video: AMBA CLCD: Remove unncessary include in amba-clcd.c
  fbdev: ssd1307fb: Fix charge pump setting
  Documentation: fb: fix spelling mistakes
  fbdev: fbmem: implement error handling in fbmem_init()
  fbdev: sh_mipi_dsi: remove driver
  video: fbdev: imxfb: add some error handling
  video: fbdev: imxfb: fix semantic of .get_power and .set_power
  video: fbdev: omap2: Remove deprecated regulator_can_change_voltage() usage

1  2 
drivers/video/fbdev/Kconfig
drivers/video/fbdev/amba-clcd.c
drivers/video/fbdev/efifb.c

@@@ -761,7 -761,7 +761,7 @@@ config FB_VES
  
  config FB_EFI
        bool "EFI-based Framebuffer Support"
 -      depends on (FB = y) && X86 && EFI
 +      depends on (FB = y) && !IA64 && EFI
        select FB_CFB_FILLRECT
        select FB_CFB_COPYAREA
        select FB_CFB_IMAGEBLIT
@@@ -1993,7 -1993,6 +1993,6 @@@ config FB_SH_MOBILE_LCD
        select FB_SYS_FOPS
        select FB_DEFERRED_IO
        select FB_BACKLIGHT
-       select SH_MIPI_DSI if SH_LCD_MIPI_DSI
        ---help---
          Frame buffer driver for the on-chip SH-Mobile LCD controller.
  
@@@ -34,8 -34,6 +34,6 @@@
  #include <video/of_display_timing.h>
  #include <video/videomode.h>
  
- #include <asm/sizes.h>
  #define to_clcd(info) container_of(info, struct clcd_fb, fb)
  
  /* This is limited to 16 characters when displayed by X startup */
@@@ -440,14 -438,13 +438,14 @@@ static int clcdfb_register(struct clcd_
                fb->off_ienb = CLCD_PL111_IENB;
                fb->off_cntl = CLCD_PL111_CNTL;
        } else {
 -#ifdef CONFIG_ARCH_VERSATILE
 -              fb->off_ienb = CLCD_PL111_IENB;
 -              fb->off_cntl = CLCD_PL111_CNTL;
 -#else
 -              fb->off_ienb = CLCD_PL110_IENB;
 -              fb->off_cntl = CLCD_PL110_CNTL;
 -#endif
 +              if (of_machine_is_compatible("arm,versatile-ab") ||
 +                  of_machine_is_compatible("arm,versatile-pb")) {
 +                      fb->off_ienb = CLCD_PL111_IENB;
 +                      fb->off_cntl = CLCD_PL111_CNTL;
 +              } else {
 +                      fb->off_ienb = CLCD_PL110_IENB;
 +                      fb->off_cntl = CLCD_PL110_CNTL;
 +              }
        }
  
        fb->clk = clk_get(&fb->dev->dev, NULL);
@@@ -6,14 -6,16 +6,14 @@@
   *
   */
  
 -#include <linux/module.h>
  #include <linux/kernel.h>
 +#include <linux/efi.h>
  #include <linux/errno.h>
  #include <linux/fb.h>
  #include <linux/platform_device.h>
  #include <linux/screen_info.h>
 -#include <linux/dmi.h>
 -#include <linux/pci.h>
  #include <video/vga.h>
 -#include <asm/sysfb.h>
 +#include <asm/efi.h>
  
  static bool request_mem_succeeded = false;
  
@@@ -83,13 -85,21 +83,13 @@@ static struct fb_ops efifb_ops = 
  static int efifb_setup(char *options)
  {
        char *this_opt;
 -      int i;
  
        if (options && *options) {
                while ((this_opt = strsep(&options, ",")) != NULL) {
                        if (!*this_opt) continue;
  
 -                      for (i = 0; i < M_UNKNOWN; i++) {
 -                              if (efifb_dmi_list[i].base != 0 &&
 -                                  !strcmp(this_opt, efifb_dmi_list[i].optname)) {
 -                                      screen_info.lfb_base = efifb_dmi_list[i].base;
 -                                      screen_info.lfb_linelength = efifb_dmi_list[i].stride;
 -                                      screen_info.lfb_width = efifb_dmi_list[i].width;
 -                                      screen_info.lfb_height = efifb_dmi_list[i].height;
 -                              }
 -                      }
 +                      efifb_setup_from_dmi(&screen_info, this_opt);
 +
                        if (!strncmp(this_opt, "base:", 5))
                                screen_info.lfb_base = simple_strtoul(this_opt+5, NULL, 0);
                        else if (!strncmp(this_opt, "stride:", 7))
@@@ -237,10 -247,8 +237,8 @@@ static int efifb_probe(struct platform_
                goto err_release_fb;
        }
  
-       printk(KERN_INFO "efifb: framebuffer at 0x%lx, mapped to 0x%p, "
-              "using %dk, total %dk\n",
-              efifb_fix.smem_start, info->screen_base,
-              size_remap/1024, size_total/1024);
+       printk(KERN_INFO "efifb: framebuffer at 0x%lx, using %dk, total %dk\n",
+              efifb_fix.smem_start, size_remap/1024, size_total/1024);
        printk(KERN_INFO "efifb: mode is %dx%dx%d, linelength=%d, pages=%d\n",
               efifb_defined.xres, efifb_defined.yres,
               efifb_defined.bits_per_pixel, efifb_fix.line_length,
@@@ -328,4 -336,5 +326,4 @@@ static struct platform_driver efifb_dri
        .remove = efifb_remove,
  };
  
 -module_platform_driver(efifb_driver);
 -MODULE_LICENSE("GPL");
 +builtin_platform_driver(efifb_driver);