/* Shutdown and then release all the resources that the driver allocated on initialisation.  */
static int __devexit s3c_fb_remove(struct platform_device *pdev)
/* Shutdown and then release all the resources that the driver allocated on initialisation.  */
static int __devexit s3c_fb_remove(struct platform_device *pdev)
{
	struct s3c_fb *sfb = platform_get_drvdata(pdev);
	int win;
	for (win = 0; win < S3C_FB_MAX_WIN; win++)
		if (sfb->windows[win])
			s3c_fb_release_win(sfb, sfb->windows[win]);
	iounmap(sfb->regs);
	clk_disable(sfb->bus_clk);
	clk_put(sfb->bus_clk);
	release_resource(sfb->regs_res);
	kfree(sfb->regs_res);
	kfree(sfb);
	return 0;
}