Clean up const usage to avoid excessive casting 68/1668/3
authorAndreas Fritiofson <andreas.fritiofson@gmail.com>
Mon, 30 Sep 2013 21:16:20 +0000 (23:16 +0200)
committerSpencer Oliver <spen@spen-soft.co.uk>
Thu, 31 Oct 2013 20:42:34 +0000 (20:42 +0000)
Don't use const on pointers that hold heap allocated data, because that
means functions that free them must cast away the const.

Do use const on pointer parameters or fields that needn't be modified.

Remove pointer casts that are no longer needed after fixing the constness.

Change-Id: I5d206f5019982fd1950bc6d6d07b6062dc24e886
Signed-off-by: Andreas Fritiofson <andreas.fritiofson@gmail.com>
Reviewed-on: http://openocd.zylin.com/1668
Tested-by: jenkins
Reviewed-by: Mathias K├╝ster <kesmtp@freenet.de>
Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
24 files changed:
src/helper/command.c
src/helper/command.h
src/helper/fileio.c
src/jtag/aice/aice_transport.c
src/jtag/core.c
src/jtag/drivers/ulink.c
src/jtag/hla/hla_tcl.c
src/jtag/jtag.h
src/jtag/tcl.c
src/rtos/ChibiOS.c
src/rtos/embKernel.c
src/rtos/linux.c
src/server/gdb_server.c
src/server/server.c
src/server/server.h
src/server/tcl_server.c
src/server/telnet_server.c
src/target/mips32_dmaacc.c
src/target/mips32_dmaacc.h
src/target/mips32_pracc.c
src/target/mips32_pracc.h
src/target/mips_m4k.c
src/target/target.c
src/target/target.h

index a179578..b374187 100644 (file)
@@ -146,17 +146,17 @@ void script_debug(Jim_Interp *interp, const char *name,
        free(dbg);
 }
 
-static void script_command_args_free(const char **words, unsigned nwords)
+static void script_command_args_free(char **words, unsigned nwords)
 {
        for (unsigned i = 0; i < nwords; i++)
-               free((void *)words[i]);
+               free(words[i]);
        free(words);
 }
 
-static const char **script_command_args_alloc(
+static char **script_command_args_alloc(
        unsigned argc, Jim_Obj * const *argv, unsigned *nwords)
 {
-       const char **words = malloc(argc * sizeof(char *));
+       char **words = malloc(argc * sizeof(char *));
        if (NULL == words)
                return NULL;
 
@@ -198,7 +198,7 @@ static int script_command_run(Jim_Interp *interp,
        LOG_USER_N("%s", "");   /* Keep GDB connection alive*/
 
        unsigned nwords;
-       const char **words = script_command_args_alloc(argc, argv, &nwords);
+       char **words = script_command_args_alloc(argc, argv, &nwords);
        if (NULL == words)
                return JIM_ERR;
 
@@ -299,12 +299,9 @@ static void command_free(struct command *c)
                command_free(tmp);
        }
 
-       if (c->name)
-               free((void *)c->name);
-       if (c->help)
-               free((void *)c->help);
-       if (c->usage)
-               free((void *)c->usage);
+       free(c->name);
+       free(c->help);
+       free(c->usage);
        free(c);
 }
 
@@ -362,7 +359,7 @@ static int register_command_handler(struct command_context *cmd_ctx,
        struct command *c)
 {
        Jim_Interp *interp = cmd_ctx->interp;
-       const char *ocd_name = alloc_printf("ocd_%s", c->name);
+       char *ocd_name = alloc_printf("ocd_%s", c->name);
        if (NULL == ocd_name)
                return JIM_ERR;
 
@@ -370,19 +367,19 @@ static int register_command_handler(struct command_context *cmd_ctx,
 
        Jim_CmdProc func = c->handler ? &script_command : &command_unknown;
        int retval = Jim_CreateCommand(interp, ocd_name, func, c, NULL);
-       free((void *)ocd_name);
+       free(ocd_name);
        if (JIM_OK != retval)
                return retval;
 
        /* we now need to add an overrideable proc */
-       const char *override_name = alloc_printf(
+       char *override_name = alloc_printf(
                        "proc %s {args} {eval ocd_bouncer %s $args}",
                        c->name, c->name);
        if (NULL == override_name)
                return JIM_ERR;
 
        retval = Jim_Eval_Named(interp, override_name, 0, 0);
-       free((void *)override_name);
+       free(override_name);
 
        return retval;
 }
@@ -1103,7 +1100,7 @@ int help_add_command(struct command_context *cmd_ctx, struct command *parent,
        if (help_text) {
                bool replaced = false;
                if (nc->help) {
-                       free((void *)nc->help);
+                       free(nc->help);
                        replaced = true;
                }
                nc->help = strdup(help_text);
@@ -1115,7 +1112,7 @@ int help_add_command(struct command_context *cmd_ctx, struct command *parent,
        if (usage) {
                bool replaced = false;
                if (nc->usage) {
-                       free((void *)nc->usage);
+                       free(nc->usage);
                        replaced = true;
                }
                nc->usage = strdup(usage);
index e969ad9..0f0edbb 100644 (file)
@@ -162,9 +162,9 @@ struct command_invocation {
 typedef __COMMAND_HANDLER((*command_handler_t));
 
 struct command {
-       const char *name;
-       const char *help;
-       const char *usage;
+       char *name;
+       char *help;
+       char *usage;
        struct command *parent;
        struct command *children;
        command_handler_t handler;
index 04cfaf5..c6f45e6 100644 (file)
@@ -33,7 +33,7 @@
 #include "fileio.h"
 
 struct fileio_internal {
-       const char *url;
+       char *url;
        ssize_t size;
        enum fileio_type type;
        enum fileio_access access;
@@ -141,7 +141,7 @@ int fileio_close(struct fileio *fileio_p)
 
        retval = fileio_close_local(fileio);
 
-       free((void *)fileio->url);
+       free(fileio->url);
        fileio->url = NULL;
 
        free(fileio);
index 0c208bf..f3012bb 100644 (file)
@@ -109,7 +109,7 @@ static int jim_aice_newtap_cmd(Jim_GetOptInfo *goi)
                e = Jim_GetOpt_Nvp(goi, opts, &n);
                if (e != JIM_OK) {
                        Jim_GetOpt_NvpUnknown(goi, opts, 0);
-                       free((void *)pTap->dotted_name);
+                       free(cp);
                        free(pTap);
                        return e;
                }
@@ -118,7 +118,7 @@ static int jim_aice_newtap_cmd(Jim_GetOptInfo *goi)
                        case NTAP_OPT_EXPECTED_ID:
                                e = jim_newtap_expected_id(n, goi, pTap);
                                if (JIM_OK != e) {
-                                       free((void *)pTap->dotted_name);
+                                       free(cp);
                                        free(pTap);
                                        return e;
                                }
index b61280c..0821735 100644 (file)
@@ -1326,11 +1326,11 @@ void jtag_tap_free(struct jtag_tap *tap)
        jtag_unregister_event_callback(&jtag_reset_callback, tap);
 
        /** @todo is anything missing? no memory leaks please */
-       free((void *)tap->expected);
-       free((void *)tap->expected_ids);
-       free((void *)tap->chip);
-       free((void *)tap->tapname);
-       free((void *)tap->dotted_name);
+       free(tap->expected);
+       free(tap->expected_ids);
+       free(tap->chip);
+       free(tap->tapname);
+       free(tap->dotted_name);
        free(tap);
 }
 
index 9a7d8c8..d93150d 100644 (file)
@@ -169,9 +169,9 @@ int ulink_usb_close(struct ulink **device);
 
 /* ULINK MCU (Cypress EZ-USB) specific functions */
 int ulink_cpu_reset(struct ulink *device, unsigned char reset_bit);
-int ulink_load_firmware_and_renumerate(struct ulink **device, char *filename,
+int ulink_load_firmware_and_renumerate(struct ulink **device, const char *filename,
                uint32_t delay);
-int ulink_load_firmware(struct ulink *device, char *filename);
+int ulink_load_firmware(struct ulink *device, const char *filename);
 int ulink_write_firmware_section(struct ulink *device,
                struct image *firmware_image, int section_index);
 
@@ -362,7 +362,7 @@ int ulink_cpu_reset(struct ulink *device, unsigned char reset_bit)
  * @return on failure: ERROR_FAIL
  */
 int ulink_load_firmware_and_renumerate(struct ulink **device,
-       char *filename, uint32_t delay)
+       const char *filename, uint32_t delay)
 {
        int ret;
 
@@ -397,7 +397,7 @@ int ulink_load_firmware_and_renumerate(struct ulink **device,
  * @return on success: ERROR_OK
  * @return on failure: ERROR_FAIL
  */
-int ulink_load_firmware(struct ulink *device, char *filename)
+int ulink_load_firmware(struct ulink *device, const char *filename)
 {
        struct image ulink_firmware_image;
        int ret, i;
@@ -2284,7 +2284,7 @@ COMMAND_HANDLER(ulink_download_firmware_handler)
        LOG_INFO("Downloading ULINK firmware image %s", CMD_ARGV[0]);
 
        /* Download firmware image in CMD_ARGV[0] */
-       ret = ulink_load_firmware_and_renumerate(&ulink_handle, (char *)CMD_ARGV[0],
+       ret = ulink_load_firmware_and_renumerate(&ulink_handle, CMD_ARGV[0],
                        ULINK_RENUMERATION_DELAY);
 
        return ret;
index 7bfa6a6..88cfc59 100644 (file)
@@ -107,7 +107,7 @@ static int jim_hl_newtap_cmd(Jim_GetOptInfo *goi)
                e = Jim_GetOpt_Nvp(goi, opts, &n);
                if (e != JIM_OK) {
                        Jim_GetOpt_NvpUnknown(goi, opts, 0);
-                       free((void *)pTap->dotted_name);
+                       free(cp);
                        free(pTap);
                        return e;
                }
@@ -116,7 +116,7 @@ static int jim_hl_newtap_cmd(Jim_GetOptInfo *goi)
                case NTAP_OPT_EXPECTED_ID:
                        e = jim_newtap_expected_id(n, goi, pTap);
                        if (JIM_OK != e) {
-                               free((void *)pTap->dotted_name);
+                               free(cp);
                                free(pTap);
                                return e;
                        }
index 062563d..0fe3a4a 100644 (file)
@@ -121,9 +121,9 @@ struct scan_field {
 };
 
 struct jtag_tap {
-       const char *chip;
-       const char *tapname;
-       const char *dotted_name;
+       char *chip;
+       char *tapname;
+       char *dotted_name;
        int abs_chain_position;
        /** Is this TAP disabled after JTAG reset? */
        bool disabled_after_reset;
index b95bf75..3f63ffc 100644 (file)
@@ -563,7 +563,7 @@ static int jim_newtap_cmd(Jim_GetOptInfo *goi)
                e = Jim_GetOpt_Nvp(goi, opts, &n);
                if (e != JIM_OK) {
                        Jim_GetOpt_NvpUnknown(goi, opts, 0);
-                       free((void *)pTap->dotted_name);
+                       free(cp);
                        free(pTap);
                        return e;
                }
@@ -578,7 +578,7 @@ static int jim_newtap_cmd(Jim_GetOptInfo *goi)
                    case NTAP_OPT_EXPECTED_ID:
                            e = jim_newtap_expected_id(n, goi, pTap);
                            if (JIM_OK != e) {
-                                   free((void *)pTap->dotted_name);
+                                   free(cp);
                                    free(pTap);
                                    return e;
                            }
@@ -588,7 +588,7 @@ static int jim_newtap_cmd(Jim_GetOptInfo *goi)
                    case NTAP_OPT_IRCAPTURE:
                            e = jim_newtap_ir_param(n, goi, pTap);
                            if (JIM_OK != e) {
-                                   free((void *)pTap->dotted_name);
+                                   free(cp);
                                    free(pTap);
                                    return e;
                            }
@@ -1133,14 +1133,14 @@ COMMAND_HANDLER(handle_irscan_command)
                }
                int field_size = tap->ir_length;
                fields[i].num_bits = field_size;
-               fields[i].out_value = malloc(DIV_ROUND_UP(field_size, 8));
+               uint8_t *v = malloc(DIV_ROUND_UP(field_size, 8));
 
                uint64_t value;
                retval = parse_u64(CMD_ARGV[i * 2 + 1], &value);
                if (ERROR_OK != retval)
                        goto error_return;
-               void *v = (void *)fields[i].out_value;
                buf_set_u64(v, 0, field_size, value);
+               fields[i].out_value = v;
                fields[i].in_value = NULL;
        }
 
index 47e7fc5..2148e91 100644 (file)
@@ -552,6 +552,6 @@ static int ChibiOS_create(struct target *target)
                return -1;
        }
 
-       target->rtos->rtos_specific_params = (void *) &ChibiOS_params_list[i];
+       target->rtos->rtos_specific_params = &ChibiOS_params_list[i];
        return 0;
 }
index 9a45cf0..f605deb 100644 (file)
@@ -131,7 +131,7 @@ static int embKernel_create(struct target *target)
                return -1;
        }
 
-       target->rtos->rtos_specific_params = (void *) &embKernel_params_list[i];
+       target->rtos->rtos_specific_params = &embKernel_params_list[i];
        return 0;
 }
 
index e692ada..2e97a42 100644 (file)
@@ -1524,7 +1524,7 @@ static int linux_os_create(struct target *target)
        os_linux->threads_needs_update = 0;
        os_linux->threadid_count = 1;
        os_linux->current_threads = NULL;
-       target->rtos->rtos_specific_params = (void *)os_linux;
+       target->rtos->rtos_specific_params = os_linux;
        ct->core_id = target->coreid;
        ct->threadid = -1;
        ct->TS = 0xdeadbeef;
index 660e05e..c49f87c 100644 (file)
@@ -104,8 +104,8 @@ static int gdb_breakpoint_override;
 static enum breakpoint_type gdb_breakpoint_override_type;
 
 static int gdb_error(struct connection *connection, int retval);
-static const char *gdb_port;
-static const char *gdb_port_next;
+static char *gdb_port;
+static char *gdb_port_next;
 
 static void gdb_log_callback(void *priv, const char *file, unsigned line,
                const char *function, const char *string);
@@ -2900,7 +2900,7 @@ static int gdb_target_add_one(struct target *target)
                portnumber = strtol(gdb_port_next, &end, 0);
                if (!*end) {
                        if (parse_long(gdb_port_next, &portnumber) == ERROR_OK) {
-                               free((void *)gdb_port_next);
+                               free(gdb_port_next);
                                gdb_port_next = alloc_printf("%d", portnumber+1);
                        }
                }
@@ -2947,7 +2947,7 @@ COMMAND_HANDLER(handle_gdb_port_command)
 {
        int retval = CALL_COMMAND_HANDLER(server_pipe_command, &gdb_port);
        if (ERROR_OK == retval) {
-               free((void *)gdb_port_next);
+               free(gdb_port_next);
                gdb_port_next = strdup(gdb_port);
        }
        return retval;
index 01e8441..5e1ae36 100644 (file)
@@ -303,14 +303,14 @@ static int remove_services(void)
                struct service *next = c->next;
 
                if (c->name)
-                       free((void *)c->name);
+                       free(c->name);
 
                if (c->type == CONNECTION_PIPE) {
                        if (c->fd != -1)
                                close(c->fd);
                }
                if (c->port)
-                       free((void *)c->port);
+                       free(c->port);
 
                if (c->priv)
                        free(c->priv);
@@ -612,7 +612,7 @@ int server_register_commands(struct command_context *cmd_ctx)
        return register_commands(cmd_ctx, NULL, server_command_handlers);
 }
 
-SERVER_PORT_COMMAND()
+COMMAND_HELPER(server_port_command, unsigned short *out)
 {
        switch (CMD_ARGC) {
                case 0:
@@ -631,7 +631,7 @@ SERVER_PORT_COMMAND()
        return ERROR_OK;
 }
 
-SERVER_PIPE_COMMAND()
+COMMAND_HELPER(server_pipe_command, char **out)
 {
        switch (CMD_ARGC) {
                case 0:
@@ -643,9 +643,8 @@ SERVER_PIPE_COMMAND()
                                LOG_WARNING("unable to change server port after init");
                                return ERROR_COMMAND_ARGUMENT_INVALID;
                        }
-                       const char *t = strdup(CMD_ARGV[0]);
-                       free((void *)*out);
-                       *out = t;
+                       free(*out);
+                       *out = strdup(CMD_ARGV[0]);
                        break;
                }
                default:
index e6a9195..b444939 100644 (file)
@@ -55,9 +55,9 @@ typedef int (*input_handler_t)(struct connection *connection);
 typedef int (*connection_closed_handler_t)(struct connection *connection);
 
 struct service {
-       const char *name;
+       char *name;
        enum connection_type type;
-       const char *port;
+       char *port;
        unsigned short portnumber;
        int fd;
        struct sockaddr_in sin;
@@ -101,14 +101,9 @@ void openocd_sleep_postlude(void);
  * Call server_port like a normal COMMAND_HANDLER with an extra @a out parameter
  * to receive the specified port number.
  */
-#define SERVER_PIPE_COMMAND() \
-       COMMAND_HELPER(server_pipe_command, const char **out)
-SERVER_PIPE_COMMAND();
+COMMAND_HELPER(server_pipe_command, char **out);
 
-#define SERVER_PORT_COMMAND() \
-       COMMAND_HELPER(server_port_command, unsigned short *out)
-
-SERVER_PORT_COMMAND();
+COMMAND_HELPER(server_port_command, unsigned short *out);
 
 #define ERROR_SERVER_REMOTE_CLOSED             (-400)
 #define ERROR_CONNECTION_REJECTED              (-401)
index f3a931e..91f9778 100644 (file)
@@ -34,7 +34,7 @@ struct tcl_connection {
        int tc_outerror;/* flag an output error */
 };
 
-static const char *tcl_port;
+static char *tcl_port;
 
 /* handlers */
 static int tcl_new_connection(struct connection *connection);
index f951785..92d8c5e 100644 (file)
@@ -32,7 +32,7 @@
 #include <target/target_request.h>
 #include <helper/configuration.h>
 
-static const char *telnet_port;
+static char *telnet_port;
 
 static char *negotiate =
        "\xFF\xFB\x03"                  /* IAC WILL Suppress Go Ahead */
index eb6cd8c..c2fea21 100644 (file)
@@ -38,11 +38,11 @@ static int mips32_dmaacc_read_mem32(struct mips_ejtag *ejtag_info,
                uint32_t addr, int count, uint32_t *buf);
 
 static int mips32_dmaacc_write_mem8(struct mips_ejtag *ejtag_info,
-               uint32_t addr, int count, uint8_t *buf);
+               uint32_t addr, int count, const uint8_t *buf);
 static int mips32_dmaacc_write_mem16(struct mips_ejtag *ejtag_info,
-               uint32_t addr, int count, uint16_t *buf);
+               uint32_t addr, int count, const uint16_t *buf);
 static int mips32_dmaacc_write_mem32(struct mips_ejtag *ejtag_info,
-               uint32_t addr, int count, uint32_t *buf);
+               uint32_t addr, int count, const uint32_t *buf);
 
 /*
  * The following logic shamelessly cloned from HairyDairyMaid's wrt54g_debrick
@@ -407,21 +407,21 @@ static int mips32_dmaacc_read_mem8(struct mips_ejtag *ejtag_info, uint32_t addr,
        return ERROR_OK;
 }
 
-int mips32_dmaacc_write_mem(struct mips_ejtag *ejtag_info, uint32_t addr, int size, int count, void *buf)
+int mips32_dmaacc_write_mem(struct mips_ejtag *ejtag_info, uint32_t addr, int size, int count, const void *buf)
 {
        switch (size) {
                case 1:
-                       return mips32_dmaacc_write_mem8(ejtag_info, addr, count, (uint8_t *)buf);
+                       return mips32_dmaacc_write_mem8(ejtag_info, addr, count, buf);
                case 2:
-                       return mips32_dmaacc_write_mem16(ejtag_info, addr, count, (uint16_t *)buf);
+                       return mips32_dmaacc_write_mem16(ejtag_info, addr, count, buf);
                case 4:
-                       return mips32_dmaacc_write_mem32(ejtag_info, addr, count, (uint32_t *)buf);
+                       return mips32_dmaacc_write_mem32(ejtag_info, addr, count, buf);
        }
 
        return ERROR_OK;
 }
 
-static int mips32_dmaacc_write_mem32(struct mips_ejtag *ejtag_info, uint32_t addr, int count, uint32_t *buf)
+static int mips32_dmaacc_write_mem32(struct mips_ejtag *ejtag_info, uint32_t addr, int count, const uint32_t *buf)
 {
        int i;
        int retval;
@@ -435,7 +435,7 @@ static int mips32_dmaacc_write_mem32(struct mips_ejtag *ejtag_info, uint32_t add
        return ERROR_OK;
 }
 
-static int mips32_dmaacc_write_mem16(struct mips_ejtag *ejtag_info, uint32_t addr, int count, uint16_t *buf)
+static int mips32_dmaacc_write_mem16(struct mips_ejtag *ejtag_info, uint32_t addr, int count, const uint16_t *buf)
 {
        int i;
        int retval;
@@ -449,7 +449,7 @@ static int mips32_dmaacc_write_mem16(struct mips_ejtag *ejtag_info, uint32_t add
        return ERROR_OK;
 }
 
-static int mips32_dmaacc_write_mem8(struct mips_ejtag *ejtag_info, uint32_t addr, int count, uint8_t *buf)
+static int mips32_dmaacc_write_mem8(struct mips_ejtag *ejtag_info, uint32_t addr, int count, const uint8_t *buf)
 {
        int i;
        int retval;
index 15dd677..45d5b36 100644 (file)
@@ -38,6 +38,6 @@
 int mips32_dmaacc_read_mem(struct mips_ejtag *ejtag_info,
                uint32_t addr, int size, int count, void *buf);
 int mips32_dmaacc_write_mem(struct mips_ejtag *ejtag_info,
-               uint32_t addr, int size, int count, void *buf);
+               uint32_t addr, int size, int count, const void *buf);
 
 #endif
index 6a66aa9..da9a2b7 100644 (file)
@@ -730,16 +730,17 @@ static int mips32_pracc_clean_invalidate_cache(struct mips_ejtag *ejtag_info,
        return retval;
 }
 
-static int mips32_pracc_write_mem_generic(struct mips_ejtag *ejtag_info, uint32_t addr, int size, int count, void *buf)
+static int mips32_pracc_write_mem_generic(struct mips_ejtag *ejtag_info,
+               uint32_t addr, int size, int count, const void *buf)
 {
        struct pracc_queue_info ctx = {.max_code = 128 * 3 + 6 + 1};    /* alloc memory for the worst case */
        pracc_queue_init(&ctx);
        if (ctx.retval != ERROR_OK)
                goto exit;
 
-       uint32_t *buf32 = buf;
-       uint16_t *buf16 = buf;
-       uint8_t *buf8 = buf;
+       const uint32_t *buf32 = buf;
+       const uint16_t *buf16 = buf;
+       const uint8_t *buf8 = buf;
 
        while (count) {
                ctx.code_count = 0;
@@ -798,7 +799,7 @@ exit:
        return ctx.retval;
 }
 
-int mips32_pracc_write_mem(struct mips_ejtag *ejtag_info, uint32_t addr, int size, int count, void *buf)
+int mips32_pracc_write_mem(struct mips_ejtag *ejtag_info, uint32_t addr, int size, int count, const void *buf)
 {
        int retval = mips32_pracc_write_mem_generic(ejtag_info, addr, size, count, buf);
        if (retval != ERROR_OK)
index 4b49855..4dc0bbe 100644 (file)
@@ -67,7 +67,7 @@ int mips32_pracc_queue_exec(struct mips_ejtag *ejtag_info,
 int mips32_pracc_read_mem(struct mips_ejtag *ejtag_info,
                uint32_t addr, int size, int count, void *buf);
 int mips32_pracc_write_mem(struct mips_ejtag *ejtag_info,
-               uint32_t addr, int size, int count, void *buf);
+               uint32_t addr, int size, int count, const void *buf);
 int mips32_pracc_fastdata_xfer(struct mips_ejtag *ejtag_info, struct working_area *source,
                int write_t, uint32_t addr, int count, uint32_t *buf);
 
index 23b1767..c2922ce 100644 (file)
@@ -1048,9 +1048,9 @@ static int mips_m4k_write_memory(struct target *target, uint32_t address,
        /* if noDMA off, use DMAACC mode for memory write */
        int retval;
        if (ejtag_info->impcode & EJTAG_IMP_NODMA)
-               retval = mips32_pracc_write_mem(ejtag_info, address, size, count, (void *)buffer);
+               retval = mips32_pracc_write_mem(ejtag_info, address, size, count, buffer);
        else
-               retval = mips32_dmaacc_write_mem(ejtag_info, address, size, count, (void *)buffer);
+               retval = mips32_dmaacc_write_mem(ejtag_info, address, size, count, buffer);
 
        if (t != NULL)
                free(t);
index d78f3b1..8ca1cf3 100644 (file)
@@ -377,7 +377,7 @@ void target_buffer_get_u16_array(struct target *target, const uint8_t *buffer, u
 }
 
 /* write a uint32_t array to a buffer in target memory endianness */
-void target_buffer_set_u32_array(struct target *target, uint8_t *buffer, uint32_t count, uint32_t *srcbuf)
+void target_buffer_set_u32_array(struct target *target, uint8_t *buffer, uint32_t count, const uint32_t *srcbuf)
 {
        uint32_t i;
        for (i = 0; i < count; i++)
@@ -385,7 +385,7 @@ void target_buffer_set_u32_array(struct target *target, uint8_t *buffer, uint32_
 }
 
 /* write a uint16_t array to a buffer in target memory endianness */
-void target_buffer_set_u16_array(struct target *target, uint8_t *buffer, uint32_t count, uint16_t *srcbuf)
+void target_buffer_set_u16_array(struct target *target, uint8_t *buffer, uint32_t count, const uint16_t *srcbuf)
 {
        uint32_t i;
        for (i = 0; i < count; i++)
@@ -4260,11 +4260,10 @@ no_params:
                                                                                   n->name);
                                        return JIM_ERR;
                                }
-                               if (target->variant)
-                                       free((void *)(target->variant));
                                e = Jim_GetOpt_String(goi, &cp, NULL);
                                if (e != JIM_OK)
                                        return e;
+                               free(target->variant);
                                target->variant = strdup(cp);
                        } else {
                                if (goi->argc != 0)
index 44f382a..124dc9b 100644 (file)
@@ -129,7 +129,7 @@ struct target {
        int target_number;                                      /* DO NOT USE!  field to be removed in 2010 */
        struct jtag_tap *tap;                           /* where on the jtag chain is this */
        int32_t coreid;                                         /* which device on the TAP? */
-       const char *variant;                            /* what variant of this chip is it? */
+       char *variant;                                          /* what variant of this chip is it? */
 
        /**
         * Indicates whether this target has been examined.
@@ -602,8 +602,8 @@ void target_buffer_set_u16(struct target *target, uint8_t *buffer, uint16_t valu
 
 void target_buffer_get_u32_array(struct target *target, const uint8_t *buffer, uint32_t count, uint32_t *dstbuf);
 void target_buffer_get_u16_array(struct target *target, const uint8_t *buffer, uint32_t count, uint16_t *dstbuf);
-void target_buffer_set_u32_array(struct target *target, uint8_t *buffer, uint32_t count, uint32_t *srcbuf);
-void target_buffer_set_u16_array(struct target *target, uint8_t *buffer, uint32_t count, uint16_t *srcbuf);
+void target_buffer_set_u32_array(struct target *target, uint8_t *buffer, uint32_t count, const uint32_t *srcbuf);
+void target_buffer_set_u16_array(struct target *target, uint8_t *buffer, uint32_t count, const uint16_t *srcbuf);
 
 int target_read_u32(struct target *target, uint32_t address, uint32_t *value);
 int target_read_u16(struct target *target, uint32_t address, uint16_t *value);