Finish removing '#ifdef HAVE_JTAG_MINIDRIVER_H' from jtag.h:

- Wraps JTAG callback API functions:
  - Outlines jtag_add_callback() and jtag_add_callback4().
  - Adds interface_ prefix to existing in-tree driver implementation.
  - Declare the driver interfaces routines in miniheader.h file.

This patch requires renaming the equivalent macros in out-of-tree
jtag_minidriver.h implementations.


git-svn-id: svn://svn.berlios.de/openocd/trunk@2007 b42882b7-edfa-0310-969c-e2dbd0fdcd60
This commit is contained in:
zwelch 2009-06-02 23:21:18 +00:00
parent a546729609
commit 84d88ef9d7
4 changed files with 21 additions and 11 deletions

View File

@ -590,7 +590,17 @@ void jtag_add_plain_ir_scan(int in_num_fields, const scan_field_t *in_fields, ta
jtag_error=retval;
}
void jtag_add_callback(jtag_callback1_t f, u8 *in)
{
interface_jtag_add_callback(f, in);
}
void jtag_add_callback4(jtag_callback_t f, u8 *in,
jtag_callback_data_t data1, jtag_callback_data_t data2,
jtag_callback_data_t data3)
{
interface_jtag_add_callback4(f, in, data1, data2, data3);
}
int jtag_check_value_inner(u8 *captured, u8 *in_check_value, u8 *in_check_mask, int num_bits);

View File

@ -599,12 +599,8 @@ extern void jtag_add_plain_dr_scan(int num_fields, const scan_field_t* fields, t
* fail, use the jtag_callback_t variant */
typedef void (*jtag_callback1_t)(u8 *in);
#ifndef HAVE_JTAG_MINIDRIVER_H
/* A simpler version of jtag_add_callback4 */
extern void jtag_add_callback(jtag_callback1_t, u8 *in);
#else
/* implemented by minidriver */
#endif
/* This type can store an integer safely by a normal cast on 64 and
@ -650,11 +646,9 @@ typedef int (*jtag_callback_t)(u8 *in, jtag_callback_data_t data1, jtag_callback
* If the execution of the queue fails before the callbacks, then the
* callbacks may or may not be invoked depending on driver implementation.
*/
#ifndef HAVE_JTAG_MINIDRIVER_H
extern void jtag_add_callback4(jtag_callback_t, u8 *in, jtag_callback_data_t data1, jtag_callback_data_t data2, jtag_callback_data_t data3);
#else
/* implemented by minidriver */
#endif
extern void jtag_add_callback4(jtag_callback_t, u8 *in,
jtag_callback_data_t data1, jtag_callback_data_t data2,
jtag_callback_data_t data3);
/* run a TAP_RESET reset. End state is TAP_RESET, regardless

View File

@ -466,7 +466,7 @@ int interface_jtag_add_sleep(u32 us)
}
/* add callback to end of queue */
void jtag_add_callback4(jtag_callback_t callback, u8 *in, jtag_callback_data_t data1, jtag_callback_data_t data2, jtag_callback_data_t data3)
void interface_jtag_add_callback4(jtag_callback_t callback, u8 *in, jtag_callback_data_t data1, jtag_callback_data_t data2, jtag_callback_data_t data3)
{
struct jtag_callback_entry *entry=cmd_queue_alloc(sizeof(struct jtag_callback_entry));
@ -514,7 +514,7 @@ static int jtag_convert_to_callback4(u8 *in, jtag_callback_data_t data1, jtag_ca
return ERROR_OK;
}
void jtag_add_callback(jtag_callback1_t callback, u8 *in)
void interface_jtag_add_callback(jtag_callback1_t callback, u8 *in)
{
jtag_add_callback4(jtag_convert_to_callback4, in, (jtag_callback_data_t)callback, 0, 0);
}

View File

@ -83,6 +83,12 @@ extern void interface_jtag_add_dr_out(jtag_tap_t* tap,
int num_fields, const int* num_bits, const u32* value,
tap_state_t end_state);
extern void interface_jtag_add_callback(jtag_callback1_t f, u8 *in);
extern void interface_jtag_add_callback4(jtag_callback_t f, u8 *in,
jtag_callback_data_t data1, jtag_callback_data_t data2,
jtag_callback_data_t data3);
#endif
extern int interface_jtag_add_ir_scan(