[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

[PATCH] Please include vga16fb and diable it by default.



Hi.

<For i386 arch only>
Please apply a patch attached this mail, and make a kernel image with
CONFIG_FB_VGA16, CONFIG_FBCON_VGA_PLANES and
CONFIG_FB_VGA16_DISABLE_BY_DEFAULT = y. 
This patch disables vga16fb unless some boot parameter is
specified. If a user turn on his/her machine, a kernel applied this
patch will boot the machine up like a kernel does not include vga16fb.
so it is harmless to every user, i think.
Provide vga16fb enabled kernel image, please. i want the version for
building Japanese version of boot-floppies.

Thanks,
-- 
Hatta Shuzo
hattas@debian.or.jp / hattas@penguin.sakyo.kyoto.jp
diff -u -r kernel-source-2.2.14.orig/Documentation/Configure.help kernel-source-2.2.14/Documentation/Configure.help
--- kernel-source-2.2.14.orig/Documentation/Configure.help	Wed Jan 12 11:23:22 2000
+++ kernel-source-2.2.14/Documentation/Configure.help	Sat Jan 29 03:53:19 2000
@@ -1860,6 +1860,11 @@
   This is the frame buffer device driver for VGA 16 color graphic
   cards. Say Y if you have such a card.
 
+Disable VGA 16-color graphics console by default
+CONFIG_FB_VGA16_DISABLE_BY_DEFAULT
+  This option will disable VGA 16-color graphics console at boot time
+  unless video=vga16:on is specified.
+
 Backward compatibility mode for Xpmac
 CONFIG_FB_COMPAT_XPMAC
   If you use the Xpmac X server (common with mklinux), you'll need to
diff -u -r kernel-source-2.2.14.orig/drivers/video/Config.in kernel-source-2.2.14/drivers/video/Config.in
--- kernel-source-2.2.14.orig/drivers/video/Config.in	Wed Jan  5 03:12:22 2000
+++ kernel-source-2.2.14/drivers/video/Config.in	Sat Jan 29 04:05:35 2000
@@ -74,6 +74,9 @@
   if [ "$ARCH" = "i386" ]; then
     bool 'VESA VGA graphics console' CONFIG_FB_VESA
     bool 'VGA 16-color graphics console' CONFIG_FB_VGA16
+    if [ "$CONFIG_EXPERIMENTAL" = "y" -a "$CONFIG_FB_VGA16" = "y" ]; then
+      bool '  Disable VGA 16-color graphics console by default' CONFIG_FB_VGA16_DISABLE_BY_DEFAULT
+    fi
     define_bool CONFIG_VIDEO_SELECT y
   fi
   if [ "$CONFIG_VISWS" = "y" ]; then
diff -u -r kernel-source-2.2.14.orig/drivers/video/vga16fb.c kernel-source-2.2.14/drivers/video/vga16fb.c
--- kernel-source-2.2.14.orig/drivers/video/vga16fb.c	Wed Jan  5 03:12:22 2000
+++ kernel-source-2.2.14/drivers/video/vga16fb.c	Sat Jan 29 04:11:14 2000
@@ -193,6 +193,10 @@
 
 static int             currcon   = 0;
 
+#ifdef CONFIG_FB_VGA16_DISABLE_BY_DEFAULT
+static int    vga16fb_enabled = 0;
+#endif
+
 /* --------------------------------------------------------------------- */
 
 	/*
@@ -816,6 +820,10 @@
 	for(this_opt=strtok(options,","); this_opt; this_opt=strtok(NULL,",")) {
 		if (!*this_opt) continue;
 		
+#ifdef CONFIG_FB_VGA16_DISABLE_BY_DEFAULT
+		if (!strcmp(this_opt, "on"))
+			vga16fb_enabled = 1;
+#endif
 		if (!strncmp(this_opt, "font:", 5))
 			strcpy(vga16fb.fb_info.fontname, this_opt+5);
 	}
@@ -1014,6 +1022,12 @@
 
 	printk("vga16fb: initializing\n");
 
+#ifdef CONFIG_FB_VGA16_DISABLE_BY_DEFAULT
+	if (!vga16fb_enabled) {
+                printk(KERN_NOTICE "vga16fb: disabled on user request.\n");
+		return;
+	}
+#endif
         vga16fb.video_vbase = ioremap((unsigned long)0xa0000, 65536);
 	printk("vga16fb: mapped to 0x%p\n", vga16fb.video_vbase);
 

Reply to: