Use struct pointer instead of enum to set bitbang adapter

Corresponding to flashrom svn r1091.

Signed-off-by: Michael Karcher <flashrom@mkarcher.dialup.fu-berlin.de>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
diff --git a/flash.h b/flash.h
index c858eba..c3302c4 100644
--- a/flash.h
+++ b/flash.h
@@ -127,13 +127,14 @@
 void chip_readn(uint8_t *buf, const chipaddr addr, size_t len);
 void programmer_delay(int usecs);
 
-enum bitbang_spi_master {
-	BITBANG_SPI_INVALID /* This must always be the last entry. */
+enum bitbang_spi_master_type {
+	BITBANG_SPI_DUMMY	/* remove as soon as there is a real entry */
 };
 
-extern const int bitbang_spi_master_count;
+struct bitbang_spi_master {
+	enum bitbang_spi_master_type type;
 
-struct bitbang_spi_master_entry {
+	/* Note that CS# is active low, so val=0 means the chip is active. */
 	void (*set_cs) (int val);
 	void (*set_sck) (int val);
 	void (*set_mosi) (int val);
@@ -531,7 +532,7 @@
 int ft2232_spi_write_256(struct flashchip *flash, uint8_t *buf, int start, int len);
 
 /* bitbang_spi.c */
-int bitbang_spi_init(enum bitbang_spi_master master, int halfperiod);
+int bitbang_spi_init(const struct bitbang_spi_master *master, int halfperiod);
 int bitbang_spi_send_command(unsigned int writecnt, unsigned int readcnt, const unsigned char *writearr, unsigned char *readarr);
 int bitbang_spi_read(struct flashchip *flash, uint8_t *buf, int start, int len);
 int bitbang_spi_write_256(struct flashchip *flash, uint8_t *buf, int start, int len);