stm32l4x.c: Free r6/7 for 64-bit operations.
[fw/openocd] / src / flash / mflash.c
index ea1673f09d47282e7d4d5d7775df188c8491e251..d3a3aceac239b7c21513d58657b2ac4fbedea186 100644 (file)
@@ -749,7 +749,7 @@ COMMAND_HANDLER(mg_write_cmd)
 {
        uint32_t address, cnt, res, i;
        uint8_t *buffer;
-       struct fileio fileio;
+       struct fileio *fileio;
        int ret;
 
        if (CMD_ARGC != 3)
@@ -761,15 +761,15 @@ COMMAND_HANDLER(mg_write_cmd)
        if (ret != ERROR_OK)
                return ret;
 
-       int filesize;
+       size_t filesize;
        buffer = malloc(MG_FILEIO_CHUNK);
        if (!buffer) {
-               fileio_close(&fileio);
+               fileio_close(fileio);
                return ERROR_FAIL;
        }
-       int retval = fileio_size(&fileio, &filesize);
+       int retval = fileio_size(fileio, &filesize);
        if (retval != ERROR_OK) {
-               fileio_close(&fileio);
+               fileio_close(fileio);
                free(buffer);
                return retval;
        }
@@ -782,7 +782,7 @@ COMMAND_HANDLER(mg_write_cmd)
 
        size_t buf_cnt;
        for (i = 0; i < cnt; i++) {
-               ret = fileio_read(&fileio, MG_FILEIO_CHUNK, buffer, &buf_cnt);
+               ret = fileio_read(fileio, MG_FILEIO_CHUNK, buffer, &buf_cnt);
                if (ret != ERROR_OK)
                        goto mg_write_cmd_err;
                ret = mg_mflash_write(address, buffer, MG_FILEIO_CHUNK);
@@ -792,7 +792,7 @@ COMMAND_HANDLER(mg_write_cmd)
        }
 
        if (res) {
-               ret = fileio_read(&fileio, res, buffer, &buf_cnt);
+               ret = fileio_read(fileio, res, buffer, &buf_cnt);
                if (ret != ERROR_OK)
                        goto mg_write_cmd_err;
                ret = mg_mflash_write(address, buffer, res);
@@ -801,19 +801,19 @@ COMMAND_HANDLER(mg_write_cmd)
        }
 
        if (duration_measure(&bench) == ERROR_OK) {
-               command_print(CMD_CTX, "wrote %ld bytes from file %s "
-                       "in %fs (%0.3f kB/s)", (long)filesize, CMD_ARGV[1],
+               command_print(CMD_CTX, "wrote %zu bytes from file %s "
+                       "in %fs (%0.3f kB/s)", filesize, CMD_ARGV[1],
                        duration_elapsed(&bench), duration_kbps(&bench, filesize));
        }
 
        free(buffer);
-       fileio_close(&fileio);
+       fileio_close(fileio);
 
        return ERROR_OK;
 
 mg_write_cmd_err:
        free(buffer);
-       fileio_close(&fileio);
+       fileio_close(fileio);
 
        return ret;
 }
@@ -822,7 +822,7 @@ COMMAND_HANDLER(mg_dump_cmd)
 {
        uint32_t address, size, cnt, res, i;
        uint8_t *buffer;
-       struct fileio fileio;
+       struct fileio *fileio;
        int ret;
 
        if (CMD_ARGC != 4)
@@ -837,7 +837,7 @@ COMMAND_HANDLER(mg_dump_cmd)
 
        buffer = malloc(MG_FILEIO_CHUNK);
        if (!buffer) {
-               fileio_close(&fileio);
+               fileio_close(fileio);
                return ERROR_FAIL;
        }
 
@@ -852,7 +852,7 @@ COMMAND_HANDLER(mg_dump_cmd)
                ret = mg_mflash_read(address, buffer, MG_FILEIO_CHUNK);
                if (ret != ERROR_OK)
                        goto mg_dump_cmd_err;
-               ret = fileio_write(&fileio, MG_FILEIO_CHUNK, buffer, &size_written);
+               ret = fileio_write(fileio, MG_FILEIO_CHUNK, buffer, &size_written);
                if (ret != ERROR_OK)
                        goto mg_dump_cmd_err;
                address += MG_FILEIO_CHUNK;
@@ -862,7 +862,7 @@ COMMAND_HANDLER(mg_dump_cmd)
                ret = mg_mflash_read(address, buffer, res);
                if (ret != ERROR_OK)
                        goto mg_dump_cmd_err;
-               ret = fileio_write(&fileio, res, buffer, &size_written);
+               ret = fileio_write(fileio, res, buffer, &size_written);
                if (ret != ERROR_OK)
                        goto mg_dump_cmd_err;
        }
@@ -875,13 +875,13 @@ COMMAND_HANDLER(mg_dump_cmd)
        }
 
        free(buffer);
-       fileio_close(&fileio);
+       fileio_close(fileio);
 
        return ERROR_OK;
 
 mg_dump_cmd_err:
        free(buffer);
-       fileio_close(&fileio);
+       fileio_close(fileio);
 
        return ret;
 }