Commit b5a8466d authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull fbdev updates from Helge Deller:
 "The two major changes in this patchset corrects VGA modes, color
  handling and various other smaller fixes in the Atari framebuffer (by
  Geert Uytterhoeven), and devm_* conversion, platform data fixes and
  header cleanups in the imxfb driver (by Uwe Kleine-König).

  Other small patches clean up code in sa1100fb, cirrusfb and omapfb,
  fix a refcount leak in amba-clcd (by Liang He), and adds parameter
  checks to arkfb, i740fb, vt8623fb and s3fb (by Zheyu Ma)"

* tag 'for-5.20/fbdev-1' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/linux-fbdev: (27 commits)
  video: fbdev: s3fb: Check the size of screen before memset_io()
  video: fbdev: arkfb: Check the size of screen before memset_io()
  video: fbdev: vt8623fb: Check the size of screen before memset_io()
  video: fbdev: i740fb: Check the argument of i740_calc_vclk()
  video: fbdev: arkfb: Fix a divide-by-zero bug in ark_set_pixclock()
  video: fbdev: imxfb: fix return value check in imxfb_probe()
  video: fbdev: sis: fix typos in SiS_GetModeID()
  video: fbdev: imxfb: Convert request_mem_region + ioremap to devm_ioremap_resource
  video: fbdev: imxfb: Fold <linux/platform_data/video-imxfb.h> into only user
  video: fbdev: imxfb: Drop unused symbols from header
  video: fbdev: imxfb: Drop platform data support
  video: fbdev: amba-clcd: Fix refcount leak bugs
  video: fbdev: omapfb: Unexport omap*_update_window_async()
  video: fbdev: atari: Remove backward bug-compatibility
  video: fbdev: atari: Remove unused definitions and variables
  video: fbdev: atari: Fix VGA modes
  video: fbdev: atari: Fix TT High video mode vertical refresh
  video: fbdev: atari: Remove unneeded casts to void *
  video: fbdev: atari: Remove unneeded casts from void *
  video: fbdev: atari: Fix ext_setcolreg()
  ...
parents 1612c382 6ba592fa
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -367,8 +367,8 @@ activated by a "external:" sub-option.
4.1.2) inverse
--------------

Invert the display. This affects both, text (consoles) and graphics
(X) display. Usually, the background is chosen to be black. With this
Invert the display. This affects only text consoles.
Usually, the background is chosen to be black. With this
option, you can make the background white.

4.1.3) font
+0 −1
Original line number Diff line number Diff line
@@ -8139,7 +8139,6 @@ L: linux-fbdev@vger.kernel.org
L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
S:	Maintained
F:	drivers/video/fbdev/imxfb.c
F:	include/linux/platform_data/video-imxfb.h
FREESCALE IMX DDR PMU DRIVER
M:	Frank Li <Frank.li@nxp.com>
+2 −5
Original line number Diff line number Diff line
@@ -84,9 +84,6 @@ static const struct fb_fix_screeninfo mc68x328fb_fix __initconst = {
    /*
     *  Interface used by the world
     */
int mc68x328fb_init(void);
int mc68x328fb_setup(char *);

static int mc68x328fb_check_var(struct fb_var_screeninfo *var,
			 struct fb_info *info);
static int mc68x328fb_set_par(struct fb_info *info);
@@ -403,7 +400,7 @@ static int mc68x328fb_mmap(struct fb_info *info, struct vm_area_struct *vma)
#endif
}

int __init mc68x328fb_setup(char *options)
static int __init mc68x328fb_setup(char *options)
{
	if (!options || !*options)
		return 1;
@@ -414,7 +411,7 @@ int __init mc68x328fb_setup(char *options)
     *  Initialisation
     */

int __init mc68x328fb_init(void)
static int __init mc68x328fb_init(void)
{
#ifndef MODULE
	char *option = NULL;
+18 −6
Original line number Diff line number Diff line
@@ -698,16 +698,18 @@ static int clcdfb_of_init_display(struct clcd_fb *fb)
		return -ENODEV;

	panel = of_graph_get_remote_port_parent(endpoint);
	if (!panel)
		return -ENODEV;
	if (!panel) {
		err = -ENODEV;
		goto out_endpoint_put;
	}

	err = clcdfb_of_get_backlight(&fb->dev->dev, fb->panel);
	if (err)
		return err;
		goto out_panel_put;

	err = clcdfb_of_get_mode(&fb->dev->dev, panel, fb->panel);
	if (err)
		return err;
		goto out_panel_put;

	err = of_property_read_u32(fb->dev->dev.of_node, "max-memory-bandwidth",
			&max_bandwidth);
@@ -736,11 +738,21 @@ static int clcdfb_of_init_display(struct clcd_fb *fb)

	if (of_property_read_u32_array(endpoint,
			"arm,pl11x,tft-r0g0b0-pads",
			tft_r0b0g0, ARRAY_SIZE(tft_r0b0g0)) != 0)
		return -ENOENT;
			tft_r0b0g0, ARRAY_SIZE(tft_r0b0g0)) != 0) {
		err = -ENOENT;
		goto out_panel_put;
	}

	of_node_put(panel);
	of_node_put(endpoint);

	return clcdfb_of_init_tft_panel(fb, tft_r0b0g0[0],
					tft_r0b0g0[1],  tft_r0b0g0[2]);
out_panel_put:
	of_node_put(panel);
out_endpoint_put:
	of_node_put(endpoint);
	return err;
}

static int clcdfb_of_vram_setup(struct clcd_fb *fb)
+2 −13
Original line number Diff line number Diff line
@@ -2540,27 +2540,16 @@ static int amifb_blank(int blank, struct fb_info *info)
static int amifb_pan_display(struct fb_var_screeninfo *var,
			     struct fb_info *info)
{
	if (var->vmode & FB_VMODE_YWRAP) {
		if (var->yoffset < 0 ||
			var->yoffset >= info->var.yres_virtual || var->xoffset)
				return -EINVAL;
	} else {
	if (!(var->vmode & FB_VMODE_YWRAP)) {
		/*
		 * TODO: There will be problems when xpan!=1, so some columns
		 * on the right side will never be seen
		 */
		if (var->xoffset + info->var.xres >
		    upx(16 << maxfmode, info->var.xres_virtual) ||
		    var->yoffset + info->var.yres > info->var.yres_virtual)
		    upx(16 << maxfmode, info->var.xres_virtual))
			return -EINVAL;
	}
	ami_pan_var(var, info);
	info->var.xoffset = var->xoffset;
	info->var.yoffset = var->yoffset;
	if (var->vmode & FB_VMODE_YWRAP)
		info->var.vmode |= FB_VMODE_YWRAP;
	else
		info->var.vmode &= ~FB_VMODE_YWRAP;
	return 0;
}

Loading