From f4788652e45662d1e43933dc0620561bc4cddae0 Mon Sep 17 00:00:00 2001 From: David Brownell Date: Tue, 17 Nov 2009 09:06:45 -0800 Subject: target: simplify register get/set ops No need to indirect from registered integers to pointers. Just stash the pointers directly in the register struct, and don't even bother registering. This is a small code shrink, speeds register access just a smidgeon, and gets rid of another rude exit() path. Signed-off-by: David Brownell --- src/target/target.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) (limited to 'src/target/target.c') diff --git a/src/target/target.c b/src/target/target.c index c00c2ed9..0b2438c3 100644 --- a/src/target/target.c +++ b/src/target/target.c @@ -1955,8 +1955,7 @@ COMMAND_HANDLER(handle_reg_command) if (reg->valid == 0) { - struct reg_arch_type *arch_type = register_get_arch_type(reg->arch_type); - arch_type->get(reg); + reg->type->get(reg); } value = buf_to_str(reg->value, reg->size, 16); command_print(cmd_ctx, "%s (/%i): 0x%s", reg->name, (int)(reg->size), value); @@ -1970,8 +1969,7 @@ COMMAND_HANDLER(handle_reg_command) uint8_t *buf = malloc(DIV_ROUND_UP(reg->size, 8)); str_to_buf(args[1], strlen(args[1]), buf, reg->size, 0); - struct reg_arch_type *arch_type = register_get_arch_type(reg->arch_type); - arch_type->set(reg, buf); + reg->type->set(reg, buf); value = buf_to_str(reg->value, reg->size, 16); command_print(cmd_ctx, "%s (/%i): 0x%s", reg->name, (int)(reg->size), value); -- cgit v1.2.3