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

Commit 06892481 authored by Shashank Mittal's avatar Shashank Mittal Committed by Channagoud Kadabi
Browse files

vfb: Support vfb configuration from kernel cmdline



Add support to configure mode_option, framebuffer size and bpp
from kernel command line.

Change-Id: I2f08ed3851db4008569f1c77a195e46931674919
Signed-off-by: default avatarShashank Mittal <mittals@codeaurora.org>
Signed-off-by: default avatarDavid Brown <davidb@codeaurora.org>
Signed-off-by: default avatarBruce Levy <blevy@codeaurora.org>
parent 6c0da8be
Loading
Loading
Loading
Loading
+11 −7
Original line number Diff line number Diff line
@@ -36,6 +36,8 @@ static void *videomemory;
static u_long videomemorysize = VIDEOMEMSIZE;
module_param(videomemorysize, ulong, 0);
MODULE_PARM_DESC(videomemorysize, "RAM available to frame buffer (in bytes)");
static int bpp = 8;
module_param(bpp, int, 0644);

static char *mode_option = NULL;
module_param(mode_option, charp, 0);
@@ -397,7 +399,13 @@ static int __init vfb_setup(char *options)
		/* Test disable for backwards compatibility */
		if (!strcmp(this_opt, "disable"))
			vfb_enable = 0;
		else
		else if (!strcmp(this_opt, "bpp=")) {
			if (kstrtoint(this_opt + 4, 0, &bpp) < 0)
				bpp = 8;
		} else if (!strcmp(this_opt, "memsize=")) {
			if (kstrtoul(this_opt + 8, 0, &videomemorysize) < 0)
				videomemorysize = VIDEOMEMSIZE;
		} else
			mode_option = this_opt;
	}
	return 1;
@@ -427,12 +435,8 @@ static int vfb_probe(struct platform_device *dev)
	info->screen_base = (char __iomem *)videomemory;
	info->fbops = &vfb_ops;

	if (!fb_find_mode(&info->var, info, mode_option,
			  NULL, 0, &vfb_default, 8)){
		fb_err(info, "Unable to find usable video mode.\n");
		retval = -EINVAL;
		goto err1;
	}
	retval = fb_find_mode(&info->var, info, mode_option,
			      NULL, 0, NULL, bpp);

	vfb_fix.smem_start = (unsigned long) videomemory;
	vfb_fix.smem_len = videomemorysize;