transport: add transport_is_hla()
authorTomas Vanek <vanekt@fbl.cz>
Thu, 15 Mar 2018 19:02:10 +0000 (20:02 +0100)
committerMatthias Welwarsky <matthias@welwarsky.de>
Tue, 20 Mar 2018 11:48:44 +0000 (11:48 +0000)
and move declaration of all transport_is_xxx() functions to transport.h

Change-Id: Ib229115b5017507b49655bc43b517ab6fb32f7a6
Signed-off-by: Tomas Vanek <vanekt@fbl.cz>
Reviewed-on: http://openocd.zylin.com/4469
Tested-by: jenkins
Reviewed-by: Matthias Welwarsky <matthias@welwarsky.de>
src/jtag/hla/hla_transport.c
src/jtag/jtag.h
src/jtag/swd.h
src/jtag/tcl.c
src/target/cortex_a.c
src/transport/transport.h

index 5a5671db6892fc7b81b0a43100280b4e4814cf82..ddacea36aa25ffec45bc3f2d1c8412523cd0dae1 100644 (file)
@@ -233,3 +233,11 @@ static void hl_constructor(void)
        transport_register(&hl_jtag_transport);
        transport_register(&stlink_swim_transport);
 }
+
+bool transport_is_hla(void)
+{
+       struct transport *t;
+       t = get_current_transport();
+       return t == &hl_swd_transport || t == &hl_jtag_transport
+                  || t == &stlink_swim_transport;
+}
index 7702d6ca81ec2b6d6dc82820cb3ae94256f09792..751facb17308126d9effec11c63cafc9a0f428bc 100644 (file)
@@ -642,8 +642,6 @@ void jtag_poll_set_enabled(bool value);
  * level APIs that are used in inner loops. */
 #include <jtag/minidriver.h>
 
-bool transport_is_jtag(void);
-
 int jim_jtag_newtap(Jim_Interp *interp, int argc, Jim_Obj *const *argv);
 
 #endif /* OPENOCD_JTAG_JTAG_H */
index c888cc07d023b0e1f3fc8a94bddabedb1d52837e..52f41d5d9a2c4eaca0cd51cad30f76355e3016d0 100644 (file)
@@ -211,6 +211,4 @@ struct swd_driver {
 int swd_init_reset(struct command_context *cmd_ctx);
 void swd_add_reset(int req_srst);
 
-bool transport_is_swd(void);
-
 #endif /* OPENOCD_JTAG_SWD_H */
index bc6bbf2041058dc556eec46163eebae30ebbd5fe..e32f0ca078ceb2436568a9b5f699539996fd2c85 100644 (file)
@@ -42,6 +42,7 @@
 #endif
 
 #include <helper/time_support.h>
+#include "transport/transport.h"
 
 /**
  * @file
index 37098afd121b5b6a515d951b78e486d119d79536..74f30cb47899fff31f78bffcb63d86336654e893 100644 (file)
@@ -54,7 +54,7 @@
 #include "target_type.h"
 #include "arm_opcodes.h"
 #include "arm_semihosting.h"
-#include "jtag/swd.h"
+#include "transport/transport.h"
 #include <helper/time_support.h>
 
 static int cortex_a_poll(struct target *target);
index 6c57067a34b371922440645342859ad057f82216..d0a77ddfbd230b0b54b509357093a8641702e0e9 100644 (file)
 #ifndef OPENOCD_TRANSPORT_TRANSPORT_H
 #define OPENOCD_TRANSPORT_TRANSPORT_H
 
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
 #include "helper/command.h"
 
 /**
@@ -90,4 +94,19 @@ int allow_transports(struct command_context *ctx, const char * const *vector);
 
 bool transports_are_declared(void);
 
+bool transport_is_jtag(void);
+bool transport_is_swd(void);
+
+/* FIXME: ZY1000 test build on jenkins is configured with enabled hla adapters
+ * but jtag/hla/hla_*.c files are not compiled. To workaround the problem we assume hla
+ * is broken if BUILD_ZY1000 is set */
+#if BUILD_HLADAPTER && !BUILD_ZY1000
+bool transport_is_hla(void);
+#else
+static inline bool transport_is_hla(void)
+{
+       return false;
+}
+#endif
+
 #endif /* OPENOCD_TRANSPORT_TRANSPORT_H */