From: yxj Date: Fri, 1 Feb 2013 02:23:38 +0000 (+0800) Subject: rk3188 lcdc:implement rk3188_lcdc_shutdown X-Git-Tag: firefly_0821_release~7653 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=f8d82289bdbf9c6f14aa1f01356ab4612e394da2;p=firefly-linux-kernel-4.4.55.git rk3188 lcdc:implement rk3188_lcdc_shutdown --- diff --git a/drivers/video/rockchip/lcdc/rk3188_lcdc.c b/drivers/video/rockchip/lcdc/rk3188_lcdc.c index d60fa5d56b8b..a67bcdc07aa1 100644 --- a/drivers/video/rockchip/lcdc/rk3188_lcdc.c +++ b/drivers/video/rockchip/lcdc/rk3188_lcdc.c @@ -1385,7 +1385,14 @@ static int __devexit rk3188_lcdc_remove(struct platform_device *pdev) static void rk3188_lcdc_shutdown(struct platform_device *pdev) { - + struct rk3188_lcdc_device *lcdc_dev = platform_get_drvdata(pdev); + if(lcdc_dev->driver.cur_screen->standby) //standby the screen if necessary + lcdc_dev->driver.cur_screen->standby(1); + if(lcdc_dev->driver.screen_ctr_info->io_disable) //power off the screen if necessary + lcdc_dev->driver.screen_ctr_info->io_disable(); + if(lcdc_dev->driver.cur_screen->sscreen_set) //turn off lvds if necessary + lcdc_dev->driver.cur_screen->sscreen_set(lcdc_dev->driver.cur_screen , 0); + rk_fb_unregister(&(lcdc_dev->driver)); } static struct platform_driver rk3188_lcdc_driver = { .probe = rk3188_lcdc_probe,