This is an automated email from Gerrit.

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

-- gerrit

commit 5b0d19b37333676569a1df0bd5be39b1aeb65650
Author: Samuel Obuch <[email protected]>
Date:   Tue Mar 17 21:44:59 2026 +0100

    jtag: adapter: move adapter_driver extern declaration to header file
    
    Prevents sparse warning:
    "symbol 'adapter_driver' was not declared. Should it be static?"
    
    Change-Id: I2a650ae09e250373132bdfa18f7b2942b970b98e
    Signed-off-by: Samuel Obuch <[email protected]>

diff --git a/src/jtag/adapter.h b/src/jtag/adapter.h
index d76ea5e327..6e957cbdc0 100644
--- a/src/jtag/adapter.h
+++ b/src/jtag/adapter.h
@@ -129,6 +129,8 @@ const char *adapter_gpio_get_name(enum 
adapter_gpio_config_index idx);
  */
 const struct adapter_gpio_config *adapter_gpio_get_config(void);
 
+extern struct adapter_driver *adapter_driver;
+
 #define ADAPTER_GPIO_NOT_SET UINT_MAX
 
 #endif /* OPENOCD_JTAG_ADAPTER_H */
diff --git a/src/jtag/core.c b/src/jtag/core.c
index 3261e60796..941d9f3b4c 100644
--- a/src/jtag/core.c
+++ b/src/jtag/core.c
@@ -115,8 +115,6 @@ struct jtag_event_callback {
 /* callbacks to inform high-level handlers about JTAG state changes */
 static struct jtag_event_callback *jtag_event_callbacks;
 
-extern struct adapter_driver *adapter_driver;
-
 void jtag_set_flush_queue_sleep(int ms)
 {
        jtag_flush_queue_sleep = ms;
diff --git a/src/jtag/swim.c b/src/jtag/swim.c
index 004a9fd4f2..43d655c4c7 100644
--- a/src/jtag/swim.c
+++ b/src/jtag/swim.c
@@ -12,13 +12,12 @@
 #include "config.h"
 #endif
 
+#include "adapter.h"
 #include "interface.h"
 #include "swim.h"
 #include <helper/command.h>
 #include <transport/transport.h>
 
-extern struct adapter_driver *adapter_driver;
-
 int swim_system_reset(void)
 {
        assert(adapter_driver->swim_ops);
diff --git a/src/target/adi_v5_swd.c b/src/target/adi_v5_swd.c
index 2d286136a5..57d2d5929c 100644
--- a/src/target/adi_v5_swd.c
+++ b/src/target/adi_v5_swd.c
@@ -39,6 +39,7 @@
 #include <helper/time_support.h>
 
 #include <transport/transport.h>
+#include <jtag/adapter.h>
 #include <jtag/interface.h>
 
 #include <jtag/swd.h>
@@ -722,8 +723,6 @@ static const struct command_registration swd_handlers[] = {
 
 static int swd_select(struct command_context *ctx)
 {
-       /* FIXME: only place where global 'adapter_driver' is still needed */
-       extern struct adapter_driver *adapter_driver;
        const struct swd_driver *swd = adapter_driver->swd_ops;
        int retval;
 
diff --git a/src/target/arm_dap.c b/src/target/arm_dap.c
index 532f192b7d..07b695623c 100644
--- a/src/target/arm_dap.c
+++ b/src/target/arm_dap.c
@@ -16,12 +16,11 @@
 #include "helper/list.h"
 #include "helper/command.h"
 #include "transport/transport.h"
+#include "jtag/adapter.h"
 #include "jtag/interface.h"
 
 static OOCD_LIST_HEAD(all_dap);
 
-extern struct adapter_driver *adapter_driver;
-
 /* DAP command support */
 struct arm_dap_object {
        struct list_head lh;
diff --git a/src/target/stm8.c b/src/target/stm8.c
index 3b5d83ff42..d44dd7f080 100644
--- a/src/target/stm8.c
+++ b/src/target/stm8.c
@@ -13,6 +13,7 @@
 #include <helper/log.h>
 #include "target.h"
 #include "target_type.h"
+#include "jtag/adapter.h"
 #include "jtag/interface.h"
 #include "jtag/jtag.h"
 #include "jtag/swim.h"
@@ -33,7 +34,6 @@ static void stm8_enable_watchpoints(struct target *target);
 static int stm8_unset_watchpoint(struct target *target,
                struct watchpoint *watchpoint);
 static int (*adapter_speed)(int speed);
-extern struct adapter_driver *adapter_driver;
 
 static const struct {
        unsigned int id;

-- 

Reply via email to