jtag: set default "jtag_only" to uninitialized transports
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,