spi: mpc8xxx: Document LEN setting better
authorMario Six <mario.six@gdsys.cc>
Sun, 28 Apr 2019 20:28:49 +0000 (01:58 +0530)
committerJagan Teki <jagan@amarulasolutions.com>
Mon, 10 Jun 2019 12:29:49 +0000 (17:59 +0530)
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@gdsys.cc>
Acked-by: Jagan Teki <jagan@amarulasolutions.com>
drivers/spi/mpc8xxx_spi.c

index 63d956a29573ba3d57b410fc780d5e852b767aa0..1dd5bd97990812785d337cac2581d62b1d40dc53 100644 (file)
@@ -119,21 +119,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) {