diff options
author | Jingoo Han <jg1.han@samsung.com> | 2012-04-04 02:57:44 -0400 |
---|---|---|
committer | Florian Tobias Schandinat <FlorianSchandinat@gmx.de> | 2012-04-16 00:17:59 -0400 |
commit | 4e0dd49d2c4bc10d56bc536113c16f165c0edeb3 (patch) | |
tree | b4e540a81251d3c11f41fde83a2053f2477ebb9b /drivers/video/s3c-fb.c | |
parent | 366ee7c2289cc307259166fe8c2f093920c1e575 (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.c | 9 |
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 |