From a88871bc6ad13561d9e60fbd9152b8f0c05329b1 Mon Sep 17 00:00:00 2001
From: zwelch <zwelch@b42882b7-edfa-0310-969c-e2dbd0fdcd60>
Date: Mon, 1 Jun 2009 23:01:24 +0000
Subject: [PATCH] Encapsulate JTAG Cable API and interface structure, plan for
 new header file.

git-svn-id: svn://svn.berlios.de/openocd/trunk@1984 b42882b7-edfa-0310-969c-e2dbd0fdcd60
---
 src/jtag/amt_jtagaccel.c | 1 +
 src/jtag/arm-jtag-ew.c   | 1 +
 src/jtag/at91rm9200.c    | 1 +
 src/jtag/bitbang.c       | 1 +
 src/jtag/bitq.c          | 1 +
 src/jtag/dummy.c         | 1 +
 src/jtag/ep93xx.c        | 1 +
 src/jtag/ft2232.c        | 1 +
 src/jtag/gw16012.c       | 1 +
 src/jtag/jlink.c         | 1 +
 src/jtag/jtag.c          | 1 +
 src/jtag/jtag.h          | 8 ++++++++
 src/jtag/parport.c       | 1 +
 src/jtag/presto.c        | 1 +
 src/jtag/rlink/rlink.c   | 1 +
 src/jtag/usbprog.c       | 1 +
 src/jtag/vsllink.c       | 1 +
 src/jtag/zy1000.c        | 1 +
 src/xsvf/xsvf.c          | 1 +
 19 files changed, 26 insertions(+)

diff --git a/src/jtag/amt_jtagaccel.c b/src/jtag/amt_jtagaccel.c
index 0271c0186..df44da004 100644
--- a/src/jtag/amt_jtagaccel.c
+++ b/src/jtag/amt_jtagaccel.c
@@ -21,6 +21,7 @@
 #include "config.h"
 #endif
 
+#define INCLUDE_JTAG_INTERFACE_H
 #include "jtag.h"
 
 
diff --git a/src/jtag/arm-jtag-ew.c b/src/jtag/arm-jtag-ew.c
index 180f40d10..a997956ca 100644
--- a/src/jtag/arm-jtag-ew.c
+++ b/src/jtag/arm-jtag-ew.c
@@ -24,6 +24,7 @@
 #include "config.h"
 #endif
 
+#define INCLUDE_JTAG_INTERFACE_H
 #include "jtag.h"
 #include <usb.h>
 
diff --git a/src/jtag/at91rm9200.c b/src/jtag/at91rm9200.c
index 9f15b1a09..d32497884 100644
--- a/src/jtag/at91rm9200.c
+++ b/src/jtag/at91rm9200.c
@@ -21,6 +21,7 @@
 #include "config.h"
 #endif
 
+#define INCLUDE_JTAG_INTERFACE_H
 #include "jtag.h"
 #include "bitbang.h"
 
diff --git a/src/jtag/bitbang.c b/src/jtag/bitbang.c
index ce4fa19ff..9d50dcc8d 100644
--- a/src/jtag/bitbang.c
+++ b/src/jtag/bitbang.c
@@ -25,6 +25,7 @@
 #endif
 
 #include "bitbang.h"
+#define INCLUDE_JTAG_INTERFACE_H
 #include "jtag.h"
 
 /**
diff --git a/src/jtag/bitq.c b/src/jtag/bitq.c
index eaf7a63e0..40b704b9e 100644
--- a/src/jtag/bitq.c
+++ b/src/jtag/bitq.c
@@ -21,6 +21,7 @@
 #include "config.h"
 #endif
 
+#define INCLUDE_JTAG_INTERFACE_H
 #include "bitq.h"
 
 
diff --git a/src/jtag/dummy.c b/src/jtag/dummy.c
index bbed1d4cb..cc799faa9 100644
--- a/src/jtag/dummy.c
+++ b/src/jtag/dummy.c
@@ -21,6 +21,7 @@
 #include "config.h"
 #endif
 
+#define INCLUDE_JTAG_INTERFACE_H
 #include "jtag.h"
 #include "bitbang.h"
 
diff --git a/src/jtag/ep93xx.c b/src/jtag/ep93xx.c
index 1f4223148..0ac4c2f0a 100644
--- a/src/jtag/ep93xx.c
+++ b/src/jtag/ep93xx.c
@@ -21,6 +21,7 @@
 #include "config.h"
 #endif
 
+#define INCLUDE_JTAG_INTERFACE_H
 #include "jtag.h"
 #include "bitbang.h"
 
diff --git a/src/jtag/ft2232.c b/src/jtag/ft2232.c
index 779923ec1..b4415983f 100644
--- a/src/jtag/ft2232.c
+++ b/src/jtag/ft2232.c
@@ -40,6 +40,7 @@
 #endif
 
 /* project specific includes */
+#define INCLUDE_JTAG_INTERFACE_H
 #include "jtag.h"
 #include "time_support.h"
 
diff --git a/src/jtag/gw16012.c b/src/jtag/gw16012.c
index f5f8b8660..8d59e25dd 100644
--- a/src/jtag/gw16012.c
+++ b/src/jtag/gw16012.c
@@ -21,6 +21,7 @@
 #include "config.h"
 #endif
 
+#define INCLUDE_JTAG_INTERFACE_H
 #include "jtag.h"
 
 
diff --git a/src/jtag/jlink.c b/src/jtag/jlink.c
index 4a800f7a2..accc6b5f9 100644
--- a/src/jtag/jlink.c
+++ b/src/jtag/jlink.c
@@ -25,6 +25,7 @@
 #include "config.h"
 #endif
 
+#define INCLUDE_JTAG_INTERFACE_H
 #include "jtag.h"
 
 #include <usb.h>
diff --git a/src/jtag/jtag.c b/src/jtag/jtag.c
index 303b43416..d0cb43321 100644
--- a/src/jtag/jtag.c
+++ b/src/jtag/jtag.c
@@ -29,6 +29,7 @@
 #endif
 
 #define INCLUDE_JTAG_MINIDRIVER_H
+#define INCLUDE_JTAG_INTERFACE_H
 #include "jtag.h"
 
 #ifdef HAVE_STRINGS_H
diff --git a/src/jtag/jtag.h b/src/jtag/jtag.h
index 81d8748b7..83ce28af9 100644
--- a/src/jtag/jtag.h
+++ b/src/jtag/jtag.h
@@ -105,6 +105,8 @@ typedef struct tap_transition_s
 //extern tap_transition_t tap_transitions[16];    /* describe the TAP state diagram */
 
 
+#ifdef INCLUDE_JTAG_INTERFACE_H
+
 /*-----<Cable Helper API>-------------------------------------------*/
 
 /* The "Cable Helper API" is what the cable drivers can use to help implement
@@ -254,6 +256,8 @@ static inline tap_state_t jtag_debug_state_machine(const void *tms_buf,
 
 /*-----</Cable Helper API>------------------------------------------*/
 
+#endif // INCLUDE_JTAG_INTERFACE_H
+
 
 extern tap_state_t cmd_queue_end_state;         /* finish DR scans in dr_end_state */
 extern tap_state_t cmd_queue_cur_state;         /* current TAP state */
@@ -428,6 +432,8 @@ enum reset_line_mode {
 	LINE_PUSH_PULL  = 0x1,
 };
 
+#ifdef INCLUDE_JTAG_INTERFACE_H
+
 typedef struct jtag_interface_s
 {
 	char* name;
@@ -477,6 +483,8 @@ typedef struct jtag_interface_s
 	int (*srst_asserted)(int* srst_asserted);
 } jtag_interface_t;
 
+#endif // INCLUDE_JTAG_INTERFACE_H
+
 enum jtag_event {
 	JTAG_TRST_ASSERTED
 };
diff --git a/src/jtag/parport.c b/src/jtag/parport.c
index 74c01208f..4bb5e7437 100644
--- a/src/jtag/parport.c
+++ b/src/jtag/parport.c
@@ -24,6 +24,7 @@
 #include "config.h"
 #endif
 
+#define INCLUDE_JTAG_INTERFACE_H
 #include "jtag.h"
 #include "bitbang.h"
 
diff --git a/src/jtag/presto.c b/src/jtag/presto.c
index 334db76e9..56543e6ab 100644
--- a/src/jtag/presto.c
+++ b/src/jtag/presto.c
@@ -25,6 +25,7 @@
 #include "windows.h"
 #endif
 
+#define INCLUDE_JTAG_INTERFACE_H
 #include "jtag.h"
 #include "time_support.h"
 #include "bitq.h"
diff --git a/src/jtag/rlink/rlink.c b/src/jtag/rlink/rlink.c
index 7cebfcd93..adb5f34f5 100644
--- a/src/jtag/rlink/rlink.c
+++ b/src/jtag/rlink/rlink.c
@@ -28,6 +28,7 @@
 #endif
 
 /* project specific includes */
+#define INCLUDE_JTAG_INTERFACE_H
 #include "jtag.h"
 #include "rlink.h"
 #include "st7.h"
diff --git a/src/jtag/usbprog.c b/src/jtag/usbprog.c
index dfde29551..7e843901f 100644
--- a/src/jtag/usbprog.c
+++ b/src/jtag/usbprog.c
@@ -34,6 +34,7 @@
 #include "config.h"
 #endif
 
+#define INCLUDE_JTAG_INTERFACE_H
 #include "jtag.h"
 
 #include <usb.h>
diff --git a/src/jtag/vsllink.c b/src/jtag/vsllink.c
index 79444a9f7..b3a475b04 100644
--- a/src/jtag/vsllink.c
+++ b/src/jtag/vsllink.c
@@ -26,6 +26,7 @@
 #include "config.h"
 #endif
 
+#define INCLUDE_JTAG_INTERFACE_H
 #include "jtag.h"
 
 #include <usb.h>
diff --git a/src/jtag/zy1000.c b/src/jtag/zy1000.c
index 3db893a29..cfe40f4c2 100644
--- a/src/jtag/zy1000.c
+++ b/src/jtag/zy1000.c
@@ -21,6 +21,7 @@
 #endif
 
 #define INCLUDE_JTAG_MINIDRIVER_H
+#define INCLUDE_JTAG_INTERFACE_H
 #include "embeddedice.h"
 #include "bitbang.h"
 
diff --git a/src/xsvf/xsvf.c b/src/xsvf/xsvf.c
index 0ec9f4dca..6d3559118 100644
--- a/src/xsvf/xsvf.c
+++ b/src/xsvf/xsvf.c
@@ -41,6 +41,7 @@
 #include "config.h"
 #endif
 
+#define INCLUDE_JTAG_INTERFACE_H
 #include "xsvf.h"
 #include "jtag.h"
 
-- 
GitLab