aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/video/s3c-fb.c
diff options
context:
space:
mode:
authorJingoo Han <jg1.han@samsung.com>2012-04-04 02:57:44 -0400
committerFlorian Tobias Schandinat <FlorianSchandinat@gmx.de>2012-04-16 00:17:59 -0400
commit4e0dd49d2c4bc10d56bc536113c16f165c0edeb3 (patch)
treeb4e540a81251d3c11f41fde83a2053f2477ebb9b /drivers/video/s3c-fb.c
parent366ee7c2289cc307259166fe8c2f093920c1e575 (diff)
video: s3c-fb: add runtime_get/put to suspend/resume
This patch adds runtime_get/put to suspend/resume, which should be necessary to prevent the problem to access the fimd register without block power on. Signed-off-by: Jingoo Han <jg1.han@samsung.com> Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
Diffstat (limited to 'drivers/video/s3c-fb.c')
-rw-r--r--drivers/video/s3c-fb.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/drivers/video/s3c-fb.c b/drivers/video/s3c-fb.c
index 18c84b8d45b5..ecb82bb4e606 100644
--- a/drivers/video/s3c-fb.c
+++ b/drivers/video/s3c-fb.c
@@ -1557,6 +1557,8 @@ static int s3c_fb_suspend(struct device *dev)
1557 struct s3c_fb_win *win; 1557 struct s3c_fb_win *win;
1558 int win_no; 1558 int win_no;
1559 1559
1560 pm_runtime_get_sync(sfb->dev);
1561
1560 for (win_no = S3C_FB_MAX_WIN - 1; win_no >= 0; win_no--) { 1562 for (win_no = S3C_FB_MAX_WIN - 1; win_no >= 0; win_no--) {
1561 win = sfb->windows[win_no]; 1563 win = sfb->windows[win_no];
1562 if (!win) 1564 if (!win)
@@ -1570,6 +1572,9 @@ static int s3c_fb_suspend(struct device *dev)
1570 clk_disable(sfb->lcd_clk); 1572 clk_disable(sfb->lcd_clk);
1571 1573
1572 clk_disable(sfb->bus_clk); 1574 clk_disable(sfb->bus_clk);
1575
1576 pm_runtime_put_sync(sfb->dev);
1577
1573 return 0; 1578 return 0;
1574} 1579}
1575 1580
@@ -1582,6 +1587,8 @@ static int s3c_fb_resume(struct device *dev)
1582 int win_no; 1587 int win_no;
1583 u32 reg; 1588 u32 reg;
1584 1589
1590 pm_runtime_get_sync(sfb->dev);
1591
1585 clk_enable(sfb->bus_clk); 1592 clk_enable(sfb->bus_clk);
1586 1593
1587 if (!sfb->variant.has_clksel) 1594 if (!sfb->variant.has_clksel)
@@ -1628,6 +1635,8 @@ static int s3c_fb_resume(struct device *dev)
1628 s3c_fb_set_par(win->fbinfo); 1635 s3c_fb_set_par(win->fbinfo);
1629 } 1636 }
1630 1637
1638 pm_runtime_put_sync(sfb->dev);
1639
1631 return 0; 1640 return 0;
1632} 1641}
1633#endif 1642#endif