jtag: set default "jtag_only" to uninitialized transports 93/4893/3
authorAntonio Borneo <borneo.antonio@gmail.com>
Tue, 22 Jan 2019 15:03:15 +0000 (16:03 +0100)
committerTomas Vanek <vanekt@fbl.cz>
Thu, 6 Jun 2019 15:45:31 +0000 (16:45 +0100)
For legacy support, drivers that do not define a list of
transports get identified as jtag_only.

Cleanup this old crust and initialize properly the transports
field in the jtag_interface for all the drivers.

Change-Id: I9c86064e5d05bd0212bc18f4424414e615e617fe
Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com>
Reviewed-on: http://openocd.zylin.com/4893
Tested-by: jenkins
Reviewed-by: Tomas Vanek <vanekt@fbl.cz>
16 files changed:
src/jtag/adapter.c
src/jtag/core.c
src/jtag/drivers/amt_jtagaccel.c
src/jtag/drivers/at91rm9200.c
src/jtag/drivers/ep93xx.c
src/jtag/drivers/gw16012.c
src/jtag/drivers/opendous.c
src/jtag/drivers/openjtag.c
src/jtag/drivers/parport.c
src/jtag/drivers/presto.c
src/jtag/drivers/remote_bitbang.c
src/jtag/drivers/rlink.c
src/jtag/drivers/usb_blaster/usb_blaster.c
src/jtag/drivers/usbprog.c
src/jtag/minidummy/minidummy.c
src/jtag/zy1000/zy1000.c

index b1be28e5fcc4d5d29c901a45d635f48b1df2babb..29a9613381a854dc79e63e8b36874d5ebe5a8deb 100644 (file)
@@ -126,16 +126,7 @@ COMMAND_HANDLER(handle_interface_command)
 
                jtag_interface = jtag_interfaces[i];
 
-               /* LEGACY SUPPORT ... adapter drivers  must declare what
-                * transports they allow.  Until they all do so, assume
-                * the legacy drivers are JTAG-only
-                */
-               if (!jtag_interface->transports)
-                       LOG_WARNING("Adapter driver '%s' did not declare "
-                               "which transports it allows; assuming "
-                               "legacy JTAG-only", jtag_interface->name);
-               return allow_transports(CMD_CTX, jtag_interface->transports
-                                               ? jtag_interface->transports : jtag_only);
+               return allow_transports(CMD_CTX, jtag_interface->transports);
        }
 
        /* no valid interface was found (i.e. the configuration option,
index 84e93967753bd5f94194f7b4fbb0521aff64bb02..18956f24dbe3658cb49c7648beee6edb42dc6f94 100644 (file)
@@ -1348,19 +1348,6 @@ int adapter_init(struct command_context *cmd_ctx)
                return retval;
        jtag = jtag_interface;
 
-       /* LEGACY SUPPORT ... adapter drivers  must declare what
-        * transports they allow.  Until they all do so, assume
-        * the legacy drivers are JTAG-only
-        */
-       if (!transports_are_declared()) {
-               LOG_ERROR("Adapter driver '%s' did not declare "
-                       "which transports it allows; assuming "
-                       "JTAG-only", jtag->name);
-               retval = allow_transports(cmd_ctx, jtag_only);
-               if (retval != ERROR_OK)
-                       return retval;
-       }
-
        if (jtag->speed == NULL) {
                LOG_INFO("This adapter doesn't support configurable speed");
                return ERROR_OK;
index d6864c21075964c0c9a2ebfd566883952866ca39..045672f0ed5790a41802c06a4b7808421d7fe9aa 100644 (file)
@@ -586,6 +586,7 @@ static const struct command_registration amtjtagaccel_command_handlers[] = {
 
 struct jtag_interface amt_jtagaccel_interface = {
        .name = "amt_jtagaccel",
+       .transports = jtag_only,
        .commands = amtjtagaccel_command_handlers,
 
        .init = amt_jtagaccel_init,
index 0360ec5deb453ceacd5eca25feafbb3ebc1c2c55..ac655635d4f39041d0738ff4a458ac84c4d07608 100644 (file)
@@ -192,6 +192,7 @@ static const struct command_registration at91rm9200_command_handlers[] = {
 struct jtag_interface at91rm9200_interface = {
        .name = "at91rm9200",
        .execute_queue = bitbang_execute_queue,
+       .transports = jtag_only,
        .commands = at91rm9200_command_handlers,
        .init = at91rm9200_init,
        .quit = at91rm9200_quit,
index 36fc7774717a8fd949bf494082b87c0ae484e5af..4cf318485c5ea10c55dcd3df0d8dad54651a6458 100644 (file)
@@ -55,6 +55,7 @@ struct jtag_interface ep93xx_interface = {
 
        .supported = DEBUG_CAP_TMS_SEQ,
        .execute_queue = bitbang_execute_queue,
+       .transports = jtag_only,
 
        .init = ep93xx_init,
        .quit = ep93xx_quit,
index 2971d4663ec0c70c20cfcfade0b0411f0bd37e40..e65f56cd13ef0e156bdaeef19e2ea66728b5b09d 100644 (file)
@@ -523,6 +523,7 @@ static const struct command_registration gw16012_command_handlers[] = {
 
 struct jtag_interface gw16012_interface = {
        .name = "gw16012",
+       .transports = jtag_only,
        .commands = gw16012_command_handlers,
 
        .init = gw16012_init,
index c0595bf9f477d632f9769bfe6ba3040c52591679..5f352af893204f24dfe1877809658579f558bacc 100644 (file)
@@ -236,6 +236,7 @@ static const struct command_registration opendous_command_handlers[] = {
 
 struct jtag_interface opendous_interface = {
        .name = "opendous",
+       .transports = jtag_only,
        .commands = opendous_command_handlers,
        .execute_queue = opendous_execute_queue,
        .init = opendous_init,
index 2ca8254b7a2f37a4a0b1ffc37a7c5832ecec9b1a..7a3aa233796c75ffeebd6c9cd3849cc12f7e56d2 100644 (file)
@@ -894,6 +894,7 @@ static const struct command_registration openjtag_command_handlers[] = {
 
 struct jtag_interface openjtag_interface = {
        .name = "openjtag",
+       .transports = jtag_only,
        .commands = openjtag_command_handlers,
 
        .execute_queue = openjtag_execute_queue,
index 0e7992fe9adbef324712a6eb4d22de0ca0bdafca..8e44dcb797761891301c6c2847ed1bee7c5564b7 100644 (file)
@@ -517,6 +517,7 @@ static const struct command_registration parport_command_handlers[] = {
 struct jtag_interface parport_interface = {
        .name = "parport",
        .supported = DEBUG_CAP_TMS_SEQ,
+       .transports = jtag_only,
        .commands = parport_command_handlers,
 
        .init = parport_init,
index 29bc811116d5f54fe3d59fac773e0e48cdd3feae..2a94d06186c3e6c73110510be6949cfb4fa040f3 100644 (file)
@@ -563,6 +563,7 @@ static int presto_jtag_quit(void)
 
 struct jtag_interface presto_interface = {
        .name = "presto",
+       .transports = jtag_only,
        .commands = presto_command_handlers,
 
        .execute_queue = bitq_execute_queue,
index 1f8fc1a11e68ccc2ccef2a33b9ac3e118be8b6dd..a35489487bdefcd2ae03aea8b66f84178f30148c 100644 (file)
@@ -345,6 +345,7 @@ static const struct command_registration remote_bitbang_command_handlers[] = {
 struct jtag_interface remote_bitbang_interface = {
        .name = "remote_bitbang",
        .execute_queue = &bitbang_execute_queue,
+       .transports = jtag_only,
        .commands = remote_bitbang_command_handlers,
        .init = &remote_bitbang_init,
        .quit = &remote_bitbang_quit,
index 70f8734b55248f4cc1c65a4ce66a649ce6f2eef3..317e8b808ffc6ed1d475d8924c2e0cd5ff4a6073 100644 (file)
@@ -1662,6 +1662,7 @@ static int rlink_quit(void)
 
 struct jtag_interface rlink_interface = {
        .name = "rlink",
+       .transports = jtag_only,
        .init = rlink_init,
        .quit = rlink_quit,
        .speed = rlink_speed,
index 55b511e1acc7c469b0cb814a2eefd30c05cb3cd5..165ebdcd35a75e93064542987fbb6b72ef9e569a 100644 (file)
@@ -1068,6 +1068,7 @@ static const struct command_registration ublast_command_handlers[] = {
 
 struct jtag_interface usb_blaster_interface = {
        .name = "usb_blaster",
+       .transports = jtag_only,
        .commands = ublast_command_handlers,
        .supported = DEBUG_CAP_TMS_SEQ,
 
index bcbaff8d8ede96479e877c216da6cfb063b97671..35a95202ea27051aa08191ba657aab202b957bfe 100644 (file)
@@ -598,6 +598,7 @@ static void usbprog_jtag_tms_send(struct usbprog_jtag *usbprog_jtag)
 
 struct jtag_interface usbprog_interface = {
        .name = "usbprog",
+       .transports = jtag_only,
 
        .execute_queue = usbprog_execute_queue,
        .init = usbprog_init,
index b7c989fc0d8ce1d5db972e3b5a1741e52ed2f2e0..2f260040d73819d507770604d0b85f20a01482e3 100644 (file)
@@ -28,6 +28,7 @@ struct jtag_interface minidummy_interface = {
        .name = "minidummy",
        .execute_queue = NULL,
        .speed = NULL,
+       .transports = jtag_only,
        .commands = NULL,
        .init = NULL,
        .quit = NULL,
index 4e53dd1f751af1666559437ce6d6ac0286406a3e..1734983982218c5fa82bc49af78ba54afb72d52e 100644 (file)
@@ -1242,6 +1242,7 @@ struct jtag_interface zy1000_interface = {
        .supported = DEBUG_CAP_TMS_SEQ,
        .execute_queue = NULL,
        .speed = zy1000_speed,
+       .transports = jtag_only,
        .commands = zy1000_commands,
        .init = zy1000_init,
        .quit = zy1000_quit,

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)