This is an automated email from Gerrit.

"Antonio Borneo <[email protected]>" just uploaded a new patch set to 
Gerrit, which you can find at https://review.openocd.org/c/openocd/+/6642

-- gerrit

commit 151e3f30417e852fdec9a8ae5c9051ff01eb90c0
Author: Antonio Borneo <[email protected]>
Date:   Thu Oct 7 12:21:18 2021 +0200

    jtag/adapter: move config vars in struct adapter_config
    
    Move the static variables used to configure the adapter in
    the struct adapter_config.
    
    Change-Id: I1639e2bd39d0cbb12c71dfa347025558879d8b1d
    Signed-off-by: Antonio Borneo <[email protected]>

diff --git a/src/jtag/adapter.c b/src/jtag/adapter.c
index bdb131cf0..991338be8 100644
--- a/src/jtag/adapter.c
+++ b/src/jtag/adapter.c
@@ -30,24 +30,26 @@
 struct adapter_driver *adapter_driver;
 const char * const jtag_only[] = { "jtag", NULL };
 
+enum adapter_clk_mode {
+       CLOCK_MODE_UNSELECTED = 0,
+       CLOCK_MODE_KHZ,
+       CLOCK_MODE_RCLK
+};
+
 /**
  * Adapter configuration
  */
 static struct {
+       bool adapter_initialized;
        char *usb_location;
+       enum adapter_clk_mode clock_mode;
+       int speed_khz;
+       int rclk_fallback_speed_khz;
 } adapter_config;
 
-/* speed in kHz*/
-static int speed_khz;
-/* speed to fallback to when RCLK is requested but not supported */
-static int rclk_fallback_speed_khz;
-static enum {CLOCK_MODE_UNSELECTED, CLOCK_MODE_KHZ, CLOCK_MODE_RCLK} 
clock_mode;
-
-static bool adapter_initialized;
-
 bool is_adapter_initialized(void)
 {
-       return adapter_initialized;
+       return adapter_config.adapter_initialized;
 }
 
 /**
@@ -70,14 +72,14 @@ int adapter_init(struct command_context *cmd_ctx)
        retval = adapter_driver->init();
        if (retval != ERROR_OK)
                return retval;
-       adapter_initialized = true;
+       adapter_config.adapter_initialized = true;
 
        if (!adapter_driver->speed) {
                LOG_INFO("This adapter doesn't support configurable speed");
                return ERROR_OK;
        }
 
-       if (clock_mode == CLOCK_MODE_UNSELECTED) {
+       if (adapter_config.clock_mode == CLOCK_MODE_UNSELECTED) {
                LOG_ERROR("An adapter speed is not selected in the init script."
                        " Insert a call to \"adapter speed\" or \"jtag_rclk\" 
to proceed.");
                return ERROR_JTAG_INIT_FAILED;
@@ -97,8 +99,8 @@ int adapter_init(struct command_context *cmd_ctx)
                LOG_INFO("adapter-specific clock speed value %d", 
jtag_speed_var);
        else if (actual_khz) {
                /* Adaptive clocking -- JTAG-specific */
-               if ((clock_mode == CLOCK_MODE_RCLK)
-                               || ((clock_mode == CLOCK_MODE_KHZ) && 
!requested_khz)) {
+               if ((adapter_config.clock_mode == CLOCK_MODE_RCLK)
+                               || ((adapter_config.clock_mode == 
CLOCK_MODE_KHZ) && !requested_khz)) {
                        LOG_INFO("RCLK (adaptive clock speed) not supported - 
fallback to %d kHz"
                        , actual_khz);
                } else
@@ -130,13 +132,13 @@ int adapter_quit(void)
 
 unsigned jtag_get_speed_khz(void)
 {
-       return speed_khz;
+       return adapter_config.speed_khz;
 }
 
 static int adapter_khz_to_speed(unsigned khz, int *speed)
 {
        LOG_DEBUG("convert khz to interface specific speed value");
-       speed_khz = khz;
+       adapter_config.speed_khz = khz;
        if (!is_adapter_initialized())
                return ERROR_OK;
        LOG_DEBUG("have interface set up");
@@ -172,7 +174,7 @@ static int jtag_set_speed(int speed)
 int jtag_config_khz(unsigned khz)
 {
        LOG_DEBUG("handle jtag khz");
-       clock_mode = CLOCK_MODE_KHZ;
+       adapter_config.clock_mode = CLOCK_MODE_KHZ;
        int speed = 0;
        int retval = adapter_khz_to_speed(khz, &speed);
        return (retval != ERROR_OK) ? retval : jtag_set_speed(speed);
@@ -181,8 +183,8 @@ int jtag_config_khz(unsigned khz)
 int jtag_config_rclk(unsigned fallback_speed_khz)
 {
        LOG_DEBUG("handle jtag rclk");
-       clock_mode = CLOCK_MODE_RCLK;
-       rclk_fallback_speed_khz = fallback_speed_khz;
+       adapter_config.clock_mode = CLOCK_MODE_RCLK;
+       adapter_config.rclk_fallback_speed_khz = fallback_speed_khz;
        int speed = 0;
        int retval = jtag_rclk_to_speed(fallback_speed_khz, &speed);
        return (retval != ERROR_OK) ? retval : jtag_set_speed(speed);
@@ -190,12 +192,12 @@ int jtag_config_rclk(unsigned fallback_speed_khz)
 
 int jtag_get_speed(int *speed)
 {
-       switch (clock_mode) {
+       switch (adapter_config.clock_mode) {
                case CLOCK_MODE_KHZ:
                        adapter_khz_to_speed(jtag_get_speed_khz(), speed);
                        break;
                case CLOCK_MODE_RCLK:
-                       jtag_rclk_to_speed(rclk_fallback_speed_khz, speed);
+                       
jtag_rclk_to_speed(adapter_config.rclk_fallback_speed_khz, speed);
                        break;
                default:
                        LOG_ERROR("BUG: unknown jtag clock mode");

-- 

Reply via email to