diff options
author | Michael Karcher <flashrom@mkarcher.dialup.fu-berlin.de> | 2010-07-17 23:27:47 +0000 |
---|---|---|
committer | Michael Karcher <flashrom@mkarcher.dialup.fu-berlin.de> | 2010-07-17 23:27:47 +0000 |
commit | 62175a094dcb74dc4845cd091be5100b6b4ec5d7 (patch) | |
tree | cb426754317a450a4d32ab61701945baed13cbbc /bitbang_spi.c | |
parent | f7533420b4169a963edd4f40b0a649cc92f47bd4 (diff) | |
download | flashrom-62175a094dcb74dc4845cd091be5100b6b4ec5d7.tar.gz flashrom-62175a094dcb74dc4845cd091be5100b6b4ec5d7.tar.bz2 flashrom-62175a094dcb74dc4845cd091be5100b6b4ec5d7.zip |
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>
Diffstat (limited to 'bitbang_spi.c')
-rw-r--r-- | bitbang_spi.c | 23 |
1 files changed, 6 insertions, 17 deletions
diff --git a/bitbang_spi.c b/bitbang_spi.c index b543fd457..9f0e87880 100644 --- a/bitbang_spi.c +++ b/bitbang_spi.c @@ -29,45 +29,34 @@ /* Length of half a clock period in usecs. */ static int bitbang_spi_half_period; -static enum bitbang_spi_master bitbang_spi_master = BITBANG_SPI_INVALID; - -static const struct bitbang_spi_master_entry bitbang_spi_master_table[] = { - {}, /* This entry corresponds to BITBANG_SPI_INVALID. */ -}; - -const int bitbang_spi_master_count = ARRAY_SIZE(bitbang_spi_master_table); +static const struct bitbang_spi_master *bitbang_spi_master = NULL; /* Note that CS# is active low, so val=0 means the chip is active. */ static void bitbang_spi_set_cs(int val) { - bitbang_spi_master_table[bitbang_spi_master].set_cs(val); + bitbang_spi_master->set_cs(val); } static void bitbang_spi_set_sck(int val) { - bitbang_spi_master_table[bitbang_spi_master].set_sck(val); + bitbang_spi_master->set_sck(val); } static void bitbang_spi_set_mosi(int val) { - bitbang_spi_master_table[bitbang_spi_master].set_mosi(val); + bitbang_spi_master->set_mosi(val); } static int bitbang_spi_get_miso(void) { - return bitbang_spi_master_table[bitbang_spi_master].get_miso(); + return bitbang_spi_master->get_miso(); } -int bitbang_spi_init(enum bitbang_spi_master master, int halfperiod) +int bitbang_spi_init(const struct bitbang_spi_master *master, int halfperiod) { bitbang_spi_master = master; bitbang_spi_half_period = halfperiod; - if (bitbang_spi_master == BITBANG_SPI_INVALID) { - msg_perr("Invalid bitbang SPI master. \n" - "Please report a bug at flashrom@flashrom.org\n"); - return 1; - } bitbang_spi_set_cs(1); bitbang_spi_set_sck(0); bitbang_spi_set_mosi(0); |