lxfb: disable suspend VT switch by default
Andres Salomon [Mon, 28 Apr 2008 09:15:28 +0000 (02:15 -0700)]
By default disable VT switch, but allow it to be overridden via the
'vt_switch' module arg.

Signed-off-by: Andres Salomon <dilinger@debian.org>
Cc: "Antonino A. Daplas" <adaplas@pol.net>
Cc: Jordan Crouse <jordan.crouse@amd.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

Documentation/fb/lxfb.txt
drivers/video/geode/lxfb_core.c

index 8065607..38b3ca6 100644 (file)
@@ -45,6 +45,8 @@ Accepted options:
 mode_option    - specify the video mode.  Of the form
                  <x>x<y>[-<bpp>][@<refresh>]
 vram           - size of video ram (normally auto-detected)
+vt_switch      - enable vt switching during suspend/resume.  The vt
+                 switch is slow, but harmless.
 
 --
 Andres Salomon <dilinger@debian.org>
index 1da944b..15150ed 100644 (file)
@@ -17,6 +17,7 @@
 #include <linux/console.h>
 #include <linux/mm.h>
 #include <linux/slab.h>
+#include <linux/suspend.h>
 #include <linux/delay.h>
 #include <linux/fb.h>
 #include <linux/init.h>
@@ -28,6 +29,7 @@
 static char *mode_option;
 static int noclear, nopanel, nocrt;
 static int vram;
+static int vt_switch;
 
 /* Most of these modes are sorted in ascending order, but
  * since the first entry in this table is the "default" mode,
@@ -523,6 +525,8 @@ static int __init lxfb_probe(struct pci_dev *pdev,
        lxfb_check_var(&info->var, info);
        lxfb_set_par(info);
 
+       pm_set_vt_switch(vt_switch);
+
        if (register_framebuffer(info) < 0) {
                ret = -EINVAL;
                goto err;
@@ -648,5 +652,8 @@ MODULE_PARM_DESC(mode_option, "video mode (<x>x<y>[-<bpp>][@<refr>])");
 module_param(vram, int, 0);
 MODULE_PARM_DESC(vram, "video memory size");
 
+module_param(vt_switch, int, 0);
+MODULE_PARM_DESC(vt_switch, "enable VT switch during suspend/resume");
+
 MODULE_DESCRIPTION("Framebuffer driver for the AMD Geode LX");
 MODULE_LICENSE("GPL");