static int cfag12864bfb_probe()

in cfag12864bfb.c [67:98]


static int cfag12864bfb_probe(struct platform_device *device)
{
	int ret = -EINVAL;
	struct fb_info *info = framebuffer_alloc(0, &device->dev);

	if (!info)
		goto none;

	info->screen_base = (char __iomem *) cfag12864b_buffer;
	info->screen_size = CFAG12864B_SIZE;
	info->fbops = &cfag12864bfb_ops;
	info->fix = cfag12864bfb_fix;
	info->var = cfag12864bfb_var;
	info->pseudo_palette = NULL;
	info->par = NULL;
	info->flags = FBINFO_FLAG_DEFAULT;

	if (register_framebuffer(info) < 0)
		goto fballoced;

	platform_set_drvdata(device, info);

	fb_info(info, "%s frame buffer device\n", info->fix.id);

	return 0;

fballoced:
	framebuffer_release(info);

none:
	return ret;
}