aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/video/sm501fb.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/video/sm501fb.c')
-rw-r--r--drivers/video/sm501fb.c15
1 files changed, 9 insertions, 6 deletions
diff --git a/drivers/video/sm501fb.c b/drivers/video/sm501fb.c
index 8c39e4d5b08f..e83dfba7e636 100644
--- a/drivers/video/sm501fb.c
+++ b/drivers/video/sm501fb.c
@@ -1698,6 +1698,15 @@ static int sm501fb_suspend_fb(struct sm501fb_info *info,
1698 if (par->screen.size == 0) 1698 if (par->screen.size == 0)
1699 return 0; 1699 return 0;
1700 1700
1701 /* blank the relevant interface to ensure unit power minimised */
1702 (par->ops.fb_blank)(FB_BLANK_POWERDOWN, fbi);
1703
1704 /* tell console/fb driver we are suspending */
1705
1706 acquire_console_sem();
1707 fb_set_suspend(fbi, 1);
1708 release_console_sem();
1709
1701 /* backup copies in case chip is powered down over suspend */ 1710 /* backup copies in case chip is powered down over suspend */
1702 1711
1703 par->store_fb = vmalloc(par->screen.size); 1712 par->store_fb = vmalloc(par->screen.size);
@@ -1717,12 +1726,6 @@ static int sm501fb_suspend_fb(struct sm501fb_info *info,
1717 1726
1718 memcpy_fromio(par->store_fb, par->screen.k_addr, par->screen.size); 1727 memcpy_fromio(par->store_fb, par->screen.k_addr, par->screen.size);
1719 memcpy_fromio(par->store_cursor, par->cursor.k_addr, par->cursor.size); 1728 memcpy_fromio(par->store_cursor, par->cursor.k_addr, par->cursor.size);
1720 /* blank the relevant interface to ensure unit power minimised */
1721 (par->ops.fb_blank)(FB_BLANK_POWERDOWN, fbi);
1722
1723 acquire_console_sem();
1724 fb_set_suspend(fbi, 1);
1725 release_console_sem();
1726 1729
1727 return 0; 1730 return 0;
1728 1731