fbdev changes for v5.1:
- 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áč) -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iQIcBAABCAAGBQJci4YTAAoJEH4ztj+gR8IL8jkP/0BkuxHS1ZCP/JAbah/yM838 yuULNSxsO5FqmoH7n7AqDZ8j0NttMEQirzxN7vv5QkZi6QxWVHIFMaxqQSB4DfMg lLF9LFAL/tzKBc5f3dVnD2YzJpNpg715ncfY55Jz0o/as2RE9OLlmwxYGF1VRLIG EsBjYm4b0iVCOSu2YxecNCfPoy2LhwdqM8dxXdVgyuDRqxwoD2giC5pNDQVUMvQ3 037S256DblvedGNdj7g0QmmdvOmsd8jjhE/hJmjrvIp43pHDuFSH9mRZufKTVF3l kXIlrJahH35w/Fv2rdWM4PlmuAKBIm49NVaZFfCodjCLIBidPSWNctKQnhY71Skf oJSqftgiApVIGweKXYQnFpw964LVe5q85xeVRj3zLr9LCuo4EhiP8ue58eFnwWud FTLEgiWSlomrd98t2C6HEnEUMv6XlulI2mAMmqBTZmmV/Vm1hiwHkL6sMFLfuB1A Ee1m6LIqMombGsUwkUmRRGqWNeunX1TETVDCXuPb9EyyigSaA1PDtANF9UzXWMNf ZKU9Vz0Lq3TFuhr5PolLjiAvXgxf9YLk36VgCu9CoGh/GFpMqRGoDPQkGOxy81E9 FpXTk7A7XmtUiwX4Tfxy6RrRBBtZWwvuBP79/yyEpl+IVbES/nS6R8TekQp5jbZj r/1Z8shbwO4hltu6z14X =+ZFI -----END PGP SIGNATURE----- Merge tag 'fbdev-v5.1' of git://github.com/bzolnier/linux 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"
This commit is contained in:
commit
2b9c272cf5
|
@ -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>;
|
||||
|
|
|
@ -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>;
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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 {
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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) {
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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 */
|
||||
|
|
|
@ -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;
|
||||
struct dentry *dir;
|
||||
|
||||
dbg = kzalloc(sizeof(struct mbxfb_debugfs_data), GFP_KERNEL);
|
||||
mfbi->debugfs_data = dbg;
|
||||
dir = debugfs_create_dir("mbxfb", NULL);
|
||||
mfbi->debugfs_dir = dir;
|
||||
|
||||
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);
|
||||
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);
|
||||
}
|
||||
|
|
|
@ -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
|
||||
|
||||
};
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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.
|
||||
*/
|
||||
|
|
|
@ -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) {
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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);
|
||||
|
|
Loading…
Reference in New Issue