diff --git a/doc/openocd.texi b/doc/openocd.texi index c36047f07..1e2524c7e 100644 --- a/doc/openocd.texi +++ b/doc/openocd.texi @@ -2371,9 +2371,9 @@ This command is only available if your libusb1 is at least version 1.0.16. Specifies the @var{serial_string} of the adapter to use. If this command is not specified, serial strings are not checked. Only the following adapter drivers use the serial string from this command: -cmsis_dap, ft232r, ftdi, kitprog. +cmsis_dap, ft232r, ftdi, kitprog, presto. The following adapters have their own command to specify the serial string: -hla, jlink, presto, st-link, vsllink, xds110. +hla, jlink, st-link, vsllink, xds110. @end deffn @section Interface Drivers @@ -3010,9 +3010,6 @@ parport cable wiggler @deffn {Interface Driver} {presto} ASIX PRESTO USB JTAG programmer. -@deffn {Config Command} {presto serial} serial_string -Configures the USB serial number of the Presto device to use. -@end deffn @end deffn @deffn {Interface Driver} {rlink} diff --git a/src/jtag/drivers/presto.c b/src/jtag/drivers/presto.c index 61de42630..e938a3be3 100644 --- a/src/jtag/drivers/presto.c +++ b/src/jtag/drivers/presto.c @@ -29,6 +29,7 @@ #include "windows.h" #endif +#include #include #include #include "bitq.h" @@ -132,7 +133,7 @@ static int presto_read(uint8_t *buf, uint32_t size) return ERROR_OK; } -static int presto_open_libftdi(char *req_serial) +static int presto_open_libftdi(const char *req_serial) { uint8_t presto_data; @@ -195,7 +196,7 @@ static int presto_open_libftdi(char *req_serial) return ERROR_OK; } -static int presto_open(char *req_serial) +static int presto_open(const char *req_serial) { presto->buff_out_pos = 0; presto->buff_in_pos = 0; @@ -506,43 +507,10 @@ static int presto_jtag_speed(int speed) return 0; } -static char *presto_serial; - -COMMAND_HANDLER(presto_handle_serial_command) -{ - if (CMD_ARGC == 1) { - free(presto_serial); - presto_serial = strdup(CMD_ARGV[0]); - } else - return ERROR_COMMAND_SYNTAX_ERROR; - - return ERROR_OK; -} - -static const struct command_registration presto_subcommand_handlers[] = { - { - .name = "serial", - .handler = presto_handle_serial_command, - .mode = COMMAND_CONFIG, - .help = "Configure USB serial number of Presto device.", - .usage = "serial_string", - }, - COMMAND_REGISTRATION_DONE -}; - -static const struct command_registration presto_command_handlers[] = { - { - .name = "presto", - .mode = COMMAND_ANY, - .help = "perform presto management", - .chain = presto_subcommand_handlers, - .usage = "", - }, - COMMAND_REGISTRATION_DONE -}; - static int presto_jtag_init(void) { + const char *presto_serial = adapter_get_required_serial(); + if (presto_open(presto_serial) != ERROR_OK) { presto_close(); if (presto_serial) @@ -562,10 +530,6 @@ static int presto_jtag_quit(void) bitq_cleanup(); presto_close(); LOG_INFO("PRESTO closed"); - - free(presto_serial); - presto_serial = NULL; - return ERROR_OK; } @@ -576,7 +540,6 @@ static struct jtag_interface presto_interface = { struct adapter_driver presto_adapter_driver = { .name = "presto", .transports = jtag_only, - .commands = presto_command_handlers, .init = presto_jtag_init, .quit = presto_jtag_quit, diff --git a/src/jtag/startup.tcl b/src/jtag/startup.tcl index 75b1bfbdf..b8b866fbe 100644 --- a/src/jtag/startup.tcl +++ b/src/jtag/startup.tcl @@ -765,4 +765,10 @@ proc kitprog_serial args { eval adapter serial $args } +lappend _telnet_autocomplete_skip "presto serial" +proc "presto serial" {args} { + echo "DEPRECATED! use 'adapter serial' not 'presto serial'" + eval adapter serial $args +} + # END MIGRATION AIDS