X-Git-Url: https://review.openocd.org/gitweb?p=openocd.git;a=blobdiff_plain;f=src%2Fjtag%2Fdummy.c;h=c2beb0920cf73dea443eaefc2562b4023657bd9d;hp=ce3cca355d20bd6dd6e82374a24e0a4ba1bdcfb4;hb=a93b404161dc42f8dee805c8f95bc4974aded9cb;hpb=9f535f9af7c6b7e8843033049a6da0f6d76d513b diff --git a/src/jtag/dummy.c b/src/jtag/dummy.c index ce3cca355d..c2beb0920c 100644 --- a/src/jtag/dummy.c +++ b/src/jtag/dummy.c @@ -23,6 +23,7 @@ #include "interface.h" #include "bitbang.h" +#include "../hello.h" /* my private tap controller state, which tracks state for calling code */ @@ -35,45 +36,6 @@ static int clock_count; /* count clocks in any stable state, only stable static uint32_t dummy_data; -static int dummy_speed(int speed); -static int dummy_register_commands(struct command_context_s *cmd_ctx); -static int dummy_init(void); -static int dummy_quit(void); -static int dummy_khz(int khz, int *jtag_speed); -static int dummy_speed_div(int speed, int *khz); - - -/* The dummy driver is used to easily check the code path - * where the target is unresponsive. - */ -struct jtag_interface dummy_interface = -{ - .name = "dummy", - - .execute_queue = bitbang_execute_queue, - - .speed = dummy_speed, - .register_commands = dummy_register_commands, - .khz = dummy_khz, - .speed_div = dummy_speed_div, - - .init = dummy_init, - .quit = dummy_quit, -}; - -static int dummy_read(void); -static void dummy_write(int tck, int tms, int tdi); -static void dummy_reset(int trst, int srst); -static void dummy_led(int on); - -static struct bitbang_interface dummy_bitbang = -{ - .read = dummy_read, - .write = dummy_write, - .reset = dummy_reset, - .blink = dummy_led -}; - static int dummy_read(void) { int data = 1 & dummy_data; @@ -129,6 +91,18 @@ static void dummy_reset(int trst, int srst) LOG_DEBUG("reset to: %s", tap_state_name(dummy_state)); } +static void dummy_led(int on) +{ +} + +static struct bitbang_interface dummy_bitbang = { + .read = &dummy_read, + .write = &dummy_write, + .reset = &dummy_reset, + .blink = &dummy_led, + }; + + static int dummy_khz(int khz, int *jtag_speed) { if (khz == 0) @@ -161,11 +135,6 @@ static int dummy_speed(int speed) return ERROR_OK; } -static int dummy_register_commands(struct command_context_s *cmd_ctx) -{ - return ERROR_OK; -} - static int dummy_init(void) { bitbang_interface = &dummy_bitbang; @@ -178,7 +147,31 @@ static int dummy_quit(void) return ERROR_OK; } -static void dummy_led(int on) -{ -} +static const struct command_registration dummy_command_handlers[] = { + { + .name = "dummy", + .mode = COMMAND_ANY, + .help = "dummy interface driver commands", + + .chain = hello_command_handlers, + }, + COMMAND_REGISTRATION_DONE, +}; + +/* The dummy driver is used to easily check the code path + * where the target is unresponsive. + */ +struct jtag_interface dummy_interface = { + .name = "dummy", + + .commands = dummy_command_handlers, + + .execute_queue = &bitbang_execute_queue, + + .speed = &dummy_speed, + .khz = &dummy_khz, + .speed_div = &dummy_speed_div, + .init = &dummy_init, + .quit = &dummy_quit, + };