diff --git a/src/jtag/adapter.h b/src/jtag/adapter.h index d76ea5e32..6e957cbdc 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 3261e6079..941d9f3b4 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 004a9fd4f..43d655c4c 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 #include -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 2d286136a..57d2d5929 100644 --- a/src/target/adi_v5_swd.c +++ b/src/target/adi_v5_swd.c @@ -39,6 +39,7 @@ #include #include +#include #include #include @@ -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 532f192b7..07b695623 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 3b5d83ff4..d44dd7f08 100644 --- a/src/target/stm8.c +++ b/src/target/stm8.c @@ -13,6 +13,7 @@ #include #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;