Revision: linuxbios@linuxbios.org--devel/freebios--devel--2.0--patch-44
Creator:  Li-Ta Lo <ollie@lanl.gov>

Correct VGA support

Make the VGA support for both VGA and no VGA cases.


git-svn-id: svn://svn.coreboot.org/coreboot/trunk@1960 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
diff --git a/src/console/vga_console.c b/src/console/vga_console.c
index 31e29f8..bdd56f3 100644
--- a/src/console/vga_console.c
+++ b/src/console/vga_console.c
@@ -10,14 +10,16 @@
 #include <pc80/vga.h>
 #include <console/console.h>
 
-//extern void beep(int ms);
-
 /* The video buffer, should be replaced by symbol in ldscript.ld */
 static char *vidmem;
 
 int vga_line, vga_col;
 
+#if CONFIG_CONSOLE_VGA == 1
 extern int vga_inited; // it will be changed in pci_rom.c
+#else
+int vga_inited = 0;
+#endif
 
 static int vga_console_inited = 0;
 
diff --git a/src/devices/device.c b/src/devices/device.c
index ba4a2f4..d2c435f 100644
--- a/src/devices/device.c
+++ b/src/devices/device.c
@@ -363,6 +363,7 @@
 
 
 }
+
 #if CONFIG_CONSOLE_VGA == 1
 device_t vga_pri = 0;
 static void allocate_vga_resource(void)
@@ -377,14 +378,13 @@
 	vga = 0;
 	vga_onboard = 0;
 	for (dev = all_devices; dev; dev = dev->next) {
-		if ( !dev->enabled ) continue;
+		if (!dev->enabled) continue;
 		if (((dev->class >> 16) == PCI_BASE_CLASS_DISPLAY) &&
 		    ((dev->class >> 8) != PCI_CLASS_DISPLAY_OTHER)) {
 			if (!vga) {
 				if (dev->on_mainboard) {
 					vga_onboard = dev;
-				} 
-				else {
+				} else {
 					vga = dev;
 				}
 			}
@@ -397,7 +397,8 @@
 		vga = vga_onboard;
 	}
 	
-	if (vga) { // vga is first add on card or the only onboard vga
+	if (vga) {
+		// vga is first add on card or the only onboard vga
 		printk_debug("Allocating VGA resource %s\n", dev_path(vga));
 		vga->command |= (PCI_COMMAND_MEMORY | PCI_COMMAND_IO);
 		vga_pri = vga;
@@ -411,7 +412,6 @@
 		bus = (bus == bus->dev->bus)? 0 : bus->dev->bus;
 	} 
 }
-
 #endif
 
 
diff --git a/src/devices/pci_rom.c b/src/devices/pci_rom.c
index e0a7138..ac2e413 100644
--- a/src/devices/pci_rom.c
+++ b/src/devices/pci_rom.c
@@ -53,7 +53,7 @@
 	if (dev->class != ((rom_data->class_hi << 8) | rom_data->class_lo)) {
 		printk_err("Class Code mismatch ROM %08x, dev %08x\n", 
 			    (rom_data->class_hi << 8) | rom_data->class_lo, dev->class);
-//		return NULL;
+		//return NULL;
 	}
 
 	return rom_header;
@@ -62,8 +62,8 @@
 static void *pci_ram_image_start = PCI_RAM_IMAGE_START;
 
 #if CONFIG_CONSOLE_VGA == 1
-int vga_inited = 0; // it will be used by vga_console 
-extern device_t vga_pri; // The only VGA
+int vga_inited = 0;		// used by vga_console.c 
+extern device_t vga_pri;	// the primary vga device, defined in device.c
 #endif
 
 struct rom_header *pci_rom_load(struct device *dev, struct rom_header *rom_header)