diff options
author | Ben Hutchings <bhutchings@solarflare.com> | 2008-12-13 08:33:50 +0300 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-12-13 08:57:35 +0300 |
commit | be4ea89c8df06f48d0d64cf1d9d20009e83c77c8 (patch) | |
tree | fb48f89ea32ef55e336242e33d6ccfd1f5ff4295 /drivers/net/sfc/spi.h | |
parent | 1ab00629f06fb3c47de6373cd92d086f33775444 (diff) | |
download | linux-be4ea89c8df06f48d0d64cf1d9d20009e83c77c8.tar.xz |
sfc: Clean up waits for flash/EEPROM operations
Make falcon_spi_wait() ignore the write timer - it is only relevant to
write commands, it only works for the device that contains VPD, and it
might not be initialised properly at all.
Rename falcon_spi_fast_wait() to falcon_spi_wait_write(), reflecting
its use, and make it wait up to 10 ms (not 1 ms) since buffered writes
to EEPROM may take this long to complete.
Make both wait functions sleep instead of busy-waiting.
Replace wait for command completion at top of falcon_spi_cmd() with a
single poll; no command should be running when the function starts.
Correct some comments.
Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/sfc/spi.h')
-rw-r--r-- | drivers/net/sfc/spi.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/net/sfc/spi.h b/drivers/net/sfc/spi.h index 38e22ff4d7af..1b1ceb411671 100644 --- a/drivers/net/sfc/spi.h +++ b/drivers/net/sfc/spi.h @@ -69,7 +69,7 @@ struct efx_spi_device { int falcon_spi_cmd(const struct efx_spi_device *spi, unsigned int command, int address, const void* in, void *out, size_t len); -int falcon_spi_fast_wait(const struct efx_spi_device *spi); +int falcon_spi_wait_write(const struct efx_spi_device *spi); int falcon_spi_read(const struct efx_spi_device *spi, loff_t start, size_t len, size_t *retlen, u8 *buffer); int falcon_spi_write(const struct efx_spi_device *spi, loff_t start, |