jtag/presto: switch to command 'adapter serial' 53/6653/3
authorAntonio Borneo <borneo.antonio@gmail.com>
Thu, 7 Oct 2021 20:35:12 +0000 (22:35 +0200)
committerAntonio Borneo <borneo.antonio@gmail.com>
Sun, 28 Nov 2021 10:58:48 +0000 (10:58 +0000)
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 <borneo.antonio@gmail.com>
Reviewed-on: https://review.openocd.org/c/openocd/+/6653
Tested-by: jenkins
doc/openocd.texi
src/jtag/drivers/presto.c
src/jtag/startup.tcl

index c36047f07a2d2234024af78b087ecd4d611332e5..1e2524c7ec9520b163df3706ae0488c19105ae39 100644 (file)
@@ -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:
 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:
 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
 @end deffn
 
 @section Interface Drivers
@@ -3010,9 +3010,6 @@ parport cable wiggler
 
 @deffn {Interface Driver} {presto}
 ASIX PRESTO USB JTAG programmer.
 
 @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}
 @end deffn
 
 @deffn {Interface Driver} {rlink}
index 61de42630aee344bdbdd6edcd3f6fc84ac43a847..e938a3be3a01d86fec59abeb00e1c7dae2e2d201 100644 (file)
@@ -29,6 +29,7 @@
 #include "windows.h"
 #endif
 
 #include "windows.h"
 #endif
 
+#include <jtag/adapter.h>
 #include <jtag/interface.h>
 #include <helper/time_support.h>
 #include "bitq.h"
 #include <jtag/interface.h>
 #include <helper/time_support.h>
 #include "bitq.h"
@@ -132,7 +133,7 @@ static int presto_read(uint8_t *buf, uint32_t size)
        return ERROR_OK;
 }
 
        return ERROR_OK;
 }
 
-static int presto_open_libftdi(char *req_serial)
+static int presto_open_libftdi(const char *req_serial)
 {
        uint8_t presto_data;
 
 {
        uint8_t presto_data;
 
@@ -195,7 +196,7 @@ static int presto_open_libftdi(char *req_serial)
        return ERROR_OK;
 }
 
        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;
 {
        presto->buff_out_pos = 0;
        presto->buff_in_pos = 0;
@@ -506,43 +507,10 @@ static int presto_jtag_speed(int speed)
        return 0;
 }
 
        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)
 {
 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)
        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");
        bitq_cleanup();
        presto_close();
        LOG_INFO("PRESTO closed");
-
-       free(presto_serial);
-       presto_serial = NULL;
-
        return ERROR_OK;
 }
 
        return ERROR_OK;
 }
 
@@ -576,7 +540,6 @@ static struct jtag_interface presto_interface = {
 struct adapter_driver presto_adapter_driver = {
        .name = "presto",
        .transports = jtag_only,
 struct adapter_driver presto_adapter_driver = {
        .name = "presto",
        .transports = jtag_only,
-       .commands = presto_command_handlers,
 
        .init = presto_jtag_init,
        .quit = presto_jtag_quit,
 
        .init = presto_jtag_init,
        .quit = presto_jtag_quit,
index 75b1bfbdf91e26da06b585cd8c21544ef6bec736..b8b866fbe7856a4e135c6f9e94a9ec044b0be7e2 100644 (file)
@@ -765,4 +765,10 @@ proc kitprog_serial args {
        eval adapter 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
 # END MIGRATION AIDS

Linking to existing account procedure

If you already have an account and want to add another login method you MUST first sign in with your existing account and then change URL to read https://review.openocd.org/login/?link to get to this page again but this time it'll work for linking. Thank you.

SSH host keys fingerprints

1024 SHA256:YKx8b7u5ZWdcbp7/4AeXNaqElP49m6QrwfXaqQGJAOk gerrit-code-review@openocd.zylin.com (DSA)
384 SHA256:jHIbSQa4REvwCFG4cq5LBlBLxmxSqelQPem/EXIrxjk gerrit-code-review@openocd.org (ECDSA)
521 SHA256:UAOPYkU9Fjtcao0Ul/Rrlnj/OsQvt+pgdYSZ4jOYdgs gerrit-code-review@openocd.org (ECDSA)
256 SHA256:A13M5QlnozFOvTllybRZH6vm7iSt0XLxbA48yfc2yfY gerrit-code-review@openocd.org (ECDSA)
256 SHA256:spYMBqEYoAOtK7yZBrcwE8ZpYt6b68Cfh9yEVetvbXg gerrit-code-review@openocd.org (ED25519)
+--[ED25519 256]--+
|=..              |
|+o..   .         |
|*.o   . .        |
|+B . . .         |
|Bo. = o S        |
|Oo.+ + =         |
|oB=.* = . o      |
| =+=.+   + E     |
|. .=o   . o      |
+----[SHA256]-----+
2048 SHA256:0Onrb7/PHjpo6iVZ7xQX2riKN83FJ3KGU0TvI0TaFG4 gerrit-code-review@openocd.zylin.com (RSA)