rk fb: move fb unrigister from shutdown to driver remove
authorhjc <hjc@rock-chips.com>
Thu, 10 Oct 2013 16:10:30 +0000 (09:10 -0700)
committerhjc <hjc@rock-chips.com>
Thu, 10 Oct 2013 16:10:30 +0000 (09:10 -0700)
drivers/video/rockchip/lcdc/rk2928_lcdc.c [changed mode: 0644->0755]
drivers/video/rockchip/lcdc/rk3066b_lcdc.c
drivers/video/rockchip/lcdc/rk30_lcdc.c
drivers/video/rockchip/lcdc/rk3188_lcdc.c

old mode 100644 (file)
new mode 100755 (executable)
index 414c45b..561fa68
@@ -1382,7 +1382,7 @@ static void rk2928_lcdc_shutdown(struct platform_device *pdev)
                lcdc_dev->driver.screen_ctr_info->io_disable();
        if(lcdc_dev->driver.cur_screen->sscreen_set) //turn off  lvds
                lcdc_dev->driver.cur_screen->sscreen_set(lcdc_dev->driver.cur_screen , 0);
-       rk_fb_unregister(&(lcdc_dev->driver));
+       //rk_fb_unregister(&(lcdc_dev->driver));
        rk2928_lcdc_deinit(lcdc_dev);
        /*iounmap(lcdc_dev->reg_vir_base);
        release_mem_region(lcdc_dev->reg_phy_base,lcdc_dev->len);
index 64b6298f4b282891e65f89532edc18e05178d34b..44fc4279a02c5a0274a12ff98679e963e5af835b 100755 (executable)
@@ -1479,7 +1479,7 @@ static void rk3066b_lcdc_shutdown(struct platform_device *pdev)
                lcdc_dev->driver.cur_screen->sscreen_set(lcdc_dev->driver.cur_screen , 0);
 
        rk3066b_lcdc_deinit(lcdc_dev);
-       rk_fb_unregister(&(lcdc_dev->driver));
+       //rk_fb_unregister(&(lcdc_dev->driver));
        
        /*iounmap(lcdc_dev->reg_vir_base);
        release_mem_region(lcdc_dev->reg_phy_base,lcdc_dev->len);
index cf8c1939f6262f8c7547470870aab1229447df8c..7b7b79010d8dd448ccabc68a5e5fcb535e8c3237 100755 (executable)
@@ -1708,7 +1708,7 @@ static void rk30_lcdc_shutdown(struct platform_device *pdev)
        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);
        rk30_lcdc_deinit(lcdc_dev);
-       rk_fb_unregister(&(lcdc_dev->driver));
+       //rk_fb_unregister(&(lcdc_dev->driver));
        
        /*iounmap(lcdc_dev->reg_vir_base);
        release_mem_region(lcdc_dev->reg_phy_base,lcdc_dev->len);
index 29bd5156ccf81dc76637e488999f91505bc14a9d..36fbf32e58b625efae13078454c9f741b5a86f59 100755 (executable)
@@ -1711,6 +1711,10 @@ err0:
 
 static int __devexit rk3188_lcdc_remove(struct platform_device *pdev)
 {
+       struct rk3188_lcdc_device *lcdc_dev = platform_get_drvdata(pdev);
+       rk3188_lcdc_deint(lcdc_dev);    
+       rk_fb_unregister(&(lcdc_dev->driver));
+
        return 0;
 }
 
@@ -1722,7 +1726,7 @@ static void rk3188_lcdc_shutdown(struct platform_device *pdev)
        if(lcdc_dev->driver.screen_ctr_info->io_disable) //power off the screen if necessary
                lcdc_dev->driver.screen_ctr_info->io_disable();
        rk3188_lcdc_deint(lcdc_dev);
-       rk_fb_unregister(&(lcdc_dev->driver));  
+       //rk_fb_unregister(&(lcdc_dev->driver));        
 }
 static struct platform_driver rk3188_lcdc_driver = {
        .probe          = rk3188_lcdc_probe,