Add a tested bitmap field to the flash chip table

Two bits indicate OK and BAD for each operation PROBE READ ERASE WRITE.
8 bits out of 32 are in use now. No bits set means nothing has been tested.
For chips with at least one operation that is not tested or not working, the
user is asked to email a report to a special email adress so that the table
can be updated.

All chips are TEST_UNTESTED for now.

Corresponding to flashrom svn r221 and coreboot v2 svn r3277.

Signed-off-by: Peter Stuge <peter@stuge.se>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
diff --git a/flash.h b/flash.h
index 3c07210..58c650b 100644
--- a/flash.h
+++ b/flash.h
@@ -45,6 +45,11 @@
 	int total_size;
 	int page_size;
 
+	/* Indicate if flashrom has been tested with this flash chip and if
+	 * everything worked correctly.
+	 */
+	uint32_t tested;
+
 	int (*probe) (struct flashchip *flash);
 	int (*erase) (struct flashchip *flash);
 	int (*write) (struct flashchip *flash, uint8_t *buf);
@@ -55,6 +60,20 @@
 	volatile uint8_t *virtual_registers;
 };
 
+#define TEST_UNTESTED	0
+
+#define TEST_OK_PROBE	(1<<0)
+#define TEST_OK_READ	(1<<1)
+#define TEST_OK_ERASE	(1<<2)
+#define TEST_OK_WRITE	(1<<3)
+#define TEST_OK_MASK	0x0f
+
+#define TEST_BAD_PROBE	(1<<4)
+#define TEST_BAD_READ	(1<<5)
+#define TEST_BAD_ERASE	(1<<6)
+#define TEST_BAD_WRITE	(1<<7)
+#define TEST_BAD_MASK	0xf0
+
 extern struct flashchip flashchips[];
 
 /*