Get rid of the is_read variable, and just keep the state of the "not
empty" and "not full" events in two boolean variables within the loop
body.

Signed-off-by: Mario Six <mario....@gdsys.cc>
---
 drivers/spi/mpc8xxx_spi.c | 12 +++++++-----
 1 file changed, 7 insertions(+), 5 deletions(-)

diff --git a/drivers/spi/mpc8xxx_spi.c b/drivers/spi/mpc8xxx_spi.c
index c4a9ef53ef..a69987ef54 100644
--- a/drivers/spi/mpc8xxx_spi.c
+++ b/drivers/spi/mpc8xxx_spi.c
@@ -91,7 +91,7 @@ int spi_xfer(struct spi_slave *slave, uint bitlen, const void 
*dout, void *din,
        spi8xxx_t *spi = &((immap_t *)(CONFIG_SYS_IMMR))->spi;
        uint tmpdout, tmpdin, event;
        int num_blks = DIV_ROUND_UP(bitlen, 32);
-       int tm, is_read = 0;
+       int tm;
        uchar char_size = 32;
 
        debug("%s: slave %u:%u dout %08X din %08X bitlen %u\n", __func__,
@@ -145,12 +145,14 @@ int spi_xfer(struct spi_slave *slave, uint bitlen, const 
void *dout, void *din,
                 * or time out (1 second = 1000 ms)
                 * The NE event must be read and cleared first
                 */
-               for (tm = 0, is_read = 0; tm < SPI_TIMEOUT; ++tm) {
+               for (tm = 0; tm < SPI_TIMEOUT; ++tm) {
                        event = in_be32(&spi->event);
-                       if (event & SPI_EV_NE) {
+                       bool have_ne = event & SPI_EV_NE;
+                       bool have_nf = event & SPI_EV_NF;
+
+                       if (have_ne) {
                                tmpdin = in_be32(&spi->rx);
                                setbits_be32(&spi->event, SPI_EV_NE);
-                               is_read = 1;
 
                                *(u32 *)din = (tmpdin << (32 - char_size));
                                if (char_size == 32) {
@@ -164,7 +166,7 @@ int spi_xfer(struct spi_slave *slave, uint bitlen, const 
void *dout, void *din,
                         * in the future put an arbitrary delay after writing
                         * the device.  Arbitrary delays suck, though...
                         */
-                       if (is_read && (event & SPI_EV_NF))
+                       if (have_ne && have_nf)
                                break;
                }
                if (tm >= SPI_TIMEOUT)
-- 
2.11.0

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot

Reply via email to