From f8d82289bdbf9c6f14aa1f01356ab4612e394da2 Mon Sep 17 00:00:00 2001 From: yxj Date: Fri, 1 Feb 2013 10:23:38 +0800 Subject: [PATCH] rk3188 lcdc:implement rk3188_lcdc_shutdown --- drivers/video/rockchip/lcdc/rk3188_lcdc.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) 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, -- 2.34.1