Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 7ac3d3eb authored by Paul Mundt's avatar Paul Mundt
Browse files

Merge branch 'fbdev-driver-fixes' of...

Merge branch 'fbdev-driver-fixes' of master.kernel.org:/pub/scm/linux/kernel/git/lethal/sh-2.6 into fbdev-fixes-for-linus
parents a7bcf21e 5784fa52
Loading
Loading
Loading
Loading
+4 −1
Original line number Original line Diff line number Diff line
@@ -1071,6 +1071,10 @@ static void sh_hdmi_edid_work_fn(struct work_struct *work)
		if (!hdmi->info)
		if (!hdmi->info)
			goto out;
			goto out;


		hdmi->monspec.modedb_len = 0;
		fb_destroy_modedb(hdmi->monspec.modedb);
		hdmi->monspec.modedb = NULL;

		acquire_console_sem();
		acquire_console_sem();


		/* HDMI disconnect */
		/* HDMI disconnect */
@@ -1078,7 +1082,6 @@ static void sh_hdmi_edid_work_fn(struct work_struct *work)


		release_console_sem();
		release_console_sem();
		pm_runtime_put(hdmi->dev);
		pm_runtime_put(hdmi->dev);
		fb_destroy_modedb(hdmi->monspec.modedb);
	}
	}


out:
out:
+12 −9
Original line number Original line Diff line number Diff line
@@ -115,15 +115,16 @@ static const struct fb_videomode default_720p = {
	.xres = 1280,
	.xres = 1280,
	.yres = 720,
	.yres = 720,


	.left_margin = 200,
	.left_margin = 220,
	.right_margin = 88,
	.right_margin = 110,
	.hsync_len = 48,
	.hsync_len = 40,


	.upper_margin = 20,
	.upper_margin = 20,
	.lower_margin = 5,
	.lower_margin = 5,
	.vsync_len = 5,
	.vsync_len = 5,


	.pixclock = 13468,
	.pixclock = 13468,
	.refresh = 60,
	.sync = FB_SYNC_VERT_HIGH_ACT | FB_SYNC_HOR_HIGH_ACT,
	.sync = FB_SYNC_VERT_HIGH_ACT | FB_SYNC_HOR_HIGH_ACT,
};
};


@@ -1197,6 +1198,7 @@ static int __devinit sh_mobile_lcdc_probe(struct platform_device *pdev)
		const struct fb_videomode *mode = cfg->lcd_cfg;
		const struct fb_videomode *mode = cfg->lcd_cfg;
		unsigned long max_size = 0;
		unsigned long max_size = 0;
		int k;
		int k;
		int num_cfg;


		ch->info = framebuffer_alloc(0, &pdev->dev);
		ch->info = framebuffer_alloc(0, &pdev->dev);
		if (!ch->info) {
		if (!ch->info) {
@@ -1232,8 +1234,14 @@ static int __devinit sh_mobile_lcdc_probe(struct platform_device *pdev)
		info->fix = sh_mobile_lcdc_fix;
		info->fix = sh_mobile_lcdc_fix;
		info->fix.smem_len = max_size * (cfg->bpp / 8) * 2;
		info->fix.smem_len = max_size * (cfg->bpp / 8) * 2;


		if (!mode)
		if (!mode) {
			mode = &default_720p;
			mode = &default_720p;
			num_cfg = 1;
		} else {
			num_cfg = ch->cfg.num_cfg;
		}

		fb_videomode_to_modelist(mode, num_cfg, &info->modelist);


		fb_videomode_to_var(var, mode);
		fb_videomode_to_var(var, mode);
		/* Default Y virtual resolution is 2x panel size */
		/* Default Y virtual resolution is 2x panel size */
@@ -1281,10 +1289,6 @@ static int __devinit sh_mobile_lcdc_probe(struct platform_device *pdev)


	for (i = 0; i < j; i++) {
	for (i = 0; i < j; i++) {
		struct sh_mobile_lcdc_chan *ch = priv->ch + i;
		struct sh_mobile_lcdc_chan *ch = priv->ch + i;
		const struct fb_videomode *mode = ch->cfg.lcd_cfg;

		if (!mode)
			mode = &default_720p;


		info = ch->info;
		info = ch->info;


@@ -1297,7 +1301,6 @@ static int __devinit sh_mobile_lcdc_probe(struct platform_device *pdev)
			}
			}
		}
		}


		fb_videomode_to_modelist(mode, ch->cfg.num_cfg, &info->modelist);
		error = register_framebuffer(info);
		error = register_framebuffer(info);
		if (error < 0)
		if (error < 0)
			goto err1;
			goto err1;