Remove PCI_ROM_RUN option

The main purpose of option rom is to supply int* handlers.
But supplying those is outside of coreboot scope and if someone needs those
they should run SeaBIOS anyway which runs the option roms wonderfully.

Running VGA oprom is kept because they're needed to init graphics.

This patch still keeps the options to include the option roms to make them
available to SeaBIOS.

Change-Id: I646334cf88094d3bf8f527779a68a07e0b4b93ec
Signed-off-by: Vladimir Serbinenko <phcoder@gmail.com>
Reviewed-on: http://review.coreboot.org/4545
Tested-by: build bot (Jenkins)
Reviewed-by: Patrick Georgi <patrick@georgi-clan.de>
Reviewed-by: Kevin O'Connor <kevin@koconnor.net>
diff --git a/src/device/Kconfig b/src/device/Kconfig
index adbe40f..cb951d9 100644
--- a/src/device/Kconfig
+++ b/src/device/Kconfig
@@ -66,23 +66,6 @@
 
 	  If unsure, say N when using SeaBIOS as payload, Y otherwise.
 
-config PCI_ROM_RUN
-	bool "Run non-VGA Option ROMs"
-	default n if PAYLOAD_SEABIOS
-	default y if !PAYLOAD_SEABIOS
-	depends on PCI && !PAYLOAD_SEABIOS || EXPERT
-	help
-	  Execute non-VGA PCI Option ROMs in coreboot if found.
-
-	  Examples include IDE/SATA controller Option ROMs and Option ROMs
-	  for network cards (NICs).
-
-	  When using a SeaBIOS payload it runs all option ROMs with much
-	  more complete BIOS interrupt services available than coreboot,
-	  which some option ROMs require in order to function correctly.
-
-	  If unsure, say N when using SeaBIOS as payload, Y otherwise.
-
 config ON_DEVICE_ROM_RUN
 	bool "Run Option ROMs on PCI devices"
 	default n if PAYLOAD_SEABIOS
@@ -106,7 +89,7 @@
 	prompt "Option ROM execution type"
 	default PCI_OPTION_ROM_RUN_YABEL if !ARCH_X86
 	default PCI_OPTION_ROM_RUN_REALMODE if ARCH_X86
-	depends on PCI_ROM_RUN || VGA_ROM_RUN || GEODE_VSA
+	depends on VGA_ROM_RUN || GEODE_VSA
 
 config PCI_OPTION_ROM_RUN_REALMODE
 	prompt "Native mode"
diff --git a/src/device/Makefile.inc b/src/device/Makefile.inc
index 96e2cd9..1dbb510 100644
--- a/src/device/Makefile.inc
+++ b/src/device/Makefile.inc
@@ -17,9 +17,5 @@
 
 subdirs-y += oprom
 
-ifeq ($(CONFIG_PCI_ROM_RUN),y)
-ramstage-y += pci_rom.c
-else
 ramstage-$(CONFIG_VGA_ROM_RUN) += pci_rom.c
-endif
 
diff --git a/src/device/pci_device.c b/src/device/pci_device.c
index c810483..aa0d954 100644
--- a/src/device/pci_device.c
+++ b/src/device/pci_device.c
@@ -666,15 +666,11 @@
 /** Default handler: only runs the relevant PCI BIOS. */
 void pci_dev_init(struct device *dev)
 {
-#if CONFIG_PCI_ROM_RUN || CONFIG_VGA_ROM_RUN
+#if CONFIG_VGA_ROM_RUN
 	struct rom_header *rom, *ram;
 
-	if (CONFIG_PCI_ROM_RUN != 1 && /* Only execute VGA ROMs. */
-	    ((dev->class >> 8) != PCI_CLASS_DISPLAY_VGA))
-		return;
-
-	if (CONFIG_VGA_ROM_RUN != 1 && /* Only execute non-VGA ROMs. */
-	    ((dev->class >> 8) == PCI_CLASS_DISPLAY_VGA))
+	/* Only execute VGA ROMs. */
+	if (((dev->class >> 8) != PCI_CLASS_DISPLAY_VGA))
 		return;
 
 #if CONFIG_CHROMEOS
@@ -711,7 +707,7 @@
 	oprom_is_loaded = 1;
 	printk(BIOS_DEBUG, "VGA Option ROM has been loaded\n");
 #endif
-#endif /* CONFIG_PCI_ROM_RUN || CONFIG_VGA_ROM_RUN */
+#endif /* CONFIG_VGA_ROM_RUN */
 }
 
 /** Default device operation for PCI devices */
diff --git a/src/mainboard/amd/dinar/Kconfig b/src/mainboard/amd/dinar/Kconfig
index 441357b..488eb340 100644
--- a/src/mainboard/amd/dinar/Kconfig
+++ b/src/mainboard/amd/dinar/Kconfig
@@ -169,10 +169,6 @@
 	bool
 	default n
 
-config PCI_ROM_RUN
-	bool
-	default n
-
 config UDELAY_IO
 	bool
 	default n
diff --git a/src/mainboard/google/bolt/mainboard.c b/src/mainboard/google/bolt/mainboard.c
index 3bf26e3..d421301 100644
--- a/src/mainboard/google/bolt/mainboard.c
+++ b/src/mainboard/google/bolt/mainboard.c
@@ -26,7 +26,7 @@
 #include <device/pci_def.h>
 #include <device/pci_ops.h>
 #include <console/console.h>
-#if CONFIG_PCI_ROM_RUN || CONFIG_VGA_ROM_RUN
+#if CONFIG_VGA_ROM_RUN
 #include <x86emu/x86emu.h>
 #endif
 #include <pc80/mc146818rtc.h>
@@ -45,7 +45,7 @@
 	outb(0xcb, 0xb2);
 }
 
-#if CONFIG_PCI_ROM_RUN || CONFIG_VGA_ROM_RUN
+#if CONFIG_VGA_ROM_RUN
 static int int15_handler(void)
 {
 	int res = 0;
@@ -189,7 +189,7 @@
 {
 	dev->ops->init = mainboard_init;
 	dev->ops->get_smbios_data = mainboard_smbios_data;
-#if CONFIG_PCI_ROM_RUN || CONFIG_VGA_ROM_RUN
+#if CONFIG_VGA_ROM_RUN
 	/* Install custom int15 handler for VGA OPROM */
 	mainboard_interrupt_handlers(0x15, &int15_handler);
 #endif
diff --git a/src/mainboard/google/butterfly/mainboard.c b/src/mainboard/google/butterfly/mainboard.c
index eb7d363..1623fe0 100644
--- a/src/mainboard/google/butterfly/mainboard.c
+++ b/src/mainboard/google/butterfly/mainboard.c
@@ -24,7 +24,7 @@
 #include <device/pci_def.h>
 #include <device/pci_ops.h>
 #include <console/console.h>
-#if CONFIG_PCI_ROM_RUN || CONFIG_VGA_ROM_RUN
+#if CONFIG_VGA_ROM_RUN
 #include <x86emu/x86emu.h>
 #endif
 #include <pc80/mc146818rtc.h>
@@ -195,7 +195,7 @@
 	outb(0xcb, 0xb2);
 }
 
-#if CONFIG_PCI_ROM_RUN || CONFIG_VGA_ROM_RUN
+#if CONFIG_VGA_ROM_RUN
 static int int15_handler(void)
 {
 	int res = 0;
@@ -381,7 +381,7 @@
 {
 	dev->ops->init = mainboard_init;
 	dev->ops->get_smbios_data = butterfly_onboard_smbios_data;
-#if CONFIG_PCI_ROM_RUN || CONFIG_VGA_ROM_RUN
+#if CONFIG_VGA_ROM_RUN
 	/* Install custom int15 handler for VGA OPROM */
 	mainboard_interrupt_handlers(0x15, &int15_handler);
 #endif
diff --git a/src/mainboard/google/falco/mainboard.c b/src/mainboard/google/falco/mainboard.c
index 3bf26e3..d421301 100644
--- a/src/mainboard/google/falco/mainboard.c
+++ b/src/mainboard/google/falco/mainboard.c
@@ -26,7 +26,7 @@
 #include <device/pci_def.h>
 #include <device/pci_ops.h>
 #include <console/console.h>
-#if CONFIG_PCI_ROM_RUN || CONFIG_VGA_ROM_RUN
+#if CONFIG_VGA_ROM_RUN
 #include <x86emu/x86emu.h>
 #endif
 #include <pc80/mc146818rtc.h>
@@ -45,7 +45,7 @@
 	outb(0xcb, 0xb2);
 }
 
-#if CONFIG_PCI_ROM_RUN || CONFIG_VGA_ROM_RUN
+#if CONFIG_VGA_ROM_RUN
 static int int15_handler(void)
 {
 	int res = 0;
@@ -189,7 +189,7 @@
 {
 	dev->ops->init = mainboard_init;
 	dev->ops->get_smbios_data = mainboard_smbios_data;
-#if CONFIG_PCI_ROM_RUN || CONFIG_VGA_ROM_RUN
+#if CONFIG_VGA_ROM_RUN
 	/* Install custom int15 handler for VGA OPROM */
 	mainboard_interrupt_handlers(0x15, &int15_handler);
 #endif
diff --git a/src/mainboard/google/link/mainboard.c b/src/mainboard/google/link/mainboard.c
index 08b1c02..9c63acd 100644
--- a/src/mainboard/google/link/mainboard.c
+++ b/src/mainboard/google/link/mainboard.c
@@ -25,7 +25,7 @@
 #include <device/pci_def.h>
 #include <device/pci_ops.h>
 #include <console/console.h>
-#if CONFIG_PCI_ROM_RUN || CONFIG_VGA_ROM_RUN
+#if CONFIG_VGA_ROM_RUN
 #include <x86emu/x86emu.h>
 #endif
 #include <pc80/mc146818rtc.h>
@@ -61,7 +61,7 @@
 	outb(0xcb, 0xb2);
 }
 
-#if CONFIG_PCI_ROM_RUN || CONFIG_VGA_ROM_RUN
+#if CONFIG_VGA_ROM_RUN
 static int int15_handler(void)
 {
 	int res = 0;
@@ -222,7 +222,7 @@
 {
 	dev->ops->init = mainboard_init;
 	dev->ops->get_smbios_data = link_onboard_smbios_data;
-#if CONFIG_PCI_ROM_RUN || CONFIG_VGA_ROM_RUN
+#if CONFIG_VGA_ROM_RUN
 	/* Install custom int15 handler for VGA OPROM */
 	mainboard_interrupt_handlers(0x15, &int15_handler);
 #endif
diff --git a/src/mainboard/google/parrot/mainboard.c b/src/mainboard/google/parrot/mainboard.c
index 34cb24e..56a1b47 100644
--- a/src/mainboard/google/parrot/mainboard.c
+++ b/src/mainboard/google/parrot/mainboard.c
@@ -24,7 +24,7 @@
 #include <device/pci_def.h>
 #include <device/pci_ops.h>
 #include <console/console.h>
-#if CONFIG_PCI_ROM_RUN || CONFIG_VGA_ROM_RUN
+#if CONFIG_VGA_ROM_RUN
 #include <x86emu/x86emu.h>
 #endif
 #include <pc80/mc146818rtc.h>
@@ -49,7 +49,7 @@
 	outb(0xe1, 0xb2);
 }
 
-#if CONFIG_PCI_ROM_RUN || CONFIG_VGA_ROM_RUN
+#if CONFIG_VGA_ROM_RUN
 static int int15_handler(void)
 {
 	int res = 0;
@@ -191,7 +191,7 @@
 {
 	dev->ops->init = mainboard_init;
 	dev->ops->get_smbios_data = parrot_onboard_smbios_data;
-#if CONFIG_PCI_ROM_RUN || CONFIG_VGA_ROM_RUN
+#if CONFIG_VGA_ROM_RUN
 	/* Install custom int15 handler for VGA OPROM */
 	mainboard_interrupt_handlers(0x15, &int15_handler);
 #endif
diff --git a/src/mainboard/google/peppy/mainboard.c b/src/mainboard/google/peppy/mainboard.c
index 3bf26e3..d421301 100644
--- a/src/mainboard/google/peppy/mainboard.c
+++ b/src/mainboard/google/peppy/mainboard.c
@@ -26,7 +26,7 @@
 #include <device/pci_def.h>
 #include <device/pci_ops.h>
 #include <console/console.h>
-#if CONFIG_PCI_ROM_RUN || CONFIG_VGA_ROM_RUN
+#if CONFIG_VGA_ROM_RUN
 #include <x86emu/x86emu.h>
 #endif
 #include <pc80/mc146818rtc.h>
@@ -45,7 +45,7 @@
 	outb(0xcb, 0xb2);
 }
 
-#if CONFIG_PCI_ROM_RUN || CONFIG_VGA_ROM_RUN
+#if CONFIG_VGA_ROM_RUN
 static int int15_handler(void)
 {
 	int res = 0;
@@ -189,7 +189,7 @@
 {
 	dev->ops->init = mainboard_init;
 	dev->ops->get_smbios_data = mainboard_smbios_data;
-#if CONFIG_PCI_ROM_RUN || CONFIG_VGA_ROM_RUN
+#if CONFIG_VGA_ROM_RUN
 	/* Install custom int15 handler for VGA OPROM */
 	mainboard_interrupt_handlers(0x15, &int15_handler);
 #endif
diff --git a/src/mainboard/google/slippy/mainboard.c b/src/mainboard/google/slippy/mainboard.c
index 3bf26e3..d421301 100644
--- a/src/mainboard/google/slippy/mainboard.c
+++ b/src/mainboard/google/slippy/mainboard.c
@@ -26,7 +26,7 @@
 #include <device/pci_def.h>
 #include <device/pci_ops.h>
 #include <console/console.h>
-#if CONFIG_PCI_ROM_RUN || CONFIG_VGA_ROM_RUN
+#if CONFIG_VGA_ROM_RUN
 #include <x86emu/x86emu.h>
 #endif
 #include <pc80/mc146818rtc.h>
@@ -45,7 +45,7 @@
 	outb(0xcb, 0xb2);
 }
 
-#if CONFIG_PCI_ROM_RUN || CONFIG_VGA_ROM_RUN
+#if CONFIG_VGA_ROM_RUN
 static int int15_handler(void)
 {
 	int res = 0;
@@ -189,7 +189,7 @@
 {
 	dev->ops->init = mainboard_init;
 	dev->ops->get_smbios_data = mainboard_smbios_data;
-#if CONFIG_PCI_ROM_RUN || CONFIG_VGA_ROM_RUN
+#if CONFIG_VGA_ROM_RUN
 	/* Install custom int15 handler for VGA OPROM */
 	mainboard_interrupt_handlers(0x15, &int15_handler);
 #endif
diff --git a/src/mainboard/google/stout/mainboard.c b/src/mainboard/google/stout/mainboard.c
index 7f6b7dd..8cd2fbd 100644
--- a/src/mainboard/google/stout/mainboard.c
+++ b/src/mainboard/google/stout/mainboard.c
@@ -24,7 +24,7 @@
 #include <device/pci_def.h>
 #include <device/pci_ops.h>
 #include <console/console.h>
-#if CONFIG_PCI_ROM_RUN || CONFIG_VGA_ROM_RUN
+#if CONFIG_VGA_ROM_RUN
 #include <x86emu/x86emu.h>
 #endif
 #include <pc80/mc146818rtc.h>
@@ -49,7 +49,7 @@
 	ec_write_cmd(EC_CMD_NOTIFY_ACPI_ENTER);
 }
 
-#if CONFIG_PCI_ROM_RUN || CONFIG_VGA_ROM_RUN
+#if CONFIG_VGA_ROM_RUN
 static int int15_handler(void)
 {
 	int res = 0;
@@ -174,7 +174,7 @@
 static void mainboard_enable(device_t dev)
 {
 	dev->ops->init = mainboard_init;
-#if CONFIG_PCI_ROM_RUN || CONFIG_VGA_ROM_RUN
+#if CONFIG_VGA_ROM_RUN
 	/* Install custom int15 handler for VGA OPROM */
 	mainboard_interrupt_handlers(0x15, &int15_handler);
 #endif
diff --git a/src/mainboard/ibase/mb899/mainboard.c b/src/mainboard/ibase/mb899/mainboard.c
index 373edae..f6d2456 100644
--- a/src/mainboard/ibase/mb899/mainboard.c
+++ b/src/mainboard/ibase/mb899/mainboard.c
@@ -20,14 +20,14 @@
 #include <types.h>
 #include <device/device.h>
 #include <console/console.h>
-#if CONFIG_PCI_ROM_RUN || CONFIG_VGA_ROM_RUN
+#if CONFIG_VGA_ROM_RUN
 #include <x86emu/x86emu.h>
 #endif
 #include <pc80/mc146818rtc.h>
 #include <arch/io.h>
 #include <arch/interrupt.h>
 
-#if CONFIG_PCI_ROM_RUN || CONFIG_VGA_ROM_RUN
+#if CONFIG_VGA_ROM_RUN
 static int int15_handler(void)
 {
 #define BOOT_DISPLAY_DEFAULT	0
@@ -214,7 +214,7 @@
 
 static void mainboard_enable(device_t dev)
 {
-#if CONFIG_PCI_ROM_RUN || CONFIG_VGA_ROM_RUN
+#if CONFIG_VGA_ROM_RUN
 	/* Install custom int15 handler for VGA OPROM */
 	mainboard_interrupt_handlers(0x15, &int15_handler);
 #endif
diff --git a/src/mainboard/intel/baskingridge/mainboard.c b/src/mainboard/intel/baskingridge/mainboard.c
index 69943cb..42c96b2 100644
--- a/src/mainboard/intel/baskingridge/mainboard.c
+++ b/src/mainboard/intel/baskingridge/mainboard.c
@@ -25,7 +25,7 @@
 #include <device/pci_def.h>
 #include <device/pci_ops.h>
 #include <console/console.h>
-#if CONFIG_PCI_ROM_RUN || CONFIG_VGA_ROM_RUN
+#if CONFIG_VGA_ROM_RUN
 #include <x86emu/x86emu.h>
 #endif
 #include <pc80/mc146818rtc.h>
@@ -42,7 +42,7 @@
 	outb(0xcb, 0xb2);
 }
 
-#if CONFIG_PCI_ROM_RUN || CONFIG_VGA_ROM_RUN
+#if CONFIG_VGA_ROM_RUN
 static int int15_handler(void)
 {
 	int res = 0;
@@ -144,7 +144,7 @@
 
 static void mainboard_enable(device_t dev)
 {
-#if CONFIG_PCI_ROM_RUN || CONFIG_VGA_ROM_RUN
+#if CONFIG_VGA_ROM_RUN
 	/* Install custom int15 handler for VGA OPROM */
 	mainboard_interrupt_handlers(0x15, &int15_handler);
 #endif
diff --git a/src/mainboard/intel/cougar_canyon2/mainboard.c b/src/mainboard/intel/cougar_canyon2/mainboard.c
index 60b0b0d..e7dda02 100644
--- a/src/mainboard/intel/cougar_canyon2/mainboard.c
+++ b/src/mainboard/intel/cougar_canyon2/mainboard.c
@@ -25,7 +25,7 @@
 #include <device/pci_def.h>
 #include <device/pci_ops.h>
 #include <console/console.h>
-#if CONFIG_PCI_ROM_RUN || CONFIG_VGA_ROM_RUN
+#if CONFIG_VGA_ROM_RUN
 #include <x86emu/x86emu.h>
 #endif
 #include <pc80/mc146818rtc.h>
@@ -44,7 +44,7 @@
 }
 #endif
 
-#if CONFIG_PCI_ROM_RUN || CONFIG_VGA_ROM_RUN
+#if CONFIG_VGA_ROM_RUN
 static int int15_handler(void)
 {
 	int res=0;
diff --git a/src/mainboard/intel/emeraldlake2/mainboard.c b/src/mainboard/intel/emeraldlake2/mainboard.c
index 5f7d224..f995697 100644
--- a/src/mainboard/intel/emeraldlake2/mainboard.c
+++ b/src/mainboard/intel/emeraldlake2/mainboard.c
@@ -25,7 +25,7 @@
 #include <device/pci_def.h>
 #include <device/pci_ops.h>
 #include <console/console.h>
-#if CONFIG_PCI_ROM_RUN || CONFIG_VGA_ROM_RUN
+#if CONFIG_VGA_ROM_RUN
 #include <x86emu/x86emu.h>
 #endif
 #include <pc80/mc146818rtc.h>
@@ -42,7 +42,7 @@
 	outb(0xcb, 0xb2);
 }
 
-#if CONFIG_PCI_ROM_RUN || CONFIG_VGA_ROM_RUN
+#if CONFIG_VGA_ROM_RUN
 static int int15_handler(void)
 {
 	int res=0;
@@ -156,7 +156,7 @@
 
 static void mainboard_enable(device_t dev)
 {
-#if CONFIG_PCI_ROM_RUN || CONFIG_VGA_ROM_RUN
+#if CONFIG_VGA_ROM_RUN
 	/* Install custom int15 handler for VGA OPROM */
 	mainboard_interrupt_handlers(0x15, &int15_handler);
 #endif
diff --git a/src/mainboard/intel/wtm2/mainboard.c b/src/mainboard/intel/wtm2/mainboard.c
index e7650fa..5aecffc 100644
--- a/src/mainboard/intel/wtm2/mainboard.c
+++ b/src/mainboard/intel/wtm2/mainboard.c
@@ -25,7 +25,7 @@
 #include <device/pci_def.h>
 #include <device/pci_ops.h>
 #include <console/console.h>
-#if CONFIG_PCI_ROM_RUN || CONFIG_VGA_ROM_RUN
+#if CONFIG_VGA_ROM_RUN
 #include <x86emu/x86emu.h>
 #endif
 #include <pc80/mc146818rtc.h>
@@ -42,7 +42,7 @@
 	outb(0xcb, 0xb2);
 }
 
-#if CONFIG_PCI_ROM_RUN || CONFIG_VGA_ROM_RUN
+#if CONFIG_VGA_ROM_RUN
 static int int15_handler(void)
 {
 	int res = 1;
@@ -144,7 +144,7 @@
 
 static void mainboard_enable(device_t dev)
 {
-#if CONFIG_PCI_ROM_RUN || CONFIG_VGA_ROM_RUN
+#if CONFIG_VGA_ROM_RUN
 	/* Install custom int15 handler for VGA OPROM */
 	mainboard_interrupt_handlers(0x15, &int15_handler);
 #endif
diff --git a/src/mainboard/kontron/986lcd-m/mainboard.c b/src/mainboard/kontron/986lcd-m/mainboard.c
index f4e1a24..ce0d5de 100644
--- a/src/mainboard/kontron/986lcd-m/mainboard.c
+++ b/src/mainboard/kontron/986lcd-m/mainboard.c
@@ -20,7 +20,7 @@
 #include <types.h>
 #include <device/device.h>
 #include <console/console.h>
-#if CONFIG_PCI_ROM_RUN || CONFIG_VGA_ROM_RUN
+#if CONFIG_VGA_ROM_RUN
 #include <x86emu/x86emu.h>
 #endif
 #include <pc80/mc146818rtc.h>
@@ -37,7 +37,7 @@
 #define BOOT_DISPLAY_EFP2	(1 << 6)
 #define BOOT_DISPLAY_LCD2	(1 << 7)
 
-#if CONFIG_PCI_ROM_RUN || CONFIG_VGA_ROM_RUN
+#if CONFIG_VGA_ROM_RUN
 static int int15_handler(void)
 {
 	/* This int15 handler is Intel IGD. specific. Other chipsets need other
@@ -221,7 +221,7 @@
 
 static void mainboard_enable(device_t dev)
 {
-#if CONFIG_PCI_ROM_RUN || CONFIG_VGA_ROM_RUN
+#if CONFIG_VGA_ROM_RUN
 	/* Install custom int15 handler for VGA OPROM */
 	mainboard_interrupt_handlers(0x15, &int15_handler);
 #endif
diff --git a/src/mainboard/kontron/ktqm77/mainboard.c b/src/mainboard/kontron/ktqm77/mainboard.c
index 30f0468..b3dec20 100644
--- a/src/mainboard/kontron/ktqm77/mainboard.c
+++ b/src/mainboard/kontron/ktqm77/mainboard.c
@@ -25,7 +25,7 @@
 #include <device/pci_def.h>
 #include <device/pci_ops.h>
 #include <console/console.h>
-#if CONFIG_PCI_ROM_RUN || CONFIG_VGA_ROM_RUN
+#if CONFIG_VGA_ROM_RUN
 #include <x86emu/x86emu.h>
 #endif
 #include <pc80/mc146818rtc.h>
@@ -42,7 +42,7 @@
 	outb(0xcb, 0xb2);
 }
 
-#if CONFIG_PCI_ROM_RUN || CONFIG_VGA_ROM_RUN
+#if CONFIG_VGA_ROM_RUN
 static int int15_handler(void)
 {
 	int res = 0;
diff --git a/src/mainboard/msi/ms9652_fam10/Kconfig b/src/mainboard/msi/ms9652_fam10/Kconfig
index b6baac3..33aab77 100644
--- a/src/mainboard/msi/ms9652_fam10/Kconfig
+++ b/src/mainboard/msi/ms9652_fam10/Kconfig
@@ -101,10 +101,6 @@
 	bool
 	default y
 
-config PCI_ROM_RUN
-	bool
-	default y
-
 config USBDEBUG
 	bool
 	default n
diff --git a/src/mainboard/roda/rk886ex/mainboard.c b/src/mainboard/roda/rk886ex/mainboard.c
index 9504701..a792d5b 100644
--- a/src/mainboard/roda/rk886ex/mainboard.c
+++ b/src/mainboard/roda/rk886ex/mainboard.c
@@ -24,7 +24,7 @@
 #include <arch/io.h>
 #include <arch/interrupt.h>
 #include <delay.h>
-#if CONFIG_PCI_ROM_RUN || CONFIG_VGA_ROM_RUN
+#if CONFIG_VGA_ROM_RUN
 #include <x86emu/x86emu.h>
 #endif
 
@@ -60,7 +60,7 @@
 #define BOOT_DISPLAY_EFP2	(1 << 6)
 #define BOOT_DISPLAY_LCD2	(1 << 7)
 
-#if CONFIG_PCI_ROM_RUN || CONFIG_VGA_ROM_RUN
+#if CONFIG_VGA_ROM_RUN
 static int int15_handler(void)
 {
 	/* This int15 handler is Intel IGD. specific. Other chipsets need other
@@ -124,7 +124,7 @@
 	/* Disable Dummy DCC -> GP45 = 1 */
 	outb(inb(0x60f) | (1 << 5), 0x60f);
 
-#if CONFIG_PCI_ROM_RUN || CONFIG_VGA_ROM_RUN
+#if CONFIG_VGA_ROM_RUN
 	/* Install custom int15 handler for VGA OPROM */
 	mainboard_interrupt_handlers(0x15, &int15_handler);
 #endif
diff --git a/src/mainboard/samsung/lumpy/mainboard.c b/src/mainboard/samsung/lumpy/mainboard.c
index c1749f7..c5fe45c 100644
--- a/src/mainboard/samsung/lumpy/mainboard.c
+++ b/src/mainboard/samsung/lumpy/mainboard.c
@@ -24,7 +24,7 @@
 #include <device/pci_def.h>
 #include <device/pci_ops.h>
 #include <console/console.h>
-#if CONFIG_PCI_ROM_RUN || CONFIG_VGA_ROM_RUN
+#if CONFIG_VGA_ROM_RUN
 #include <x86emu/x86emu.h>
 #endif
 #include <pc80/mc146818rtc.h>
@@ -49,7 +49,7 @@
 	send_ec_command(EC_ACPI_ENABLE);
 }
 
-#if CONFIG_PCI_ROM_RUN || CONFIG_VGA_ROM_RUN
+#if CONFIG_VGA_ROM_RUN
 static int int15_handler(void)
 {
 	int res=0;
@@ -206,7 +206,7 @@
 {
 	dev->ops->init = mainboard_init;
 	dev->ops->get_smbios_data = lumpy_onboard_smbios_data;
-#if CONFIG_PCI_ROM_RUN || CONFIG_VGA_ROM_RUN
+#if CONFIG_VGA_ROM_RUN
 	/* Install custom int15 handler for VGA OPROM */
 	mainboard_interrupt_handlers(0x15, &int15_handler);
 #endif
diff --git a/src/mainboard/samsung/stumpy/mainboard.c b/src/mainboard/samsung/stumpy/mainboard.c
index 30612db..d6a7b55 100644
--- a/src/mainboard/samsung/stumpy/mainboard.c
+++ b/src/mainboard/samsung/stumpy/mainboard.c
@@ -25,7 +25,7 @@
 #include <device/pci_def.h>
 #include <device/pci_ops.h>
 #include <console/console.h>
-#if CONFIG_PCI_ROM_RUN || CONFIG_VGA_ROM_RUN
+#if CONFIG_VGA_ROM_RUN
 #include <x86emu/x86emu.h>
 #endif
 #include <pc80/mc146818rtc.h>
@@ -42,7 +42,7 @@
 	outb(0xcb, 0xb2);
 }
 
-#if CONFIG_PCI_ROM_RUN || CONFIG_VGA_ROM_RUN
+#if CONFIG_VGA_ROM_RUN
 static int int15_handler(void)
 {
 	int res=0;
@@ -147,7 +147,7 @@
 
 static void mainboard_enable(device_t dev)
 {
-#if CONFIG_PCI_ROM_RUN || CONFIG_VGA_ROM_RUN
+#if CONFIG_VGA_ROM_RUN
 	/* Install custom int15 handler for VGA OPROM */
 	mainboard_interrupt_handlers(0x15, &int15_handler);
 #endif
diff --git a/src/mainboard/thomson/ip1000/mainboard.c b/src/mainboard/thomson/ip1000/mainboard.c
index 90ba706..705c427 100644
--- a/src/mainboard/thomson/ip1000/mainboard.c
+++ b/src/mainboard/thomson/ip1000/mainboard.c
@@ -21,7 +21,7 @@
 #include <console/console.h>
 #include <device/device.h>
 #include <delay.h>
-#if CONFIG_PCI_ROM_RUN || CONFIG_VGA_ROM_RUN
+#if CONFIG_VGA_ROM_RUN
 #include <x86emu/x86emu.h>
 #endif
 #include <arch/io.h>
@@ -87,7 +87,7 @@
 }
 
 
-#if CONFIG_PCI_ROM_RUN || CONFIG_VGA_ROM_RUN
+#if CONFIG_VGA_ROM_RUN
 static int int15_handler(void)
 {
 #define BOOT_DISPLAY_DEFAULT	0
@@ -142,7 +142,7 @@
 static void mainboard_enable(device_t dev)
 {
 	dev->ops->init = mainboard_init;
-#if CONFIG_PCI_ROM_RUN || CONFIG_VGA_ROM_RUN
+#if CONFIG_VGA_ROM_RUN
 	/* Install custom int15 handler for VGA OPROM */
 	mainboard_interrupt_handlers(0x15, &int15_handler);
 #endif
diff --git a/src/southbridge/amd/sb600/ide.c b/src/southbridge/amd/sb600/ide.c
index 2700124..443ca74 100644
--- a/src/southbridge/amd/sb600/ide.c
+++ b/src/southbridge/amd/sb600/ide.c
@@ -44,11 +44,6 @@
 	dword = pci_read_config16(dev, 0x4);
 	dword |= 1 << 2;
 	pci_write_config16(dev, 0x4, dword);
-
-#if CONFIG_PCI_ROM_RUN
-	pci_dev_init(dev);
-#endif
-
 }
 
 static struct pci_operations lops_pci = {
diff --git a/src/southbridge/amd/sb700/ide.c b/src/southbridge/amd/sb700/ide.c
index b2378ce..982c929 100644
--- a/src/southbridge/amd/sb700/ide.c
+++ b/src/southbridge/amd/sb700/ide.c
@@ -59,10 +59,6 @@
 		byte |= 1 << 4;
 		pci_write_config8(sm_dev, 0xAD, byte);
 	}
-
-#if CONFIG_PCI_ROM_RUN
-	pci_dev_init(dev);
-#endif
 }
 
 static struct pci_operations lops_pci = {
diff --git a/src/southbridge/amd/sb800/ide.c b/src/southbridge/amd/sb800/ide.c
index 69dfea4..e54cf5d 100644
--- a/src/southbridge/amd/sb800/ide.c
+++ b/src/southbridge/amd/sb800/ide.c
@@ -57,10 +57,6 @@
 		byte |= 1 << 4;
 		pci_write_config8(dev, 0xAD, byte);
 	}
-
-#if CONFIG_PCI_ROM_RUN
-	pci_dev_init(dev);
-#endif
 }
 
 static struct pci_operations lops_pci = {
diff --git a/src/southbridge/broadcom/bcm5780/nic.c b/src/southbridge/broadcom/bcm5780/nic.c
index df42dd3..df59fdc 100644
--- a/src/southbridge/broadcom/bcm5780/nic.c
+++ b/src/southbridge/broadcom/bcm5780/nic.c
@@ -24,13 +24,6 @@
 #include <device/pci_ids.h>
 #include <device/pci_ops.h>
 
-static void nic_init(struct device *dev)
-{
-#if CONFIG_PCI_ROM_RUN
-	pci_dev_init(dev);// it will init option rom
-#endif
-
-}
 
 static void lpci_set_subsystem(device_t dev, unsigned vendor, unsigned device)
 {
@@ -46,7 +39,7 @@
 	.read_resources   = pci_dev_read_resources,
 	.set_resources    = pci_dev_set_resources,
 	.enable_resources = pci_dev_enable_resources,
-	.init             = nic_init,
+	.init             = pci_dev_init,
 	.scan_bus         = 0,
 	.ops_pci          = &lops_pci,
 };
diff --git a/src/southbridge/nvidia/ck804/ide.c b/src/southbridge/nvidia/ck804/ide.c
index 1750a2a..5b0ba51 100644
--- a/src/southbridge/nvidia/ck804/ide.c
+++ b/src/southbridge/nvidia/ck804/ide.c
@@ -59,10 +59,6 @@
 	dword = pci_read_config32(dev, 0xf8);
 	dword |= 12;
 	pci_write_config32(dev, 0xf8, dword);
-
-#if CONFIG_PCI_ROM_RUN
-	pci_dev_init(dev);
-#endif
 }
 
 static struct device_operations ide_ops = {
diff --git a/src/southbridge/nvidia/ck804/nic.c b/src/southbridge/nvidia/ck804/nic.c
index 3dccb8e..e285644 100644
--- a/src/southbridge/nvidia/ck804/nic.c
+++ b/src/southbridge/nvidia/ck804/nic.c
@@ -107,10 +107,6 @@
 #endif
 
 	nic_index++;
-
-#if CONFIG_PCI_ROM_RUN
-	pci_dev_init(dev);	/* It will init Option ROM. */
-#endif
 }
 
 static struct device_operations nic_ops = {
diff --git a/src/southbridge/nvidia/mcp55/ide.c b/src/southbridge/nvidia/mcp55/ide.c
index 23d4db1..5f8152b 100644
--- a/src/southbridge/nvidia/mcp55/ide.c
+++ b/src/southbridge/nvidia/mcp55/ide.c
@@ -61,9 +61,6 @@
 	dword = pci_read_config32(dev, 0xf8);
 	dword |= 12;
 	pci_write_config32(dev, 0xf8, dword);
-#if CONFIG_PCI_ROM_RUN
-	pci_dev_init(dev);
-#endif
 }
 
 static struct device_operations ide_ops = {
diff --git a/src/southbridge/nvidia/mcp55/nic.c b/src/southbridge/nvidia/mcp55/nic.c
index 86468fd..fd736e6 100644
--- a/src/southbridge/nvidia/mcp55/nic.c
+++ b/src/southbridge/nvidia/mcp55/nic.c
@@ -179,11 +179,6 @@
 #endif
 
 	nic_index++;
-
-#if CONFIG_PCI_ROM_RUN
-	pci_dev_init(dev);// it will init option rom
-#endif
-
 }
 
 static struct device_operations nic_ops  = {
diff --git a/src/southbridge/sis/sis966/ide.c b/src/southbridge/sis/sis966/ide.c
index fee7209..6e8bd54 100644
--- a/src/southbridge/sis/sis966/ide.c
+++ b/src/southbridge/sis/sis966/ide.c
@@ -144,9 +144,6 @@
 	dword = pci_read_config32(dev, 0xf8);
 	dword |= 12;
 	pci_write_config32(dev, 0xf8, dword);
-#if CONFIG_PCI_ROM_RUN
-	pci_dev_init(dev);
-#endif
 
 #if DEBUG_IDE
 {