]> git.sur5r.net Git - u-boot/blobdiff - drivers/spi/atcspi200_spi.c
dm: core: Add a function to decode a memory region
[u-boot] / drivers / spi / atcspi200_spi.c
index bc08914b9eb8e3259974b137190bd06049232a1c..af96c6d21e5c5e04220c2936e8586f5b192b4691 100644 (file)
@@ -1,10 +1,9 @@
+// SPDX-License-Identifier: GPL-2.0+
 /*
  * Andestech ATCSPI200 SPI controller driver.
  *
  * Copyright 2017 Andes Technology, Inc.
  * Author: Rick Chen (rick@andestech.com)
- *
- * SPDX-License-Identifier:    GPL-2.0+
  */
 
 #include <clk.h>
@@ -198,7 +197,7 @@ static int __atcspi200_spi_xfer(struct nds_spi_slave *ns,
                int num_bytes;
                u8 *cmd_buf = ns->cmd_buf;
                size_t cmd_len = ns->cmd_len;
-               size_t data_len = bitlen / 8;
+               unsigned long data_len = bitlen / 8;
                int rf_cnt;
                int ret = 0;
 
@@ -230,13 +229,15 @@ static int __atcspi200_spi_xfer(struct nds_spi_slave *ns,
                        __atcspi200_spi_start(ns);
                        break;
                }
-               debug("spi_xfer: data_out %08X(%p) data_in %08X(%p) data_len %u\n",
-                     *(uint *)data_out, data_out, *(uint *)data_in, data_in, data_len);
+               if (data_out)
+                       debug("spi_xfer: data_out %08X(%p) data_in %08X(%p) data_len %lu\n",
+                             *(uint *)data_out, data_out, *(uint *)data_in,
+                             data_in, data_len);
                num_chunks = DIV_ROUND_UP(data_len, max_tran_len);
                din = data_in;
                dout = data_out;
                while (num_chunks--) {
-                       tran_len = min(data_len, (size_t)max_tran_len);
+                       tran_len = min((size_t)data_len, (size_t)max_tran_len);
                        ns->tran_len = tran_len;
                        num_blks = DIV_ROUND_UP(tran_len , CHUNK_SIZE);
                        num_bytes = (tran_len) % CHUNK_SIZE;