aboutsummaryrefslogtreecommitdiff
path: root/src/target/target.c
diff options
context:
space:
mode:
authorSpencer Oliver <spen@spen-soft.co.uk>2012-05-10 22:36:23 +0100
committerSpencer Oliver <spen@spen-soft.co.uk>2012-05-21 16:20:07 +0000
commit1dd462a6d613a48d518e925738b680b124055e61 (patch)
treefc7148509bcfbd3b335d8ff952115966ba770cae /src/target/target.c
parent25b855d2d2eaa68787799c97b654167ddec04f85 (diff)
target: enable TARGET_EVENT_EXAMINE_* events
Change-Id: I33efc0994b7bfe0faa2f4e8457fcc3c8e43d3571 Signed-off-by: Spencer Oliver <spen@spen-soft.co.uk> Reviewed-on: http://openocd.zylin.com/635 Reviewed-by: Freddie Chopin <freddie.chopin@gmail.com> Tested-by: jenkins Reviewed-by: Bill Traynor <wmat@alphatroop.com>
Diffstat (limited to 'src/target/target.c')
-rw-r--r--src/target/target.c18
1 files changed, 16 insertions, 2 deletions
diff --git a/src/target/target.c b/src/target/target.c
index ccaa6e39..7dae8a9f 100644
--- a/src/target/target.c
+++ b/src/target/target.c
@@ -611,9 +611,17 @@ static int jtag_enable_callback(enum jtag_event event, void *priv)
return ERROR_OK;
jtag_unregister_event_callback(jtag_enable_callback, target);
- return target_examine_one(target);
-}
+ target_call_event_callbacks(target, TARGET_EVENT_EXAMINE_START);
+
+ int retval = target_examine_one(target);
+ if (retval != ERROR_OK)
+ return retval;
+
+ target_call_event_callbacks(target, TARGET_EVENT_EXAMINE_END);
+
+ return retval;
+}
/* Targets that correctly implement init + examine, i.e.
* no communication with target during init:
@@ -632,12 +640,18 @@ int target_examine(void)
target);
continue;
}
+
+ target_call_event_callbacks(target, TARGET_EVENT_EXAMINE_START);
+
retval = target_examine_one(target);
if (retval != ERROR_OK)
return retval;
+
+ target_call_event_callbacks(target, TARGET_EVENT_EXAMINE_END);
}
return retval;
}
+
const char *target_type_name(struct target *target)
{
return target->type->name;