Revert "Update all programmer init functions to register bus programmers into common list"

This reverts commit 63b92f99a9d43dd637bcce564cd372be3c81c5d8.

BUG=chromium:635405

Change-Id: I94ae18b547d2aedd74fc7103a38dcbfd2f57be66
Reviewed-on: https://chromium-review.googlesource.com/367504
Commit-Ready: David Hendricks <dhendrix@chromium.org>
Tested-by: David Hendricks <dhendrix@chromium.org>
Reviewed-by: David Hendricks <dhendrix@chromium.org>
diff --git a/programmer.c b/programmer.c
index 71ef5f5..a1b8ccc 100644
--- a/programmer.c
+++ b/programmer.c
@@ -21,6 +21,19 @@
 #include "flash.h"
 #include "programmer.h"
 
+static const struct par_programmer par_programmer_none = {
+		.chip_readb		= noop_chip_readb,
+		.chip_readw		= fallback_chip_readw,
+		.chip_readl		= fallback_chip_readl,
+		.chip_readn		= fallback_chip_readn,
+		.chip_writeb		= noop_chip_writeb,
+		.chip_writew		= fallback_chip_writew,
+		.chip_writel		= fallback_chip_writel,
+		.chip_writen		= fallback_chip_writen,
+};
+
+const struct par_programmer *par_programmer = &par_programmer_none;
+
 /* No-op shutdown() for programmers which don't need special handling */
 int noop_shutdown(void)
 {
@@ -39,7 +52,13 @@
 {
 }
 
-/* No-op chip_writeb() for parallel style drivers not supporting writes */
+/* No-op chip_writeb() for drivers not supporting addr/data pair accesses */
+uint8_t noop_chip_readb(const struct flashctx *flash, const chipaddr addr)
+{
+	return 0xff;
+}
+
+/* No-op chip_writeb() for drivers not supporting addr/data pair accesses */
 void noop_chip_writeb(const struct flashctx *flash, uint8_t val, chipaddr addr)
 {
 }
@@ -92,57 +111,15 @@
 	return;
 }
 
-int register_par_programmer(const struct par_programmer *pgm,
-			    const enum chipbustype buses)
+void register_par_programmer(const struct par_programmer *pgm, const enum chipbustype buses)
 {
-	struct registered_programmer rpgm;
-	if (!pgm->chip_writeb || !pgm->chip_writew || !pgm->chip_writel ||
-	    !pgm->chip_writen || !pgm->chip_readb || !pgm->chip_readw ||
-	    !pgm->chip_readl || !pgm->chip_readn) {
-		msg_perr("%s called with incomplete programmer definition. "
-			 "Please report a bug at flashrom@flashrom.org\n",
-			 __func__);
-		return ERROR_FLASHROM_BUG;
-	}
-
-	rpgm.buses_supported = buses;
-	rpgm.par = *pgm;
-	return register_programmer(&rpgm);
-}
-
-/* The limit of 4 is totally arbitrary. */
-#define PROGRAMMERS_MAX 4
-struct registered_programmer registered_programmers[PROGRAMMERS_MAX];
-int registered_programmer_count = 0;
-
-/* This function copies the struct registered_programmer parameter. */
-int register_programmer(struct registered_programmer *pgm)
-{
-	if (registered_programmer_count >= PROGRAMMERS_MAX) {
-		msg_perr("Tried to register more than %i programmer "
-			 "interfaces.\n", PROGRAMMERS_MAX);
-		return ERROR_FLASHROM_LIMIT;
-	}
-	registered_programmers[registered_programmer_count] = *pgm;
-	registered_programmer_count++;
-
-	return 0;
-}
-
-enum chipbustype get_buses_supported(void)
-{
-	int i;
-	enum chipbustype ret = BUS_NONE;
-
-	for (i = 0; i < registered_programmer_count; i++)
-		ret |= registered_programmers[i].buses_supported;
-
-	return ret;
+	par_programmer = pgm;
+	buses_supported |= buses;
 }
 
 struct programmer_alias aliases[] = {
-	{ "ec", ALIAS_EC, PROGRAMMER_INTERNAL },
-	{ "host", ALIAS_HOST, PROGRAMMER_INTERNAL },
+	{ "ec", ALIAS_EC },
+	{ "host", ALIAS_HOST },
 	{ NULL },
 };
 struct programmer_alias *alias;