programmer.h: Resync 'struct programmer_entry' with upstream

BUG=chromium:478356
BRANCH=none
TEST=still builds

Change-Id: I16221061469be839373d9f8ace3b151a6852d7b7
Signed-off-by: Edward O'Callaghan <quasisec@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/flashrom/+/1907852
Reviewed-by: Sam McNally <sammc@chromium.org>
diff --git a/programmer.h b/programmer.h
index d1c1ff7..d93cf5d 100644
--- a/programmer.h
+++ b/programmer.h
@@ -113,9 +113,27 @@
 	return alias && (alias->type == ALIAS_EC);
 }
 
+enum programmer_type {
+	PCI = 1, /* to detect uninitialized values */
+	USB,
+	OTHER,
+};
+
+struct dev_entry {
+	uint16_t vendor_id;
+	uint16_t device_id;
+	const enum test_state status;
+	const char *vendor_name;
+	const char *device_name;
+};
+
 struct programmer_entry {
-	const char *vendor;
 	const char *name;
+	const enum programmer_type type;
+	union {
+		const struct dev_entry *const dev;
+		const char *const note;
+	} devs;
 
 	int (*init) (void);
 
@@ -225,13 +243,6 @@
 #if NEED_PCI == 1
 /* pcidev.c */
 extern struct pci_access *pacc;
-struct dev_entry {
-	uint16_t vendor_id;
-	uint16_t device_id;
-	int status;
-	const char *vendor_name;
-	const char *device_name;
-};
 int pci_init_common(void);
 uintptr_t pcidev_readbar(struct pci_dev *dev, int bar);
 uintptr_t pcidev_validate(struct pci_dev *dev, int bar, const struct dev_entry *devs);