Merge tag 'fbdev-v5.1' of git://github.com/bzolnier/linux
authorLinus Torvalds <torvalds@linux-foundation.org>
Fri, 15 Mar 2019 21:22:59 +0000 (14:22 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Fri, 15 Mar 2019 21:22:59 +0000 (14:22 -0700)
Pull fbdev updates from Bartlomiej Zolnierkiewicz:
 "Just a couple of small fixes and cleanups:

   - fix memory access if logo is bigger than the screen (Manfred
     Schlaegl)

   - silence fbcon logo on 'quiet' boots (Prarit Bhargava)

   - use kvmalloc() for scrollback buffer in fbcon (Konstantin Khorenko)

   - misc fixes (Colin Ian King, YueHaibing, Matteo Croce, Mathieu
     Malaterre, Anders Roxell, Arnd Bergmann)

   - misc cleanups (Rob Herring, Lubomir Rintel, Greg Kroah-Hartman,
     Jani Nikula, Michal Vokáč)"

* tag 'fbdev-v5.1' of git://github.com/bzolnier/linux:
  fbdev: mbx: fix a misspelled variable name
  fbdev: omap2: fix warnings in dss core
  video: fbdev: Fix potential NULL pointer dereference
  fbcon: Silence fbcon logo on 'quiet' boots
  printk: Export console_printk
  ARM: dts: imx28-cfa10036: Fix the reset gpio signal polarity
  video: ssd1307fb: Do not hard code active-low reset sequence
  dt-bindings: display: ssd1307fb: Remove reset-active-low from examples
  fbdev: fbmem: fix memory access if logo is bigger than the screen
  video/fbdev: refactor video= cmdline parsing
  fbdev: mbx: fix up debugfs file creation
  fbdev: omap2: no need to check return value of debugfs_create functions
  video: fbdev: geode: remove ifdef OLPC noise
  video: offb: annotate implicit fall throughs
  omapfb: fix typo
  fbdev: Use of_node_name_eq for node name comparisons
  fbcon: use kvmalloc() for scrollback buffer
  fbdev: chipsfb: remove set but not used variable 'size'
  fbdev/via: fix spelling mistake "Expandsion" -> "Expansion"

24 files changed:
Documentation/devicetree/bindings/display/ssd1307fb.txt
arch/arm/boot/dts/imx28-cfa10036.dts
drivers/video/fbdev/aty/radeon_pm.c
drivers/video/fbdev/cg14.c
drivers/video/fbdev/cg3.c
drivers/video/fbdev/chipsfb.c
drivers/video/fbdev/core/fb_cmdline.c
drivers/video/fbdev/core/fbcon.c
drivers/video/fbdev/core/fbmem.c
drivers/video/fbdev/core/fbmon.c
drivers/video/fbdev/ffb.c
drivers/video/fbdev/geode/gxfb_core.c
drivers/video/fbdev/geode/lxfb_core.c
drivers/video/fbdev/imsttfb.c
drivers/video/fbdev/mbx/mbxdebugfs.c
drivers/video/fbdev/mbx/mbxfb.c
drivers/video/fbdev/offb.c
drivers/video/fbdev/omap2/omapfb/dss/core.c
drivers/video/fbdev/omap2/omapfb/dss/dss-of.c
drivers/video/fbdev/omap2/omapfb/dss/dss.h
drivers/video/fbdev/omap2/omapfb/dss/hdmi4_core.c
drivers/video/fbdev/ssd1307fb.c
drivers/video/fbdev/via/viafbdev.c
kernel/printk/printk.c

index 209d931ef16c4e53e46e8378b09f5cf04b121586..b67f8caa212c8fa8959944cf3a8cd2152ba68f92 100644 (file)
@@ -36,7 +36,6 @@ ssd1307: oled@3c {
         reg = <0x3c>;
         pwms = <&pwm 4 3000>;
         reset-gpios = <&gpio2 7>;
-        reset-active-low;
 };
 
 ssd1306: oled@3c {
@@ -44,7 +43,6 @@ ssd1306: oled@3c {
         reg = <0x3c>;
         pwms = <&pwm 4 3000>;
         reset-gpios = <&gpio2 7>;
-        reset-active-low;
         solomon,com-lrremap;
         solomon,com-invdir;
         solomon,com-offset = <32>;
index d3e3622979c5bf9379dd0f3b9cd5ce55048975f9..de48b5808ef6e97efee62f4e7e2c1a257c770970 100644 (file)
@@ -11,6 +11,7 @@
 
 /dts-v1/;
 #include "imx28.dtsi"
+#include <dt-bindings/gpio/gpio.h>
 
 / {
        model = "Crystalfontz CFA-10036 Board";
@@ -96,7 +97,7 @@
                                        pinctrl-names = "default";
                                        pinctrl-0 = <&ssd1306_cfa10036>;
                                        reg = <0x3c>;
-                                       reset-gpios = <&gpio2 7 0>;
+                                       reset-gpios = <&gpio2 7 GPIO_ACTIVE_LOW>;
                                        solomon,height = <32>;
                                        solomon,width = <128>;
                                        solomon,page-offset = <0>;
index e695adb0e5733db9e00f0934506a0af57de09601..2dc5703eac519f0bbc706092b4f50155aa0fa4b0 100644 (file)
@@ -2844,8 +2844,8 @@ void radeonfb_pm_init(struct radeonfb_info *rinfo, int dynclk, int ignore_devlis
                 * in some desktop G4s), Via (M9+ chip on iBook G4) and
                 * Snowy (M11 chip on iBook G4 manufactured after July 2005)
                 */
-               if (!strcmp(rinfo->of_node->name, "ATY,JasperParent") ||
-                   !strcmp(rinfo->of_node->name, "ATY,SnowyParent")) {
+               if (of_node_name_eq(rinfo->of_node, "ATY,JasperParent") ||
+                   of_node_name_eq(rinfo->of_node, "ATY,SnowyParent")) {
                        rinfo->reinit_func = radeon_reinitialize_M10;
                        rinfo->pm_mode |= radeon_pm_off;
                }
@@ -2855,7 +2855,7 @@ void radeonfb_pm_init(struct radeonfb_info *rinfo, int dynclk, int ignore_devlis
                        rinfo->pm_mode |= radeon_pm_off;
                }
 #endif
-               if (!strcmp(rinfo->of_node->name, "ATY,ViaParent")) {
+               if (of_node_name_eq(rinfo->of_node, "ATY,ViaParent")) {
                        rinfo->reinit_func = radeon_reinitialize_M9P;
                        rinfo->pm_mode |= radeon_pm_off;
                }
index 9af54c2368fdb7252219329e9405a73ad4a2f479..a6dce1a78490ae21d82c3250ac42507002745ef4 100644 (file)
@@ -486,8 +486,8 @@ static int cg14_probe(struct platform_device *op)
                                          info->var.xres);
        info->fix.smem_len = PAGE_ALIGN(linebytes * info->var.yres);
 
-       if (!strcmp(dp->parent->name, "sbus") ||
-           !strcmp(dp->parent->name, "sbi")) {
+       if (of_node_name_eq(dp->parent, "sbus") ||
+           of_node_name_eq(dp->parent, "sbi")) {
                info->fix.smem_start = op->resource[0].start;
                par->iospace = op->resource[0].flags & IORESOURCE_BITS;
        } else {
index 1bd95b02f3aa413463183503f0b29223ddf09822..6d42def8436b24b1d36e3a453d5eb466e0a872de 100644 (file)
@@ -369,7 +369,7 @@ static int cg3_probe(struct platform_device *op)
        info->var.red.length = 8;
        info->var.green.length = 8;
        info->var.blue.length = 8;
-       if (!strcmp(dp->name, "cgRDI"))
+       if (of_node_name_eq(dp, "cgRDI"))
                par->flags |= CG3_FLAG_RDI;
        if (par->flags & CG3_FLAG_RDI)
                cg3_rdi_maybe_fixup_var(&info->var, dp);
index 40182ed85648390ba6c803a555373b5fb63ae2d9..ca549e1532e657ad98515033761adfc833a7a874 100644 (file)
@@ -349,7 +349,7 @@ static void init_chips(struct fb_info *p, unsigned long addr)
 static int chipsfb_pci_init(struct pci_dev *dp, const struct pci_device_id *ent)
 {
        struct fb_info *p;
-       unsigned long addr, size;
+       unsigned long addr;
        unsigned short cmd;
        int rc = -ENODEV;
 
@@ -361,7 +361,6 @@ static int chipsfb_pci_init(struct pci_dev *dp, const struct pci_device_id *ent)
        if ((dp->resource[0].flags & IORESOURCE_MEM) == 0)
                goto err_disable;
        addr = pci_resource_start(dp, 0);
-       size = pci_resource_len(dp, 0);
        if (addr == 0)
                goto err_disable;
 
index 39509ccd92f1ef011c2543cfb4dff1112d7f50fd..3b5bd666b9525551ca616333c6a13f566d6e047f 100644 (file)
@@ -75,36 +75,33 @@ EXPORT_SYMBOL(fb_get_options);
  *     NOTE: This function is a __setup and __init function.
  *            It only stores the options.  Drivers have to call
  *            fb_get_options() as necessary.
- *
- *     Returns zero.
- *
  */
 static int __init video_setup(char *options)
 {
-       int i, global = 0;
-
        if (!options || !*options)
-               global = 1;
+               goto out;
 
-       if (!global && !strncmp(options, "ofonly", 6)) {
+       if (!strncmp(options, "ofonly", 6)) {
                ofonly = 1;
-               global = 1;
+               goto out;
        }
 
-       if (!global && !strchr(options, ':')) {
-               fb_mode_option = options;
-               global = 1;
-       }
+       if (strchr(options, ':')) {
+               /* named */
+               int i;
 
-       if (!global) {
                for (i = 0; i < FB_MAX; i++) {
                        if (video_options[i] == NULL) {
                                video_options[i] = options;
                                break;
                        }
                }
+       } else {
+               /* global */
+               fb_mode_option = options;
        }
 
+out:
        return 1;
 }
 __setup("video=", video_setup);
index bfa1360ec750491e2cc065ce8021a3f62495b71c..cd059a801662e9f78d0bc43669d21c64d9e9b47f 100644 (file)
@@ -656,11 +656,14 @@ static void fbcon_prepare_logo(struct vc_data *vc, struct fb_info *info,
                kfree(save);
        }
 
+       if (logo_shown == FBCON_LOGO_DONTSHOW)
+               return;
+
        if (logo_lines > vc->vc_bottom) {
                logo_shown = FBCON_LOGO_CANSHOW;
                printk(KERN_INFO
                       "fbcon_init: disable boot-logo (boot-logo bigger than screen).\n");
-       } else if (logo_shown != FBCON_LOGO_DONTSHOW) {
+       } else {
                logo_shown = FBCON_LOGO_DRAW;
                vc->vc_top = logo_lines;
        }
@@ -999,7 +1002,7 @@ static const char *fbcon_startup(void)
                        if (!softback_buf) {
                                softback_buf =
                                    (unsigned long)
-                                   kmalloc(fbcon_softback_size,
+                                   kvmalloc(fbcon_softback_size,
                                            GFP_KERNEL);
                                if (!softback_buf) {
                                        fbcon_softback_size = 0;
@@ -1008,7 +1011,7 @@ static const char *fbcon_startup(void)
                        }
                } else {
                        if (softback_buf) {
-                               kfree((void *) softback_buf);
+                               kvfree((void *) softback_buf);
                                softback_buf = 0;
                                softback_top = 0;
                        }
@@ -1066,6 +1069,9 @@ static void fbcon_init(struct vc_data *vc, int init)
 
        cap = info->flags;
 
+       if (console_loglevel <= CONSOLE_LOGLEVEL_QUIET)
+               logo_shown = FBCON_LOGO_DONTSHOW;
+
        if (vc != svc || logo_shown == FBCON_LOGO_DONTSHOW ||
            (info->fix.type == FB_TYPE_TEXT))
                logo = 0;
@@ -3672,7 +3678,7 @@ static void fbcon_exit(void)
        }
 #endif
 
-       kfree((void *)softback_buf);
+       kvfree((void *)softback_buf);
        softback_buf = 0UL;
 
        for_each_registered_fb(i) {
index cb43a2258c5185ec8c8112eab30f6375cdf6c899..4721491e6c8cf67ab100a957809f453ef405ab6b 100644 (file)
@@ -431,6 +431,9 @@ static void fb_do_show_logo(struct fb_info *info, struct fb_image *image,
 {
        unsigned int x;
 
+       if (image->width > info->var.xres || image->height > info->var.yres)
+               return;
+
        if (rotate == FB_ROTATE_UR) {
                for (x = 0;
                     x < num && image->dx + image->width <= info->var.xres;
index dd3128990776ef35670fbc4e3cab09bbf6b10ebe..3558a70a66640afea5d1259bb7b582b0ba0c5891 100644 (file)
@@ -978,6 +978,8 @@ void fb_edid_to_monspecs(unsigned char *edid, struct fb_monspecs *specs)
        get_monspecs(edid, specs);
 
        specs->modedb = fb_create_modedb(edid, &specs->modedb_len, specs);
+       if (!specs->modedb)
+               return;
 
        /*
         * Workaround for buggy EDIDs that sets that the first
index 6b1915872af1658c06f43d057f387303f6e69386..b7aee0c427a87978fbac441eaeb7edfca37057a7 100644 (file)
@@ -944,7 +944,7 @@ static int ffb_probe(struct platform_device *op)
 
        info->var.accel_flags = FB_ACCELF_TEXT;
 
-       if (!strcmp(dp->name, "SUNW,afb"))
+       if (of_node_name_eq(dp, "SUNW,afb"))
                par->flags |= FFB_FLAG_AFB;
 
        par->board_type = of_getintprop_default(dp, "board_type", 0);
index f4f76373b2a871ae26532afe8729282939988942..b1906cf5a8f05e6756935921d3838bccd93ec3c5 100644 (file)
@@ -33,6 +33,8 @@
 #include <linux/pci.h>
 #include <linux/cs5535.h>
 
+#include <asm/olpc.h>
+
 #include "gxfb.h"
 
 static char *mode_option;
@@ -107,9 +109,6 @@ static struct fb_videomode gx_modedb[] = {
          FB_VMODE_NONINTERLACED, FB_MODE_IS_VESA },
 };
 
-#ifdef CONFIG_OLPC
-#include <asm/olpc.h>
-
 static struct fb_videomode gx_dcon_modedb[] = {
        /* The only mode the DCON has is 1200x900 */
        { NULL, 50, 1200, 900, 17460, 24, 8, 4, 5, 8, 3,
@@ -128,14 +127,6 @@ static void get_modedb(struct fb_videomode **modedb, unsigned int *size)
        }
 }
 
-#else
-static void get_modedb(struct fb_videomode **modedb, unsigned int *size)
-{
-       *modedb = (struct fb_videomode *) gx_modedb;
-       *size = ARRAY_SIZE(gx_modedb);
-}
-#endif
-
 static int gxfb_check_var(struct fb_var_screeninfo *var, struct fb_info *info)
 {
        if (var->xres > 1600 || var->yres > 1200)
index 138da6cb6cbcd5efbb8d1668ab66b87abfd99de7..17ab905811b1e8db56454410bdd7b96f5d1e2fb2 100644 (file)
@@ -23,6 +23,8 @@
 #include <linux/pci.h>
 #include <linux/uaccess.h>
 
+#include <asm/olpc.h>
+
 #include "lxfb.h"
 
 static char *mode_option;
@@ -216,9 +218,6 @@ static struct fb_videomode geode_modedb[] = {
          0, FB_VMODE_NONINTERLACED, 0 },
 };
 
-#ifdef CONFIG_OLPC
-#include <asm/olpc.h>
-
 static struct fb_videomode olpc_dcon_modedb[] = {
        /* The only mode the DCON has is 1200x900 */
        { NULL, 50, 1200, 900, 17460, 24, 8, 4, 5, 8, 3,
@@ -237,14 +236,6 @@ static void get_modedb(struct fb_videomode **modedb, unsigned int *size)
        }
 }
 
-#else
-static void get_modedb(struct fb_videomode **modedb, unsigned int *size)
-{
-       *modedb = (struct fb_videomode *) geode_modedb;
-       *size = ARRAY_SIZE(geode_modedb);
-}
-#endif
-
 static int lxfb_check_var(struct fb_var_screeninfo *var, struct fb_info *info)
 {
        if (var->xres > 1920 || var->yres > 1440)
index 5d9670daf60ec18fee03e8c896d1f92617606048..4b9615e4ce746242015010cdf7b0d956c0fde6f5 100644 (file)
@@ -1497,8 +1497,8 @@ static int imsttfb_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
        switch (pdev->device) {
                case PCI_DEVICE_ID_IMS_TT128: /* IMS,tt128mbA */
                        par->ramdac = IBM;
-                       if (dp && ((strcmp(dp->name, "IMS,tt128mb8") == 0) ||
-                                  (strcmp(dp->name, "IMS,tt128mb8A") == 0)))
+                       if (of_node_name_eq(dp, "IMS,tt128mb8") ||
+                           of_node_name_eq(dp, "IMS,tt128mb8A"))
                                par->ramdac = TVP;
                        break;
                case PCI_DEVICE_ID_IMS_TT3D:  /* IMS,tt3d */
index 2bd328883178d0158788fd1152360853792eaec5..09af721638fb64cc678762962826390a9be19bb7 100644 (file)
@@ -211,36 +211,22 @@ static const struct file_operations misc_fops = {
 static void mbxfb_debugfs_init(struct fb_info *fbi)
 {
        struct mbxfb_info *mfbi = fbi->par;
-       struct mbxfb_debugfs_data *dbg;
-
-       dbg = kzalloc(sizeof(struct mbxfb_debugfs_data), GFP_KERNEL);
-       mfbi->debugfs_data = dbg;
-
-       dbg->dir = debugfs_create_dir("mbxfb", NULL);
-       dbg->sysconf = debugfs_create_file("sysconf", 0444, dbg->dir,
-                                     fbi, &sysconf_fops);
-       dbg->clock = debugfs_create_file("clock", 0444, dbg->dir,
-                                   fbi, &clock_fops);
-       dbg->display = debugfs_create_file("display", 0444, dbg->dir,
-                                     fbi, &display_fops);
-       dbg->gsctl = debugfs_create_file("gsctl", 0444, dbg->dir,
-                                   fbi, &gsctl_fops);
-       dbg->sdram = debugfs_create_file("sdram", 0444, dbg->dir,
-                                       fbi, &sdram_fops);
-       dbg->misc = debugfs_create_file("misc", 0444, dbg->dir,
-                                       fbi, &misc_fops);
+       struct dentry *dir;
+
+       dir = debugfs_create_dir("mbxfb", NULL);
+       mfbi->debugfs_dir = dir;
+
+       debugfs_create_file("sysconf", 0444, dir, fbi, &sysconf_fops);
+       debugfs_create_file("clock", 0444, dir, fbi, &clock_fops);
+       debugfs_create_file("display", 0444, dir, fbi, &display_fops);
+       debugfs_create_file("gsctl", 0444, dir, fbi, &gsctl_fops);
+       debugfs_create_file("sdram", 0444, dir, fbi, &sdram_fops);
+       debugfs_create_file("misc", 0444, dir, fbi, &misc_fops);
 }
 
 static void mbxfb_debugfs_remove(struct fb_info *fbi)
 {
        struct mbxfb_info *mfbi = fbi->par;
-       struct mbxfb_debugfs_data *dbg = mfbi->debugfs_data;
-
-       debugfs_remove(dbg->misc);
-       debugfs_remove(dbg->sdram);
-       debugfs_remove(dbg->gsctl);
-       debugfs_remove(dbg->display);
-       debugfs_remove(dbg->clock);
-       debugfs_remove(dbg->sysconf);
-       debugfs_remove(dbg->dir);
+
+       debugfs_remove_recursive(mfbi->debugfs_dir);
 }
index 539b85da08973b9dda4261436e7811fcbf76f7ed..6ded480a69b4ae20ca3bca0eea85d501ad2f3b38 100644 (file)
@@ -74,7 +74,7 @@ struct mbxfb_info {
 
        u32 pseudo_palette[MAX_PALETTES];
 #ifdef CONFIG_FB_MBX_DEBUG
-       void *debugfs_data;
+       struct dentry *debugfs_dir;
 #endif
 
 };
index 057d3cdef92e67963291f1a130cb3df700f4807a..fbc6eafb63c7799478d8bc9374a5bd2f9c1072d1 100644 (file)
@@ -141,6 +141,7 @@ static int offb_setcolreg(u_int regno, u_int red, u_int green, u_int blue,
                /* Clear PALETTE_ACCESS_CNTL in DAC_CNTL */
                out_le32(par->cmap_adr + 0x58,
                         in_le32(par->cmap_adr + 0x58) & ~0x20);
+               /* fall through */
        case cmap_r128:
                /* Set palette index & data */
                out_8(par->cmap_adr + 0xb0, regno);
@@ -210,6 +211,7 @@ static int offb_blank(int blank, struct fb_info *info)
                                /* Clear PALETTE_ACCESS_CNTL in DAC_CNTL */
                                out_le32(par->cmap_adr + 0x58,
                                         in_le32(par->cmap_adr + 0x58) & ~0x20);
+                               /* fall through */
                        case cmap_r128:
                                /* Set palette index & data */
                                out_8(par->cmap_adr + 0xb0, i);
@@ -646,7 +648,7 @@ static void __init offb_init_nodriver(struct device_node *dp, int no_real_node)
                }
 #endif
                /* kludge for valkyrie */
-               if (strcmp(dp->name, "valkyrie") == 0)
+               if (of_node_name_eq(dp, "valkyrie"))
                        address += 0x1000;
                offb_init_fb(no_real_node ? "bootx" : NULL,
                             width, height, depth, pitch, address,
index b4bcf3a4a6475be6bd1da796c476bbbf2a47f915..b5956a1a30d44bf9d913c8ff96e06f60b7f112ca 100644 (file)
@@ -110,19 +110,12 @@ DEFINE_SHOW_ATTRIBUTE(dss);
 
 static struct dentry *dss_debugfs_dir;
 
-static int dss_initialize_debugfs(void)
+static void dss_initialize_debugfs(void)
 {
        dss_debugfs_dir = debugfs_create_dir("omapdss", NULL);
-       if (IS_ERR(dss_debugfs_dir)) {
-               int err = PTR_ERR(dss_debugfs_dir);
-               dss_debugfs_dir = NULL;
-               return err;
-       }
 
        debugfs_create_file("clk", S_IRUGO, dss_debugfs_dir,
                        &dss_debug_dump_clocks, &dss_fops);
-
-       return 0;
 }
 
 static void dss_uninitialize_debugfs(void)
@@ -130,26 +123,19 @@ static void dss_uninitialize_debugfs(void)
        debugfs_remove_recursive(dss_debugfs_dir);
 }
 
-int dss_debugfs_create_file(const char *name, void (*write)(struct seq_file *))
+void dss_debugfs_create_file(const char *name, void (*write)(struct seq_file *))
 {
-       struct dentry *d;
-
-       d = debugfs_create_file(name, S_IRUGO, dss_debugfs_dir,
-                       write, &dss_fops);
-
-       return PTR_ERR_OR_ZERO(d);
+       debugfs_create_file(name, S_IRUGO, dss_debugfs_dir, write, &dss_fops);
 }
 #else /* CONFIG_FB_OMAP2_DSS_DEBUGFS */
-static inline int dss_initialize_debugfs(void)
+static inline void dss_initialize_debugfs(void)
 {
-       return 0;
 }
 static inline void dss_uninitialize_debugfs(void)
 {
 }
-int dss_debugfs_create_file(const char *name, void (*write)(struct seq_file *))
+void dss_debugfs_create_file(const char *name, void (*write)(struct seq_file *))
 {
-       return 0;
 }
 #endif /* CONFIG_FB_OMAP2_DSS_DEBUGFS */
 
@@ -182,15 +168,11 @@ static struct notifier_block omap_dss_pm_notif_block = {
 
 static int __init omap_dss_probe(struct platform_device *pdev)
 {
-       int r;
-
        core.pdev = pdev;
 
        dss_features_init(omapdss_get_version());
 
-       r = dss_initialize_debugfs();
-       if (r)
-               goto err_debugfs;
+       dss_initialize_debugfs();
 
        if (def_disp_name)
                core.default_display_name = def_disp_name;
@@ -198,10 +180,6 @@ static int __init omap_dss_probe(struct platform_device *pdev)
        register_pm_notifier(&omap_dss_pm_notif_block);
 
        return 0;
-
-err_debugfs:
-
-       return r;
 }
 
 static int omap_dss_remove(struct platform_device *pdev)
index f1eb8b0f8a2aac3358b4a23a133f244ed385a127..5ce893c1923d283758e46e7c1e6690cefc10e022 100644 (file)
@@ -60,7 +60,7 @@ omapdss_of_get_next_port(const struct device_node *parent,
                                return NULL;
                        }
                        prev = port;
-               } while (of_node_cmp(port->name, "port") != 0);
+               } while (!of_node_name_eq(port, "port"));
 
                of_node_put(ports);
        }
@@ -83,7 +83,7 @@ omapdss_of_get_next_endpoint(const struct device_node *parent,
                if (!ep)
                        return NULL;
                prev = ep;
-       } while (of_node_cmp(ep->name, "endpoint") != 0);
+       } while (!of_node_name_eq(ep, "endpoint"));
 
        return ep;
 }
index a3cc0ca8f9d240d3b5646e3eda4fc4193033fe81..b1a354494144711e95882f1b05c97a583a000911 100644 (file)
@@ -214,7 +214,7 @@ struct platform_device *dss_get_core_pdev(void);
 int dss_dsi_enable_pads(int dsi_id, unsigned lane_mask);
 void dss_dsi_disable_pads(int dsi_id, unsigned lane_mask);
 int dss_set_min_bus_tput(struct device *dev, unsigned long tput);
-int dss_debugfs_create_file(const char *name, void (*write)(struct seq_file *));
+void dss_debugfs_create_file(const char *name, void (*write)(struct seq_file *));
 
 /* display */
 int dss_suspend_all_devices(void);
index fa72e735dad2f995c127a265cd6b82a43bf9c73c..d146793dd044a7318b5931e2fc2136c90afc6523 100644 (file)
@@ -712,7 +712,7 @@ int hdmi4_audio_config(struct hdmi_core_data *core, struct hdmi_wp_data *wp,
        else
                acore.i2s_cfg.justification = HDMI_AUDIO_JUSTIFY_RIGHT;
        /*
-        * The I2S input word length is twice the lenght given in the IEC-60958
+        * The I2S input word length is twice the length given in the IEC-60958
         * status word. If the word size is greater than
         * 20 bits, increment by one.
         */
index 4061a20cfe24a2a33b0e8eda203ac6bad718cb3d..3b361bc9feb8adbb4fce983b9d70d3adfe25e6be 100644 (file)
@@ -667,10 +667,10 @@ static int ssd1307fb_probe(struct i2c_client *client,
 
        if (par->reset) {
                /* Reset the screen */
-               gpiod_set_value_cansleep(par->reset, 0);
-               udelay(4);
                gpiod_set_value_cansleep(par->reset, 1);
                udelay(4);
+               gpiod_set_value_cansleep(par->reset, 0);
+               udelay(4);
        }
 
        if (par->vbat_reg) {
index 7bb7e90b8f006f28548da5ed6b4944ee0f9131e6..bdf5a0ea876de6a0d434c0143f8291eef41c9923 100644 (file)
@@ -2110,7 +2110,7 @@ MODULE_PARM_DESC(viafb_lcd_panel_id,
 
 module_param(viafb_lcd_dsp_method, int, S_IRUSR);
 MODULE_PARM_DESC(viafb_lcd_dsp_method,
-       "Set Flat Panel display scaling method.(Default=Expandsion)");
+       "Set Flat Panel display scaling method.(Default=Expansion)");
 
 module_param(viafb_SAMM_ON, int, S_IRUSR);
 MODULE_PARM_DESC(viafb_SAMM_ON,
index 6b7654b8001fc4d07dc8bcd4a00eddee31e09891..02ca827b8fac7f110535ba5d6aca8f1c87306def 100644 (file)
@@ -65,6 +65,7 @@ int console_printk[4] = {
        CONSOLE_LOGLEVEL_MIN,           /* minimum_console_loglevel */
        CONSOLE_LOGLEVEL_DEFAULT,       /* default_console_loglevel */
 };
+EXPORT_SYMBOL_GPL(console_printk);
 
 atomic_t ignore_console_lock_warning __read_mostly = ATOMIC_INIT(0);
 EXPORT_SYMBOL(ignore_console_lock_warning);