From c41d9f61907464add62bf9d6647a1dcd6a77cc0e Mon Sep 17 00:00:00 2001 From: Antonio Borneo Date: Thu, 7 Oct 2021 22:35:12 +0200 Subject: [PATCH] jtag/presto: switch to command 'adapter serial' The driver presto defines the command 'presto serial' to specify the serial string of the adapter. Remove and deprecate the driver command, and use 'adapter serial'. Change-Id: I1a69acce7d4910082d2029d5941ae84f9424314c Signed-off-by: Antonio Borneo Reviewed-on: https://review.openocd.org/c/openocd/+/6653 Tested-by: jenkins --- doc/openocd.texi | 7 ++---- src/jtag/drivers/presto.c | 47 +++++---------------------------------- src/jtag/startup.tcl | 6 +++++ 3 files changed, 13 insertions(+), 47 deletions(-) diff --git a/doc/openocd.texi b/doc/openocd.texi index c36047f07a..1e2524c7ec 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 61de42630a..e938a3be3a 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 75b1bfbdf9..b8b866fbe7 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 -- 2.30.2