[U-Boot] [PATCH v2 14/18] spi: mpc8xxx: Document LEN setting better
Mario Six
mario.six at gdsys.cc
Thu Apr 19 12:36:29 UTC 2018
Instead of having a table right before the code implementing the length
setting for documentation, have inline comments for the if branches
actually implementing the length setting described table's entries
(which is readable thanks to the set_char_len function).
Signed-off-by: Mario Six <mario.six at gdsys.cc>
---
Changes v1 -> v2:
None
---
drivers/spi/mpc8xxx_spi.c | 16 +++++-----------
1 file changed, 5 insertions(+), 11 deletions(-)
diff --git a/drivers/spi/mpc8xxx_spi.c b/drivers/spi/mpc8xxx_spi.c
index ce2a77c1aa..d22206f4b7 100644
--- a/drivers/spi/mpc8xxx_spi.c
+++ b/drivers/spi/mpc8xxx_spi.c
@@ -120,21 +120,15 @@ int spi_xfer(struct spi_slave *slave, uint bitlen, const void *dout, void *din,
/* Shift data so it's msb-justified */
tmpdout = *(u32 *)dout >> (32 - xfer_bitlen);
- /* The LEN field of the SPMODE register is set as follows:
- *
- * Bit length setting
- * len <= 4 3
- * 4 < len <= 16 len - 1
- * len > 16 0
- */
-
clrbits_be32(&spi->mode, SPI_MODE_EN);
- if (bitlen <= 4)
+ /* Set up length for this transfer */
+
+ if (bitlen <= 4) /* 4 bits or less */
set_char_len(spi, 3);
- else if (bitlen <= 16)
+ else if (bitlen <= 16) /* at most 16 bits */
set_char_len(spi, bitlen - 1);
- else
+ else /* more than 16 bits -> full 32 bit transfer */
set_char_len(spi, 0);
if (bitlen > 16) {
--
2.16.1
More information about the U-Boot
mailing list