Browse Source

Continue encapsulation of JTAG event callback sub-API:

- Move jtag_event_callbacks struct to core.c; it's an implementation detail.
- Move jtag_*_event_callbacks next to the definition of the new function type.


git-svn-id: svn://svn.berlios.de/openocd/trunk@2169 b42882b7-edfa-0310-969c-e2dbd0fdcd60
tags/v0.2.0
zwelch 15 years ago
parent
commit
15974a0eeb
2 changed files with 12 additions and 9 deletions
  1. +7
    -0
      src/jtag/core.c
  2. +5
    -9
      src/jtag/jtag.h

+ 7
- 0
src/jtag/core.c View File

@@ -87,6 +87,13 @@ static int jtag_verify = 1;
static int jtag_nsrst_delay = 0; /* default to no nSRST delay */
static int jtag_ntrst_delay = 0; /* default to no nTRST delay */

typedef struct jtag_event_callback_s
{
jtag_event_handler_t callback;
void* priv;
struct jtag_event_callback_s* next;
} jtag_event_callback_t;

/* callbacks to inform high-level handlers about JTAG state changes */
static jtag_event_callback_t *jtag_event_callbacks;



+ 5
- 9
src/jtag/jtag.h View File

@@ -261,12 +261,11 @@ int jtag_get_srst(void);
*/
typedef int (*jtag_event_handler_t)(enum jtag_event event, void* priv);

typedef struct jtag_event_callback_s
{
jtag_event_handler_t callback;
void* priv;
struct jtag_event_callback_s* next;
} jtag_event_callback_t;
extern int jtag_register_event_callback(jtag_event_handler_t f, void *x);
extern int jtag_unregister_event_callback(jtag_event_handler_t f);

extern int jtag_call_event_callbacks(enum jtag_event event);


/// @returns The current JTAG speed setting.
int jtag_get_speed(void);
@@ -621,9 +620,6 @@ extern int jtag_srst_asserted(int* srst_asserted);
extern void jtag_check_value_mask(scan_field_t *field, u8 *value, u8 *mask);

extern void jtag_sleep(u32 us);
extern int jtag_call_event_callbacks(enum jtag_event event);
extern int jtag_register_event_callback(jtag_event_handler_t f, void *x);
extern int jtag_unregister_event_callback(jtag_event_handler_t f);

/*
* The JTAG subsystem defines a number of error codes,


Loading…
Cancel
Save