Add opaque programmer registration infrastructure

An opaque programmer does not allow direct flash access and only offers
abstract probe/read/erase/write methods.
Due to that, opaque programmers need their own infrastructure and
registration framework.

Corresponding to flashrom svn r1459.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Michael Karcher <flashrom@mkarcher.dialup.fu-berlin.de>
diff --git a/flash.h b/flash.h
index 535c1b8..c91e954 100644
--- a/flash.h
+++ b/flash.h
@@ -62,8 +62,8 @@
 	BUS_LPC		= 1 << 1,
 	BUS_FWH		= 1 << 2,
 	BUS_SPI		= 1 << 3,
+	BUS_PROG	= 1 << 4,
 	BUS_NONSPI	= BUS_PARALLEL | BUS_LPC | BUS_FWH,
-	BUS_UNKNOWN	= BUS_PARALLEL | BUS_LPC | BUS_FWH | BUS_SPI,
 };
 
 /*