From 159f11fefc194743a0af6e29e134b184bf26650d Mon Sep 17 00:00:00 2001 From: Antonio Borneo Date: Tue, 22 Jan 2019 16:03:15 +0100 Subject: [PATCH] jtag: set default "jtag_only" to uninitialized transports 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 Reviewed-on: http://openocd.zylin.com/4893 Tested-by: jenkins Reviewed-by: Tomas Vanek --- src/jtag/adapter.c | 11 +---------- src/jtag/core.c | 13 ------------- src/jtag/drivers/amt_jtagaccel.c | 1 + src/jtag/drivers/at91rm9200.c | 1 + src/jtag/drivers/ep93xx.c | 1 + src/jtag/drivers/gw16012.c | 1 + src/jtag/drivers/opendous.c | 1 + src/jtag/drivers/openjtag.c | 1 + src/jtag/drivers/parport.c | 1 + src/jtag/drivers/presto.c | 1 + src/jtag/drivers/remote_bitbang.c | 1 + src/jtag/drivers/rlink.c | 1 + src/jtag/drivers/usb_blaster/usb_blaster.c | 1 + src/jtag/drivers/usbprog.c | 1 + src/jtag/minidummy/minidummy.c | 1 + src/jtag/zy1000/zy1000.c | 1 + 16 files changed, 15 insertions(+), 23 deletions(-) diff --git a/src/jtag/adapter.c b/src/jtag/adapter.c index b1be28e5fc..29a9613381 100644 --- a/src/jtag/adapter.c +++ b/src/jtag/adapter.c @@ -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, diff --git a/src/jtag/core.c b/src/jtag/core.c index 84e9396775..18956f24db 100644 --- a/src/jtag/core.c +++ b/src/jtag/core.c @@ -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; diff --git a/src/jtag/drivers/amt_jtagaccel.c b/src/jtag/drivers/amt_jtagaccel.c index d6864c2107..045672f0ed 100644 --- a/src/jtag/drivers/amt_jtagaccel.c +++ b/src/jtag/drivers/amt_jtagaccel.c @@ -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, diff --git a/src/jtag/drivers/at91rm9200.c b/src/jtag/drivers/at91rm9200.c index 0360ec5deb..ac655635d4 100644 --- a/src/jtag/drivers/at91rm9200.c +++ b/src/jtag/drivers/at91rm9200.c @@ -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, diff --git a/src/jtag/drivers/ep93xx.c b/src/jtag/drivers/ep93xx.c index 36fc777471..4cf318485c 100644 --- a/src/jtag/drivers/ep93xx.c +++ b/src/jtag/drivers/ep93xx.c @@ -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, diff --git a/src/jtag/drivers/gw16012.c b/src/jtag/drivers/gw16012.c index 2971d4663e..e65f56cd13 100644 --- a/src/jtag/drivers/gw16012.c +++ b/src/jtag/drivers/gw16012.c @@ -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, diff --git a/src/jtag/drivers/opendous.c b/src/jtag/drivers/opendous.c index c0595bf9f4..5f352af893 100644 --- a/src/jtag/drivers/opendous.c +++ b/src/jtag/drivers/opendous.c @@ -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, diff --git a/src/jtag/drivers/openjtag.c b/src/jtag/drivers/openjtag.c index 2ca8254b7a..7a3aa23379 100644 --- a/src/jtag/drivers/openjtag.c +++ b/src/jtag/drivers/openjtag.c @@ -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, diff --git a/src/jtag/drivers/parport.c b/src/jtag/drivers/parport.c index 0e7992fe9a..8e44dcb797 100644 --- a/src/jtag/drivers/parport.c +++ b/src/jtag/drivers/parport.c @@ -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, diff --git a/src/jtag/drivers/presto.c b/src/jtag/drivers/presto.c index 29bc811116..2a94d06186 100644 --- a/src/jtag/drivers/presto.c +++ b/src/jtag/drivers/presto.c @@ -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, diff --git a/src/jtag/drivers/remote_bitbang.c b/src/jtag/drivers/remote_bitbang.c index 1f8fc1a11e..a35489487b 100644 --- a/src/jtag/drivers/remote_bitbang.c +++ b/src/jtag/drivers/remote_bitbang.c @@ -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, diff --git a/src/jtag/drivers/rlink.c b/src/jtag/drivers/rlink.c index 70f8734b55..317e8b808f 100644 --- a/src/jtag/drivers/rlink.c +++ b/src/jtag/drivers/rlink.c @@ -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, diff --git a/src/jtag/drivers/usb_blaster/usb_blaster.c b/src/jtag/drivers/usb_blaster/usb_blaster.c index 55b511e1ac..165ebdcd35 100644 --- a/src/jtag/drivers/usb_blaster/usb_blaster.c +++ b/src/jtag/drivers/usb_blaster/usb_blaster.c @@ -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, diff --git a/src/jtag/drivers/usbprog.c b/src/jtag/drivers/usbprog.c index bcbaff8d8e..35a95202ea 100644 --- a/src/jtag/drivers/usbprog.c +++ b/src/jtag/drivers/usbprog.c @@ -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, diff --git a/src/jtag/minidummy/minidummy.c b/src/jtag/minidummy/minidummy.c index b7c989fc0d..2f260040d7 100644 --- a/src/jtag/minidummy/minidummy.c +++ b/src/jtag/minidummy/minidummy.c @@ -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, diff --git a/src/jtag/zy1000/zy1000.c b/src/jtag/zy1000/zy1000.c index 4e53dd1f75..1734983982 100644 --- a/src/jtag/zy1000/zy1000.c +++ b/src/jtag/zy1000/zy1000.c @@ -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, -- 2.30.2