This is an automated email from Gerrit.

Evan Hunter ([email protected]) just uploaded a new patch set to Gerrit, 
which you can find at http://openocd.zylin.com/943

-- gerrit

commit 3e6a148a1123b8fc094b0f31732a8a7b7379efdf
Author: Evan Hunter <[email protected]>
Date:   Tue Oct 30 22:08:21 2012 +1100

    adapter/interface: Cleanup of jtag_interface structure
    
    Rename struct jtag_interface => adapter_driver (as it represents a driver 
and no longer is jtag-only)
    
    Convert all uses of the structure to be const as the driver should never be 
changing at runtime.
    
    Change-Id: If3bdea81eaac81fcc9ed32d27985012e91413b40
    Signed-off-by: Evan Hunter <[email protected]>

diff --git a/src/jtag/adapter.c b/src/jtag/adapter.c
index ec65827..702ae68 100644
--- a/src/jtag/adapter.c
+++ b/src/jtag/adapter.c
@@ -47,7 +47,7 @@
  * Holds support for configuring debug adapters from TCl scripts.
  */
 
-extern struct jtag_interface *jtag_interface;
+extern const struct adapter_driver *current_adapter_driver;
 const char *jtag_only[] = { "jtag", NULL };
 
 static int jim_adapter_name(Jim_Interp *interp, int argc, Jim_Obj * const 
*argv)
@@ -62,35 +62,11 @@ static int jim_adapter_name(Jim_Interp *interp, int argc, 
Jim_Obj * const *argv)
                Jim_WrongNumArgs(goi.interp, 1, goi.argv-1, "(no params)");
                return JIM_ERR;
        }
-       const char *name = jtag_interface ? jtag_interface->name : NULL;
+       const char *name = current_adapter_driver ? 
current_adapter_driver->name : NULL;
        Jim_SetResultString(goi.interp, name ? : "undefined", -1);
        return JIM_OK;
 }
 
-static int default_khz(int khz, int *jtag_speed)
-{
-       LOG_ERROR("Translation from khz to jtag_speed not implemented");
-       return ERROR_FAIL;
-}
-
-static int default_speed_div(int speed, int *khz)
-{
-       LOG_ERROR("Translation from jtag_speed to khz not implemented");
-       return ERROR_FAIL;
-}
-
-static int default_power_dropout(int *dropout)
-{
-       *dropout = 0; /* by default we can't detect power dropout */
-       return ERROR_OK;
-}
-
-static int default_srst_asserted(int *srst_asserted)
-{
-       *srst_asserted = 0; /* by default we can't detect srst asserted */
-       return ERROR_OK;
-}
-
 COMMAND_HANDLER(interface_transport_command)
 {
        char **transports;
@@ -116,8 +92,8 @@ COMMAND_HANDLER(handle_interface_list_command)
                return ERROR_COMMAND_SYNTAX_ERROR;
 
        command_print(CMD_CTX, "The following debug interfaces are available:");
-       for (unsigned i = 0; NULL != jtag_interfaces[i]; i++) {
-               const char *name = jtag_interfaces[i]->name;
+       for (unsigned i = 0; NULL != adapter_drivers[i]; i++) {
+               const char *name = adapter_drivers[i]->name;
                command_print(CMD_CTX, "%u: %s", i + 1, name);
        }
 
@@ -129,7 +105,7 @@ COMMAND_HANDLER(handle_interface_command)
        int retval;
 
        /* check whether the interface is already configured */
-       if (jtag_interface) {
+       if (current_adapter_driver) {
                LOG_WARNING("Interface already configured, ignoring");
                return ERROR_OK;
        }
@@ -138,41 +114,32 @@ COMMAND_HANDLER(handle_interface_command)
        if (CMD_ARGC != 1 || CMD_ARGV[0][0] == '\0')
                return ERROR_COMMAND_SYNTAX_ERROR;
 
-       for (unsigned i = 0; NULL != jtag_interfaces[i]; i++) {
-               if (strcmp(CMD_ARGV[0], jtag_interfaces[i]->name) != 0)
+       for (unsigned i = 0; NULL != adapter_drivers[i]; i++) {
+               if (strcmp(CMD_ARGV[0], adapter_drivers[i]->name) != 0)
                        continue;
 
-               if (NULL != jtag_interfaces[i]->commands) {
+               if (NULL != adapter_drivers[i]->commands) {
                        retval = register_commands(CMD_CTX, NULL,
-                                       jtag_interfaces[i]->commands);
+                                       adapter_drivers[i]->commands);
                        if (ERROR_OK != retval)
                                return retval;
                }
 
-               jtag_interface = jtag_interfaces[i];
+               current_adapter_driver = adapter_drivers[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)
+       if (!current_adapter_driver->transports)
                LOG_WARNING("Adapter driver '%s' did not declare "
                        "which transports it allows; assuming "
-                       "legacy JTAG-only", jtag_interface->name);
-               retval = allow_transports(CMD_CTX, jtag_interface->transports
-                                               ? jtag_interface->transports : 
jtag_only);
+                       "legacy JTAG-only", current_adapter_driver->name);
+               retval = allow_transports(CMD_CTX, 
current_adapter_driver->transports
+                                               ? 
current_adapter_driver->transports : jtag_only);
                        if (ERROR_OK != retval)
                                return retval;
 
-               if (jtag_interface->khz == NULL)
-                       jtag_interface->khz = default_khz;
-               if (jtag_interface->speed_div == NULL)
-                       jtag_interface->speed_div = default_speed_div;
-               if (jtag_interface->power_dropout == NULL)
-                       jtag_interface->power_dropout = default_power_dropout;
-               if (jtag_interface->srst_asserted == NULL)
-                       jtag_interface->srst_asserted = default_srst_asserted;
-
                return ERROR_OK;
        }
 
diff --git a/src/jtag/core.c b/src/jtag/core.c
index 5d5803a..d259730 100644
--- a/src/jtag/core.c
+++ b/src/jtag/core.c
@@ -58,6 +58,11 @@ static void jtag_add_scan_check(struct jtag_tap *active,
                tap_state_t state),
                int in_num_fields, struct scan_field *in_fields, tap_state_t 
state);
 
+static int default_khz(int khz, int *jtag_speed_in);
+static int default_speed_div(int speed, int *khz);
+static int default_power_dropout(int *dropout);
+static int default_srst_asserted(int *srst_asserted);
+
 /**
  * The jtag_error variable is set when an error occurs while executing
  * the queue.  Application code may set this using jtag_set_error(),
@@ -132,12 +137,13 @@ static int rclk_fallback_speed_khz;
 static enum {CLOCK_MODE_UNSELECTED, CLOCK_MODE_KHZ, CLOCK_MODE_RCLK} 
clock_mode;
 static int jtag_speed;
 
-static struct jtag_interface *jtag;
 
 const struct swd_driver *swd;
 
 /* configuration */
-struct jtag_interface *jtag_interface;
+const struct adapter_driver *current_adapter_driver;
+static bool adapter_inited;
+
 
 void jtag_set_flush_queue_sleep(int ms)
 {
@@ -499,7 +505,7 @@ int jtag_add_tms_seq(unsigned nbits, const uint8_t *seq, 
enum tap_state state)
 {
        int retval;
 
-       if (!(jtag->supported & DEBUG_CAP_TMS_SEQ))
+       if (!(current_adapter_driver->supported & DEBUG_CAP_TMS_SEQ))
                return ERROR_JTAG_NOT_IMPLEMENTED;
 
        jtag_checks();
@@ -819,14 +825,14 @@ void jtag_check_value_mask(struct scan_field *field, 
uint8_t *value, uint8_t *ma
 
 int default_interface_jtag_execute_queue(void)
 {
-       if (NULL == jtag) {
+       if (!adapter_inited) {
                LOG_ERROR("No JTAG interface configured yet.  "
                        "Issue 'init' command in startup scripts "
                        "before communicating with targets.");
                return ERROR_FAIL;
        }
 
-       return jtag->execute_queue();
+       return current_adapter_driver->execute_queue();
 }
 
 void jtag_execute_queue_noclear(void)
@@ -1342,10 +1348,10 @@ void jtag_tap_free(struct jtag_tap *tap)
  */
 int adapter_init(struct command_context *cmd_ctx)
 {
-       if (jtag)
+       if (adapter_inited)
                return ERROR_OK;
 
-       if (!jtag_interface) {
+       if (!current_adapter_driver) {
                /* nothing was previously specified by "interface" command */
                LOG_ERROR("Debug Adapter has to be specified, "
                        "see \"interface\" command");
@@ -1353,10 +1359,10 @@ int adapter_init(struct command_context *cmd_ctx)
        }
 
        int retval;
-       retval = jtag_interface->init();
+       retval = current_adapter_driver->init();
        if (retval != ERROR_OK)
                return retval;
-       jtag = jtag_interface;
+       adapter_inited = true;
 
        /* LEGACY SUPPORT ... adapter drivers  must declare what
         * transports they allow.  Until they all do so, assume
@@ -1365,7 +1371,7 @@ int adapter_init(struct command_context *cmd_ctx)
        if (!transports_are_declared()) {
                LOG_ERROR("Adapter driver '%s' did not declare "
                        "which transports it allows; assuming "
-                       "JTAG-only", jtag->name);
+                       "JTAG-only", current_adapter_driver->name);
                retval = allow_transports(cmd_ctx, jtag_only);
                if (retval != ERROR_OK)
                        return retval;
@@ -1383,7 +1389,7 @@ int adapter_init(struct command_context *cmd_ctx)
        retval = jtag_get_speed(&jtag_speed_var);
        if (retval != ERROR_OK)
                return retval;
-       retval = jtag->speed(jtag_speed_var);
+       retval = current_adapter_driver->speed(jtag_speed_var);
        if (retval != ERROR_OK)
                return retval;
        retval = jtag_get_speed_readable(&actual_khz);
@@ -1485,11 +1491,11 @@ int jtag_init_inner(struct command_context *cmd_ctx)
 
 int adapter_quit(void)
 {
-       if (!jtag || !jtag->quit)
+       if (!adapter_inited || !current_adapter_driver->quit)
                return ERROR_OK;
 
        /* close the JTAG interface */
-       int result = jtag->quit();
+       int result = current_adapter_driver->quit();
        if (ERROR_OK != result)
                LOG_ERROR("failed: %d", result);
 
@@ -1591,10 +1597,15 @@ static int adapter_khz_to_speed(unsigned khz, int 
*speed)
 {
        LOG_DEBUG("convert khz to interface specific speed value");
        speed_khz = khz;
-       if (jtag != NULL) {
+       if (adapter_inited) {
                LOG_DEBUG("have interface set up");
                int speed_div1;
-               int retval = jtag->khz(jtag_get_speed_khz(), &speed_div1);
+               int retval;
+               if (current_adapter_driver->khz != NULL)
+                       retval = 
current_adapter_driver->khz(jtag_get_speed_khz(), &speed_div1);
+               else
+                       retval = default_khz(jtag_get_speed_khz(), &speed_div1);
+
                if (ERROR_OK != retval)
                        return retval;
                *speed = speed_div1;
@@ -1617,7 +1628,7 @@ static int jtag_set_speed(int speed)
        jtag_speed = speed;
        /* this command can be called during CONFIG,
         * in which case jtag isn't initialized */
-       return jtag ? jtag->speed(speed) : ERROR_OK;
+       return adapter_inited ? current_adapter_driver->speed(speed) : ERROR_OK;
 }
 
 int jtag_config_khz(unsigned khz)
@@ -1661,7 +1672,13 @@ int jtag_get_speed_readable(int *khz)
        int retval = jtag_get_speed(&jtag_speed_var);
        if (retval != ERROR_OK)
                return retval;
-       return jtag ? jtag->speed_div(jtag_speed_var, khz) : ERROR_OK;
+       if (!adapter_inited)
+           return ERROR_OK;
+
+       if (current_adapter_driver->speed_div != NULL)
+           return current_adapter_driver->speed_div(jtag_speed_var, khz);
+       else
+           return default_speed_div(jtag_speed_var, khz);
 }
 
 void jtag_set_verify(bool enable)
@@ -1686,18 +1703,24 @@ bool jtag_will_verify_capture_ir()
 
 int jtag_power_dropout(int *dropout)
 {
-       if (jtag == NULL) {
+       if (!adapter_inited) {
                /* TODO: as the jtag interface is not valid all
                 * we can do at the moment is exit OpenOCD */
                LOG_ERROR("No Valid JTAG Interface Configured.");
                exit(-1);
        }
-       return jtag->power_dropout(dropout);
+       if (current_adapter_driver->power_dropout != NULL)
+           return current_adapter_driver->power_dropout(dropout);
+       else
+           return default_power_dropout(dropout);
 }
 
 int jtag_srst_asserted(int *srst_asserted)
 {
-       return jtag->srst_asserted(srst_asserted);
+       if (current_adapter_driver->srst_asserted != NULL)
+           return current_adapter_driver->srst_asserted(srst_asserted);
+       else
+           return default_srst_asserted(srst_asserted);
 }
 
 enum reset_types jtag_get_reset_config(void)
@@ -1822,3 +1845,28 @@ void adapter_deassert_reset(void)
        else
                LOG_ERROR("transport is not selected");
 }
+
+
+static int default_khz(int khz, int *jtag_speed_in)
+{
+       LOG_ERROR("Translation from khz to jtag_speed not implemented");
+       return ERROR_FAIL;
+}
+
+static int default_speed_div(int speed, int *khz)
+{
+       LOG_ERROR("Translation from jtag_speed to khz not implemented");
+       return ERROR_FAIL;
+}
+
+static int default_power_dropout(int *dropout)
+{
+       *dropout = 0; /* by default we can't detect power dropout */
+       return ERROR_OK;
+}
+
+static int default_srst_asserted(int *srst_asserted)
+{
+       *srst_asserted = 0; /* by default we can't detect srst asserted */
+       return ERROR_OK;
+}
diff --git a/src/jtag/drivers/amt_jtagaccel.c b/src/jtag/drivers/amt_jtagaccel.c
index d89e5ff..cccf4f2 100644
--- a/src/jtag/drivers/amt_jtagaccel.c
+++ b/src/jtag/drivers/amt_jtagaccel.c
@@ -593,7 +593,7 @@ static const struct command_registration 
amtjtagaccel_command_handlers[] = {
        COMMAND_REGISTRATION_DONE
 };
 
-struct jtag_interface amt_jtagaccel_interface = {
+const struct adapter_driver amt_jtagaccel_driver = {
        .name = "amt_jtagaccel",
        .commands = amtjtagaccel_command_handlers,
 
diff --git a/src/jtag/drivers/arm-jtag-ew.c b/src/jtag/drivers/arm-jtag-ew.c
index 35b6b92..906b219 100644
--- a/src/jtag/drivers/arm-jtag-ew.c
+++ b/src/jtag/drivers/arm-jtag-ew.c
@@ -493,7 +493,7 @@ static const struct command_registration 
armjtagew_command_handlers[] = {
        COMMAND_REGISTRATION_DONE
 };
 
-struct jtag_interface armjtagew_interface = {
+const struct adapter_driver armjtagew_driver = {
        .name = "arm-jtag-ew",
        .commands = armjtagew_command_handlers,
        .transports = jtag_only,
diff --git a/src/jtag/drivers/at91rm9200.c b/src/jtag/drivers/at91rm9200.c
index 3bba368..a7bf3d9 100644
--- a/src/jtag/drivers/at91rm9200.c
+++ b/src/jtag/drivers/at91rm9200.c
@@ -193,7 +193,7 @@ static const struct command_registration 
at91rm9200_command_handlers[] = {
        COMMAND_REGISTRATION_DONE
 };
 
-struct jtag_interface at91rm9200_interface = {
+const struct adapter_driver at91rm9200_driver = {
        .name = "at91rm9200",
        .execute_queue = bitbang_execute_queue,
        .speed = at91rm9200_speed,
diff --git a/src/jtag/drivers/buspirate.c b/src/jtag/drivers/buspirate.c
index 86b9882..a969ffd 100644
--- a/src/jtag/drivers/buspirate.c
+++ b/src/jtag/drivers/buspirate.c
@@ -423,7 +423,7 @@ static const struct command_registration 
buspirate_command_handlers[] = {
        COMMAND_REGISTRATION_DONE
 };
 
-struct jtag_interface buspirate_interface = {
+const struct adapter_driver buspirate_driver = {
        .name = "buspirate",
        .execute_queue = buspirate_execute_queue,
        .speed = buspirate_speed,
diff --git a/src/jtag/drivers/dummy.c b/src/jtag/drivers/dummy.c
index be61b37..d69fbfb 100644
--- a/src/jtag/drivers/dummy.c
+++ b/src/jtag/drivers/dummy.c
@@ -144,7 +144,7 @@ static const struct command_registration 
dummy_command_handlers[] = {
 /* The dummy driver is used to easily check the code path
  * where the target is unresponsive.
  */
-struct jtag_interface dummy_interface = {
+const struct adapter_driver dummy_driver = {
                .name = "dummy",
 
                .supported = DEBUG_CAP_TMS_SEQ,
diff --git a/src/jtag/drivers/ep93xx.c b/src/jtag/drivers/ep93xx.c
index 9781130..52a3478 100644
--- a/src/jtag/drivers/ep93xx.c
+++ b/src/jtag/drivers/ep93xx.c
@@ -53,7 +53,7 @@ static int ep93xx_quit(void);
 
 struct timespec ep93xx_zzzz;
 
-struct jtag_interface ep93xx_interface = {
+const struct adapter_driver ep93xx_driver = {
        .name = "ep93xx",
 
        .supported = DEBUG_CAP_TMS_SEQ,
diff --git a/src/jtag/drivers/ft2232.c b/src/jtag/drivers/ft2232.c
index 6758dc7..39d40a3 100644
--- a/src/jtag/drivers/ft2232.c
+++ b/src/jtag/drivers/ft2232.c
@@ -4261,7 +4261,7 @@ static const struct command_registration 
ft2232_command_handlers[] = {
        COMMAND_REGISTRATION_DONE
 };
 
-struct jtag_interface ft2232_interface = {
+const struct adapter_driver ft2232_driver = {
        .name = "ft2232",
        .supported = DEBUG_CAP_TMS_SEQ,
        .commands = ft2232_command_handlers,
diff --git a/src/jtag/drivers/ftdi.c b/src/jtag/drivers/ftdi.c
index f04b390..2a22dbb 100644
--- a/src/jtag/drivers/ftdi.c
+++ b/src/jtag/drivers/ftdi.c
@@ -870,7 +870,7 @@ static const struct command_registration 
ftdi_command_handlers[] = {
        COMMAND_REGISTRATION_DONE
 };
 
-struct jtag_interface ftdi_interface = {
+const struct adapter_driver ftdi_driver = {
        .name = "ftdi",
        .supported = DEBUG_CAP_TMS_SEQ,
        .commands = ftdi_command_handlers,
diff --git a/src/jtag/drivers/gw16012.c b/src/jtag/drivers/gw16012.c
index bf027f8..d754bef 100644
--- a/src/jtag/drivers/gw16012.c
+++ b/src/jtag/drivers/gw16012.c
@@ -541,7 +541,7 @@ static const struct command_registration 
gw16012_command_handlers[] = {
        COMMAND_REGISTRATION_DONE
 };
 
-struct jtag_interface gw16012_interface = {
+const struct adapter_driver gw16012_driver = {
        .name = "gw16012",
        .commands = gw16012_command_handlers,
 
diff --git a/src/jtag/drivers/jlink.c b/src/jtag/drivers/jlink.c
index 33b15d2..c4e1bae 100644
--- a/src/jtag/drivers/jlink.c
+++ b/src/jtag/drivers/jlink.c
@@ -1295,7 +1295,7 @@ static const struct command_registration 
jlink_command_handlers[] = {
        COMMAND_REGISTRATION_DONE
 };
 
-struct jtag_interface jlink_interface = {
+const struct adapter_driver jlink_driver = {
        .name = "jlink",
        .commands = jlink_command_handlers,
        .transports = jtag_only,
diff --git a/src/jtag/drivers/opendous.c b/src/jtag/drivers/opendous.c
index 1b74bd5..4ba2215 100644
--- a/src/jtag/drivers/opendous.c
+++ b/src/jtag/drivers/opendous.c
@@ -190,7 +190,7 @@ static const struct command_registration 
opendous_command_handlers[] = {
        COMMAND_REGISTRATION_DONE
 };
 
-struct jtag_interface opendous_interface = {
+const struct adapter_driver opendous_driver = {
        .name = "opendous",
        .commands = opendous_command_handlers,
        .execute_queue = opendous_execute_queue,
diff --git a/src/jtag/drivers/osbdm.c b/src/jtag/drivers/osbdm.c
index 66dbf3d..3fa1b51 100644
--- a/src/jtag/drivers/osbdm.c
+++ b/src/jtag/drivers/osbdm.c
@@ -707,7 +707,7 @@ static int osbdm_speed_div(int speed, int *khz)
        return ERROR_OK;
 }
 
-struct jtag_interface osbdm_interface = {
+const struct adapter_driver osbdm_driver = {
        .name = "osbdm",
 
        .transports = jtag_only,
diff --git a/src/jtag/drivers/parport.c b/src/jtag/drivers/parport.c
index 3c07afb..dde7385 100644
--- a/src/jtag/drivers/parport.c
+++ b/src/jtag/drivers/parport.c
@@ -500,7 +500,7 @@ static const struct command_registration 
parport_command_handlers[] = {
        COMMAND_REGISTRATION_DONE
 };
 
-struct jtag_interface parport_interface = {
+const struct adapter_driver parport_driver = {
        .name = "parport",
        .supported = DEBUG_CAP_TMS_SEQ,
        .commands = parport_command_handlers,
diff --git a/src/jtag/drivers/presto.c b/src/jtag/drivers/presto.c
index 28576a7..5a12628 100644
--- a/src/jtag/drivers/presto.c
+++ b/src/jtag/drivers/presto.c
@@ -783,7 +783,7 @@ static int presto_jtag_quit(void)
        return ERROR_OK;
 }
 
-struct jtag_interface presto_interface = {
+const struct adapter_driver presto_driver = {
        .name = "presto",
        .commands = presto_command_handlers,
 
diff --git a/src/jtag/drivers/remote_bitbang.c 
b/src/jtag/drivers/remote_bitbang.c
index 73d9cfc..f29da42 100644
--- a/src/jtag/drivers/remote_bitbang.c
+++ b/src/jtag/drivers/remote_bitbang.c
@@ -287,7 +287,7 @@ static const struct command_registration 
remote_bitbang_command_handlers[] = {
        COMMAND_REGISTRATION_DONE,
 };
 
-struct jtag_interface remote_bitbang_interface = {
+const struct adapter_driver remote_bitbang_driver = {
        .name = "remote_bitbang",
        .execute_queue = &bitbang_execute_queue,
        .speed = &remote_bitbang_speed,
diff --git a/src/jtag/drivers/rlink.c b/src/jtag/drivers/rlink.c
index 0bfe8be..acdce0c 100644
--- a/src/jtag/drivers/rlink.c
+++ b/src/jtag/drivers/rlink.c
@@ -1674,7 +1674,7 @@ static int rlink_quit(void)
        return ERROR_OK;
 }
 
-struct jtag_interface rlink_interface = {
+const struct adapter_driver rlink_driver = {
        .name = "rlink",
        .init = rlink_init,
        .quit = rlink_quit,
diff --git a/src/jtag/drivers/sysfsgpio.c b/src/jtag/drivers/sysfsgpio.c
index 1cad268..aadd07c 100644
--- a/src/jtag/drivers/sysfsgpio.c
+++ b/src/jtag/drivers/sysfsgpio.c
@@ -410,7 +410,7 @@ static const struct command_registration 
sysfsgpio_command_handlers[] = {
 static int sysfsgpio_init(void);
 static int sysfsgpio_quit(void);
 
-struct jtag_interface sysfsgpio_interface = {
+struct adapter_driver sysfsgpio_interface = {
        .name = "sysfsgpio",
        .supported = DEBUG_CAP_TMS_SEQ,
        .execute_queue = bitbang_execute_queue,
diff --git a/src/jtag/drivers/ulink.c b/src/jtag/drivers/ulink.c
index 8ded37b..bdedb38 100644
--- a/src/jtag/drivers/ulink.c
+++ b/src/jtag/drivers/ulink.c
@@ -2287,7 +2287,7 @@ static const struct command_registration 
ulink_command_handlers[] = {
        COMMAND_REGISTRATION_DONE,
 };
 
-struct jtag_interface ulink_interface = {
+const struct adapter_driver ulink_driver = {
        .name = "ulink",
 
        .commands = ulink_command_handlers,
diff --git a/src/jtag/drivers/usb_blaster.c b/src/jtag/drivers/usb_blaster.c
index 088ae34..07cc577 100644
--- a/src/jtag/drivers/usb_blaster.c
+++ b/src/jtag/drivers/usb_blaster.c
@@ -581,7 +581,7 @@ static const struct command_registration 
usb_blaster_command_handlers[] = {
        COMMAND_REGISTRATION_DONE
 };
 
-struct jtag_interface usb_blaster_interface = {
+const struct adapter_driver usb_blaster_driver = {
        .name = "usb_blaster",
        .commands = usb_blaster_command_handlers,
        .supported = DEBUG_CAP_TMS_SEQ,
diff --git a/src/jtag/drivers/usbprog.c b/src/jtag/drivers/usbprog.c
index e90d569..a0e1786 100644
--- a/src/jtag/drivers/usbprog.c
+++ b/src/jtag/drivers/usbprog.c
@@ -617,7 +617,7 @@ static void usbprog_jtag_tms_send(struct usbprog_jtag 
*usbprog_jtag)
        }
 }
 
-struct jtag_interface usbprog_interface = {
+const struct adapter_driver usbprog_driver = {
        .name = "usbprog",
 
        .execute_queue = usbprog_execute_queue,
diff --git a/src/jtag/drivers/vsllink.c b/src/jtag/drivers/vsllink.c
index 1c0c3e1..528fe80 100644
--- a/src/jtag/drivers/vsllink.c
+++ b/src/jtag/drivers/vsllink.c
@@ -834,7 +834,7 @@ static const struct command_registration 
vsllink_command_handlers[] = {
 
 static const char *vsllink_transports[] = {"jtag", "swd", NULL};
 
-struct jtag_interface vsllink_interface = {
+const struct adapter_driver vsllink_driver = {
        .name = "vsllink",
        .supported = DEBUG_CAP_TMS_SEQ,
        .commands = vsllink_command_handlers,
diff --git a/src/jtag/interface.h b/src/jtag/interface.h
index 72af2fe..541549f 100644
--- a/src/jtag/interface.h
+++ b/src/jtag/interface.h
@@ -185,10 +185,7 @@ static inline tap_state_t jtag_debug_state_machine(const 
void *tms_buf,
 #endif /* _DEBUG_JTAG_IO_ */
 
 /**
- * Represents a driver for a debugging interface.
- *
- * @todo Rename; perhaps "debug_driver".  This isn't an interface,
- * it's a driver!  Also, not all drivers support JTAG.
+ * Represents a driver for a debugging adapter.
  *
  * @todo We need a per-instance structure too, and changes to pass
  * that structure to the driver.  Instances can for example be in
@@ -196,7 +193,7 @@ static inline tap_state_t jtag_debug_state_machine(const 
void *tms_buf,
  * eventually to cope with systems which have more than one such
  * debugging interface.
  */
-struct jtag_interface {
+struct adapter_driver {
        /** The name of the JTAG interface driver. */
        char *name;
 
diff --git a/src/jtag/interfaces.c b/src/jtag/interfaces.c
index 19d2fcc..ab4bb18 100644
--- a/src/jtag/interfaces.c
+++ b/src/jtag/interfaces.c
@@ -43,162 +43,162 @@
  */
 
 #if BUILD_ZY1000 == 1
-extern struct jtag_interface zy1000_interface;
+extern const struct adapter_driver zy1000_driver;
 #elif defined(BUILD_MINIDRIVER_DUMMY)
-extern struct jtag_interface minidummy_interface;
+extern const struct adapter_driver minidummy_driver;
 #else /* standard drivers */
 #if BUILD_PARPORT == 1
-extern struct jtag_interface parport_interface;
+extern const struct adapter_driver parport_driver;
 #endif
 #if BUILD_DUMMY == 1
-extern struct jtag_interface dummy_interface;
+extern const struct adapter_driver dummy_driver;
 #endif
 #if BUILD_FT2232_FTD2XX == 1
-extern struct jtag_interface ft2232_interface;
+extern const struct adapter_driver ft2232_driver;
 #endif
 #if BUILD_FT2232_LIBFTDI == 1
-extern struct jtag_interface ft2232_interface;
+extern const struct adapter_driver ft2232_driver;
 #endif
 #if BUILD_FTDI == 1
-extern struct jtag_interface ftdi_interface;
+extern const struct adapter_driver ftdi_driver;
 #endif
 #if BUILD_USB_BLASTER_LIBFTDI == 1 || BUILD_USB_BLASTER_FTD2XX == 1
-extern struct jtag_interface usb_blaster_interface;
+extern const struct adapter_driver usb_blaster_driver;
 #endif
 #if BUILD_AMTJTAGACCEL == 1
-extern struct jtag_interface amt_jtagaccel_interface;
+extern const struct adapter_driver amt_jtagaccel_driver;
 #endif
 #if BUILD_EP93XX == 1
-extern struct jtag_interface ep93xx_interface;
+extern const struct adapter_driver ep93xx_driver;
 #endif
 #if BUILD_AT91RM9200 == 1
-extern struct jtag_interface at91rm9200_interface;
+extern const struct adapter_driver at91rm9200_driver;
 #endif
 #if BUILD_GW16012 == 1
-extern struct jtag_interface gw16012_interface;
+extern const struct adapter_driver gw16012_driver;
 #endif
 #if BUILD_PRESTO_LIBFTDI == 1 || BUILD_PRESTO_FTD2XX == 1
-extern struct jtag_interface presto_interface;
+extern const struct adapter_driver presto_driver;
 #endif
 #if BUILD_USBPROG == 1
-extern struct jtag_interface usbprog_interface;
+extern const struct adapter_driver usbprog_driver;
 #endif
 #if BUILD_JLINK == 1
-extern struct jtag_interface jlink_interface;
+extern const struct adapter_driver jlink_driver;
 #endif
 #if BUILD_VSLLINK == 1
-extern struct jtag_interface vsllink_interface;
+extern const struct adapter_driver vsllink_driver;
 #endif
 #if BUILD_RLINK == 1
-extern struct jtag_interface rlink_interface;
+extern const struct adapter_driver rlink_driver;
 #endif
 #if BUILD_ULINK == 1
-extern struct jtag_interface ulink_interface;
+extern const struct adapter_driver ulink_drier;
 #endif
 #if BUILD_ARMJTAGEW == 1
-extern struct jtag_interface armjtagew_interface;
+extern const struct adapter_driver armjtagew_driver;
 #endif
 #if BUILD_BUSPIRATE == 1
-extern struct jtag_interface buspirate_interface;
+extern const struct adapter_driver buspirate_driver;
 #endif
 #if BUILD_REMOTE_BITBANG == 1
-extern struct jtag_interface remote_bitbang_interface;
+extern const struct adapter_driver remote_bitbang_driver;
 #endif
 #if BUILD_STLINK == 1
-extern struct jtag_interface stlink_interface;
+extern const struct adapter_driver stlink_driver;
 #endif
 #if BUILD_OSBDM == 1
-extern struct jtag_interface osbdm_interface;
+extern const struct adapter_driver osbdm_driver;
 #endif
 #if BUILD_OPENDOUS == 1
-extern struct jtag_interface opendous_interface;
+extern const struct adapter_driver opendous_driver;
 #endif
 #if BUILD_SYSFSGPIO == 1
-extern struct jtag_interface sysfsgpio_interface;
+extern const struct adapter_driver sysfsgpio_driver;
 #endif
 #endif /* standard drivers */
 
 /**
- * The list of built-in JTAG interfaces, containing entries for those
+ * The list of built-in debug adapter drivers, containing entries for those
  * drivers that were enabled by the @c configure script.
  *
  * The list should be defined to contain either one minidriver interface
  * or some number of standard driver interfaces, never both.
  */
-struct jtag_interface *jtag_interfaces[] = {
+const struct adapter_driver *adapter_drivers[] = {
 #if BUILD_ZY1000 == 1
-               &zy1000_interface,
+               &zy1000_driver,
 #elif defined(BUILD_MINIDRIVER_DUMMY)
-               &minidummy_interface,
+               &minidummy_driver,
 #else /* standard drivers */
 #if BUILD_PARPORT == 1
-               &parport_interface,
+               &parport_driver,
 #endif
 #if BUILD_DUMMY == 1
-               &dummy_interface,
+               &dummy_driver,
 #endif
 #if BUILD_FT2232_FTD2XX == 1
-               &ft2232_interface,
+               &ft2232_driver,
 #endif
 #if BUILD_FT2232_LIBFTDI == 1
-               &ft2232_interface,
+               &ft2232_driver,
 #endif
 #if BUILD_FTDI == 1
-               &ftdi_interface,
+               &ftdi_driver,
 #endif
 #if BUILD_USB_BLASTER_LIBFTDI == 1 || BUILD_USB_BLASTER_FTD2XX == 1
-               &usb_blaster_interface,
+               &usb_blaster_driver,
 #endif
 #if BUILD_AMTJTAGACCEL == 1
-               &amt_jtagaccel_interface,
+               &amt_jtagaccel_driver,
 #endif
 #if BUILD_EP93XX == 1
-               &ep93xx_interface,
+               &ep93xx_driver,
 #endif
 #if BUILD_AT91RM9200 == 1
-               &at91rm9200_interface,
+               &at91rm9200_driver,
 #endif
 #if BUILD_GW16012 == 1
-               &gw16012_interface,
+               &gw16012_driver,
 #endif
 #if BUILD_PRESTO_LIBFTDI == 1 || BUILD_PRESTO_FTD2XX == 1
-               &presto_interface,
+               &presto_driver,
 #endif
 #if BUILD_USBPROG == 1
-               &usbprog_interface,
+               &usbprog_driver,
 #endif
 #if BUILD_JLINK == 1
-               &jlink_interface,
+               &jlink_driver,
 #endif
 #if BUILD_VSLLINK == 1
-               &vsllink_interface,
+               &vsllink_driver,
 #endif
 #if BUILD_RLINK == 1
-               &rlink_interface,
+               &rlink_driver,
 #endif
 #if BUILD_ULINK == 1
-               &ulink_interface,
+               &ulink_driver,
 #endif
 #if BUILD_ARMJTAGEW == 1
-               &armjtagew_interface,
+               &armjtagew_driver,
 #endif
 #if BUILD_BUSPIRATE == 1
-               &buspirate_interface,
+               &buspirate_driver,
 #endif
 #if BUILD_REMOTE_BITBANG == 1
-               &remote_bitbang_interface,
+               &remote_bitbang_driver,
 #endif
 #if BUILD_STLINK == 1
-               &stlink_interface,
+               &stlink_driver,
 #endif
 #if BUILD_OSBDM == 1
-               &osbdm_interface,
+               &osbdm_driver,
 #endif
 #if BUILD_OPENDOUS == 1
-               &opendous_interface,
+               &opendous_driver,
 #endif
 #if BUILD_SYSFSGPIO == 1
-               &sysfsgpio_interface,
+               &sysfsgpio_driver,
 #endif
 #endif /* standard drivers */
                NULL,
diff --git a/src/jtag/interfaces.h b/src/jtag/interfaces.h
index a86cccd..1531005 100644
--- a/src/jtag/interfaces.h
+++ b/src/jtag/interfaces.h
@@ -41,6 +41,6 @@
 /** Dynamically load all JTAG interface modules from specified directory. */
 void jtag_interface_modules_load(const char *path);
 
-extern struct jtag_interface *jtag_interfaces[];
+extern const struct adapter_driver *adapter_drivers[];
 
 #endif /* OPENOCD_JTAG_INTERFACES_H */
diff --git a/src/jtag/minidummy/minidummy.c b/src/jtag/minidummy/minidummy.c
index 12a658c..6368cdc 100644
--- a/src/jtag/minidummy/minidummy.c
+++ b/src/jtag/minidummy/minidummy.c
@@ -26,7 +26,7 @@
 #include <jtag/minidriver.h>
 #include <jtag/interface.h>
 
-struct jtag_interface minidummy_interface = {
+const struct adapter_driver minidummy_driver = {
        .name = "minidummy",
        .execute_queue = NULL,
        .speed = NULL,
diff --git a/src/jtag/stlink/stlink_interface.c 
b/src/jtag/stlink/stlink_interface.c
index c06d86c..1920020 100644
--- a/src/jtag/stlink/stlink_interface.c
+++ b/src/jtag/stlink/stlink_interface.c
@@ -253,7 +253,7 @@ static const struct command_registration 
stlink_interface_command_handlers[] = {
        COMMAND_REGISTRATION_DONE
 };
 
-struct jtag_interface stlink_interface = {
+const struct adapter_driver stlink_driver = {
        .name = "stlink",
        .supported = 0,
        .commands = stlink_interface_command_handlers,
diff --git a/src/jtag/tcl.c b/src/jtag/tcl.c
index b279b1f..312678f 100644
--- a/src/jtag/tcl.c
+++ b/src/jtag/tcl.c
@@ -59,8 +59,6 @@ static const Jim_Nvp nvp_jtag_tap_event[] = {
        { .name = NULL, .value = -1 }
 };
 
-extern struct jtag_interface *jtag_interface;
-
 struct jtag_tap *jtag_tap_by_jim_obj(Jim_Interp *interp, Jim_Obj *o)
 {
        const char *cp = Jim_GetString(o, NULL);
diff --git a/src/jtag/zy1000/zy1000.c b/src/jtag/zy1000/zy1000.c
index e246870..e761a0d 100644
--- a/src/jtag/zy1000/zy1000.c
+++ b/src/jtag/zy1000/zy1000.c
@@ -1251,7 +1251,7 @@ int zy1000_init(void)
        return ERROR_OK;
 }
 
-struct jtag_interface zy1000_interface = {
+const struct adapter_driver zy1000_driver = {
        .name = "ZY1000",
        .supported = DEBUG_CAP_TMS_SEQ,
        .execute_queue = NULL,

-- 

------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_sfd2d_oct
_______________________________________________
OpenOCD-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openocd-devel

Reply via email to