Browse Source

sm501fb: Call fb suspend function during suspend and resume

Call the fb_set_suspend() over suspend and resume.

Signed-off-by: Antonino Daplas <adaplas@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Ben Dooks 17 years ago
parent
commit
f22e521f29
1 changed files with 9 additions and 0 deletions
  1. 9 0
      drivers/video/sm501fb.c

+ 9 - 0
drivers/video/sm501fb.c

@@ -28,6 +28,7 @@
 #include <linux/wait.h>
 #include <linux/wait.h>
 #include <linux/platform_device.h>
 #include <linux/platform_device.h>
 #include <linux/clk.h>
 #include <linux/clk.h>
+#include <linux/console.h>
 
 
 #include <asm/io.h>
 #include <asm/io.h>
 #include <asm/uaccess.h>
 #include <asm/uaccess.h>
@@ -1697,6 +1698,10 @@ static int sm501fb_suspend_fb(struct sm501fb_info *info,
 	/* blank the relevant interface to ensure unit power minimised */
 	/* blank the relevant interface to ensure unit power minimised */
 	(par->ops.fb_blank)(FB_BLANK_POWERDOWN, fbi);
 	(par->ops.fb_blank)(FB_BLANK_POWERDOWN, fbi);
 
 
+	acquire_console_sem();
+	fb_set_suspend(fbi, 1);
+	release_console_sem();
+
 	return 0;
 	return 0;
 
 
  err_nocursor:
  err_nocursor:
@@ -1732,6 +1737,10 @@ static void sm501fb_resume_fb(struct sm501fb_info *info,
 		memcpy_toio(par->cursor.k_addr, par->store_cursor,
 		memcpy_toio(par->cursor.k_addr, par->store_cursor,
 			    par->cursor.size);
 			    par->cursor.size);
 
 
+	acquire_console_sem();
+	fb_set_suspend(fbi, 0);
+	release_console_sem();
+
 	vfree(par->store_fb);
 	vfree(par->store_fb);
 	vfree(par->store_cursor);
 	vfree(par->store_cursor);
 }
 }