
10 Apr
2014
10 Apr
'14
8:41 p.m.
I further justify this with a list of drivers that depend on half-duplex SPI operation:
drivers/mmc/mmc_spi.c: spi_xfer(spi, 2 * 8, tok, NULL, 0); drivers/mtd/spi/eeprom_m95xxx.c: if (spi_xfer(slave, 8, buf, NULL, SPI_XFER_BEGIN | SPI_XFER_END)) drivers/mtd/spi/sf_ops.c: ret = spi_xfer(spi, 8, NULL, &status, 0); drivers/net/e1000_spi.c: return e1000_spi_xfer(hw, 8*sizeof(op), op, NULL, intr); drivers/net/enc28j60.c: spi_xfer(enc->slave, 2 * 8, dout, NULL, drivers/rtc/m41t94.c: ret = spi_xfer(slave, 64, buf, NULL, SPI_XFER_BEGIN | SPI_XFER_END);
And an old email first highlighting this issue in 2010 with the soft_spi driver:
http://article.gmane.org/gmane.comp.boot-loaders.u-boot/75839/match=soft_spi