diff --git a/atahpt.c b/atahpt.c
index b878d02..c87bc36 100644
--- a/atahpt.c
+++ b/atahpt.c
@@ -31,9 +31,9 @@
 #define PCI_VENDOR_ID_HPT	0x1103
 
 struct pcidev_status ata_hpt[] = {
-	{0x1103, 0x0004, PCI_NT, "Highpoint", "HPT366/368/370/370A/372/372N"},
-	{0x1103, 0x0005, PCI_NT, "Highpoint", "HPT372A/372N"},
-	{0x1103, 0x0006, PCI_NT, "Highpoint", "HPT302/302N"},
+	{0x1103, 0x0004, NT, "Highpoint", "HPT366/368/370/370A/372/372N"},
+	{0x1103, 0x0005, NT, "Highpoint", "HPT372A/372N"},
+	{0x1103, 0x0006, NT, "Highpoint", "HPT302/302N"},
 
 	{},
 };
diff --git a/drkaiser.c b/drkaiser.c
index f13c13e..572fee3 100644
--- a/drkaiser.c
+++ b/drkaiser.c
@@ -29,7 +29,7 @@
 #define PCI_MAGIC_DRKAISER_VALUE	0xa971
 
 struct pcidev_status drkaiser_pcidev[] = {
-	{0x1803, 0x5057, PCI_OK, "Dr. Kaiser", "PC-Waechter (Actel FPGA)"},
+	{0x1803, 0x5057, OK, "Dr. Kaiser", "PC-Waechter (Actel FPGA)"},
 	{},
 };
 
diff --git a/flash.h b/flash.h
index c73dbb5..ff2004c 100644
--- a/flash.h
+++ b/flash.h
@@ -311,8 +311,6 @@
 
 #if NEED_PCI == 1
 /* pcidev.c */
-#define PCI_OK 0
-#define PCI_NT 1    /* Not tested */
 
 extern uint32_t io_base_addr;
 extern struct pci_access *pacc;
diff --git a/gfxnvidia.c b/gfxnvidia.c
index cc66ace..ec41279 100644
--- a/gfxnvidia.c
+++ b/gfxnvidia.c
@@ -28,29 +28,29 @@
 uint8_t *nvidia_bar;
 
 struct pcidev_status gfx_nvidia[] = {
-	{0x10de, 0x0010, PCI_NT, "NVIDIA", "Mutara V08 [NV2]" },
-	{0x10de, 0x0018, PCI_NT, "NVIDIA", "RIVA 128" },
-	{0x10de, 0x0020, PCI_NT, "NVIDIA", "RIVA TNT" },
-	{0x10de, 0x0028, PCI_NT, "NVIDIA", "RIVA TNT2/TNT2 Pro" },
-	{0x10de, 0x0029, PCI_NT, "NVIDIA", "RIVA TNT2 Ultra" },
-	{0x10de, 0x002c, PCI_NT, "NVIDIA", "Vanta/Vanta LT" },
-	{0x10de, 0x002d, PCI_OK, "NVIDIA", "RIVA TNT2 Model 64/Model 64 Pro" },
-	{0x10de, 0x00a0, PCI_NT, "NVIDIA", "Aladdin TNT2" },
-	{0x10de, 0x0100, PCI_NT, "NVIDIA", "GeForce 256" },
-	{0x10de, 0x0101, PCI_NT, "NVIDIA", "GeForce DDR" },
-	{0x10de, 0x0103, PCI_NT, "NVIDIA", "Quadro" },
-	{0x10de, 0x0110, PCI_NT, "NVIDIA", "GeForce2 MX" },
-	{0x10de, 0x0111, PCI_NT, "NVIDIA", "GeForce2 MX" },
-	{0x10de, 0x0112, PCI_NT, "NVIDIA", "GeForce2 GO" },
-	{0x10de, 0x0113, PCI_NT, "NVIDIA", "Quadro2 MXR" },
-	{0x10de, 0x0150, PCI_NT, "NVIDIA", "GeForce2 GTS/Pro" },
-	{0x10de, 0x0151, PCI_NT, "NVIDIA", "GeForce2 GTS" },
-	{0x10de, 0x0152, PCI_NT, "NVIDIA", "GeForce2 Ultra" },
-	{0x10de, 0x0153, PCI_NT, "NVIDIA", "Quadro2 Pro" },
-	{0x10de, 0x0200, PCI_NT, "NVIDIA", "GeForce 3 nFX" },
-	{0x10de, 0x0201, PCI_NT, "NVIDIA", "GeForce 3 nFX" },
-	{0x10de, 0x0202, PCI_NT, "NVIDIA", "GeForce 3 nFX Ultra" },
-	{0x10de, 0x0203, PCI_NT, "NVIDIA", "Quadro 3 DDC" },
+	{0x10de, 0x0010, NT, "NVIDIA", "Mutara V08 [NV2]" },
+	{0x10de, 0x0018, NT, "NVIDIA", "RIVA 128" },
+	{0x10de, 0x0020, NT, "NVIDIA", "RIVA TNT" },
+	{0x10de, 0x0028, NT, "NVIDIA", "RIVA TNT2/TNT2 Pro" },
+	{0x10de, 0x0029, NT, "NVIDIA", "RIVA TNT2 Ultra" },
+	{0x10de, 0x002c, NT, "NVIDIA", "Vanta/Vanta LT" },
+	{0x10de, 0x002d, OK, "NVIDIA", "RIVA TNT2 Model 64/Model 64 Pro" },
+	{0x10de, 0x00a0, NT, "NVIDIA", "Aladdin TNT2" },
+	{0x10de, 0x0100, NT, "NVIDIA", "GeForce 256" },
+	{0x10de, 0x0101, NT, "NVIDIA", "GeForce DDR" },
+	{0x10de, 0x0103, NT, "NVIDIA", "Quadro" },
+	{0x10de, 0x0110, NT, "NVIDIA", "GeForce2 MX" },
+	{0x10de, 0x0111, NT, "NVIDIA", "GeForce2 MX" },
+	{0x10de, 0x0112, NT, "NVIDIA", "GeForce2 GO" },
+	{0x10de, 0x0113, NT, "NVIDIA", "Quadro2 MXR" },
+	{0x10de, 0x0150, NT, "NVIDIA", "GeForce2 GTS/Pro" },
+	{0x10de, 0x0151, NT, "NVIDIA", "GeForce2 GTS" },
+	{0x10de, 0x0152, NT, "NVIDIA", "GeForce2 Ultra" },
+	{0x10de, 0x0153, NT, "NVIDIA", "Quadro2 Pro" },
+	{0x10de, 0x0200, NT, "NVIDIA", "GeForce 3 nFX" },
+	{0x10de, 0x0201, NT, "NVIDIA", "GeForce 3 nFX" },
+	{0x10de, 0x0202, NT, "NVIDIA", "GeForce 3 nFX Ultra" },
+	{0x10de, 0x0203, NT, "NVIDIA", "Quadro 3 DDC" },
 
 	{},
 };
diff --git a/nic3com.c b/nic3com.c
index a4878d2..d3dcce5 100644
--- a/nic3com.c
+++ b/nic3com.c
@@ -36,20 +36,20 @@
 
 struct pcidev_status nics_3com[] = {
 	/* 3C90xB */
-	{0x10b7, 0x9055, PCI_OK, "3COM", "3C90xB: PCI 10/100 Mbps; shared 10BASE-T/100BASE-TX"},
-	{0x10b7, 0x9001, PCI_NT, "3COM", "3C90xB: PCI 10/100 Mbps; shared 10BASE-T/100BASE-T4" },
-	{0x10b7, 0x9004, PCI_OK, "3COM", "3C90xB: PCI 10BASE-T (TPO)" },
-	{0x10b7, 0x9005, PCI_NT, "3COM", "3C90xB: PCI 10BASE-T/10BASE2/AUI (COMBO)" },
-	{0x10b7, 0x9006, PCI_NT, "3COM", "3C90xB: PCI 10BASE-T/10BASE2 (TPC)" },
-	{0x10b7, 0x900a, PCI_NT, "3COM", "3C90xB: PCI 10BASE-FL" },
-	{0x10b7, 0x905a, PCI_NT, "3COM", "3C90xB: PCI 10BASE-FX" },
-	{0x10b7, 0x9058, PCI_OK, "3COM", "3C905B: Cyclone 10/100/BNC" },
+	{0x10b7, 0x9055, OK, "3COM", "3C90xB: PCI 10/100 Mbps; shared 10BASE-T/100BASE-TX"},
+	{0x10b7, 0x9001, NT, "3COM", "3C90xB: PCI 10/100 Mbps; shared 10BASE-T/100BASE-T4" },
+	{0x10b7, 0x9004, OK, "3COM", "3C90xB: PCI 10BASE-T (TPO)" },
+	{0x10b7, 0x9005, NT, "3COM", "3C90xB: PCI 10BASE-T/10BASE2/AUI (COMBO)" },
+	{0x10b7, 0x9006, NT, "3COM", "3C90xB: PCI 10BASE-T/10BASE2 (TPC)" },
+	{0x10b7, 0x900a, NT, "3COM", "3C90xB: PCI 10BASE-FL" },
+	{0x10b7, 0x905a, NT, "3COM", "3C90xB: PCI 10BASE-FX" },
+	{0x10b7, 0x9058, OK, "3COM", "3C905B: Cyclone 10/100/BNC" },
 
 	/* 3C905C */
-	{0x10b7, 0x9200, PCI_OK, "3COM", "3C905C: EtherLink 10/100 PCI (TX)" },
+	{0x10b7, 0x9200, OK, "3COM", "3C905C: EtherLink 10/100 PCI (TX)" },
 
 	/* 3C980C */
-	{0x10b7, 0x9805, PCI_NT, "3COM", "3C980C: EtherLink Server 10/100 PCI (TX)" },
+	{0x10b7, 0x9805, NT, "3COM", "3C980C: EtherLink Server 10/100 PCI (TX)" },
 
 	{},
 };
diff --git a/pcidev.c b/pcidev.c
index 6c92c0a..fcb04e6 100644
--- a/pcidev.c
+++ b/pcidev.c
@@ -49,7 +49,7 @@
 		       dev->vendor_id, dev->device_id, dev->bus, dev->dev,
 		       dev->func);
 
-		if (devs[i].status == PCI_NT) {
+		if (devs[i].status == NT) {
 			printf("===\nThis PCI device is UNTESTED. Please "
 			       "report the 'flashrom -p xxxx' output \n"
 			       "to flashrom@flashrom.org if it works "
@@ -117,6 +117,6 @@
 		printf("%s %s [%02x:%02x]%s\n", devs[i].vendor_name,
 		       devs[i].device_name, devs[i].vendor_id,
 		       devs[i].device_id,
-		       (devs[i].status == PCI_NT) ? " (untested)" : "");
+		       (devs[i].status == NT) ? " (untested)" : "");
 	}
 }
diff --git a/print_wiki.c b/print_wiki.c
index bbbaf45..20e0850 100644
--- a/print_wiki.c
+++ b/print_wiki.c
@@ -541,7 +541,7 @@
 		       "%04x:%04x || {{%s}}\n", (c) ? "eeeeee" : "dddddd",
 		       devs[i].vendor_name, devs[i].device_name,
 		       devs[i].vendor_id, devs[i].device_id,
-		       (devs[i].status == PCI_NT) ? (c) ? "?2" : "?" : "OK");
+		       (devs[i].status == NT) ? (c) ? "?2" : "?" : "OK");
 	}
 }
 
diff --git a/satasii.c b/satasii.c
index 90995c9..90d38bd 100644
--- a/satasii.c
+++ b/satasii.c
@@ -30,12 +30,12 @@
 uint16_t id;
 
 struct pcidev_status satas_sii[] = {
-	{0x1095, 0x0680, PCI_OK, "Silicon Image", "PCI0680 Ultra ATA-133 Host Ctrl"},
-	{0x1095, 0x3112, PCI_OK, "Silicon Image", "SiI 3112 [SATALink/SATARaid] SATA Ctrl"},
-	{0x1095, 0x3114, PCI_OK, "Silicon Image", "SiI 3114 [SATALink/SATARaid] SATA Ctrl"},
-	{0x1095, 0x3124, PCI_NT, "Silicon Image", "SiI 3124 PCI-X SATA Ctrl"},
-	{0x1095, 0x3132, PCI_OK, "Silicon Image", "SiI 3132 SATA Raid II Ctrl"},
-	{0x1095, 0x3512, PCI_NT, "Silicon Image", "SiI 3512 [SATALink/SATARaid] SATA Ctrl"},
+	{0x1095, 0x0680, OK, "Silicon Image", "PCI0680 Ultra ATA-133 Host Ctrl"},
+	{0x1095, 0x3112, OK, "Silicon Image", "SiI 3112 [SATALink/SATARaid] SATA Ctrl"},
+	{0x1095, 0x3114, OK, "Silicon Image", "SiI 3114 [SATALink/SATARaid] SATA Ctrl"},
+	{0x1095, 0x3124, NT, "Silicon Image", "SiI 3124 PCI-X SATA Ctrl"},
+	{0x1095, 0x3132, OK, "Silicon Image", "SiI 3132 SATA Raid II Ctrl"},
+	{0x1095, 0x3512, NT, "Silicon Image", "SiI 3512 [SATALink/SATARaid] SATA Ctrl"},
 
 	{},
 };
