hla: if the idcode callback returns 0, treat as a wildcard
Also document the callback accordingly. Change-Id: I7e8ef481e8b5391b763b7f7187fac023e9fe04df Signed-off-by: Paul Fertser <fercerpav@gmail.com> Reviewed-on: http://openocd.zylin.com/1673 Tested-by: jenkins Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
This commit is contained in:
parent
24099b4c14
commit
ff94e02b7c
|
@ -284,6 +284,7 @@ static int icdi_get_cmd_result(void *handle)
|
|||
|
||||
static int icdi_usb_idcode(void *handle, uint32_t *idcode)
|
||||
{
|
||||
*idcode = 0;
|
||||
return ERROR_OK;
|
||||
}
|
||||
|
||||
|
|
|
@ -84,7 +84,8 @@ int hl_interface_init_target(struct target *t)
|
|||
uint32_t expected = t->tap->expected_ids[ii];
|
||||
|
||||
/* treat "-expected-id 0" as a "don't-warn" wildcard */
|
||||
if (!expected || (t->tap->idcode == expected)) {
|
||||
if (!expected || !t->tap->idcode ||
|
||||
(t->tap->idcode == expected)) {
|
||||
found = 1;
|
||||
break;
|
||||
}
|
||||
|
|
|
@ -62,8 +62,17 @@ struct hl_layout_api_s {
|
|||
uint32_t count, const uint8_t *buffer);
|
||||
/** */
|
||||
int (*write_debug_reg) (void *handle, uint32_t addr, uint32_t val);
|
||||
/** */
|
||||
int (*idcode) (void *fd, uint32_t *idcode);
|
||||
/**
|
||||
* Read the idcode of the target connected to the adapter
|
||||
*
|
||||
* If the adapter doesn't support idcode retrieval, this callback should
|
||||
* store 0 to indicate a wildcard match.
|
||||
*
|
||||
* @param handle A pointer to the device-specific handle
|
||||
* @param idcode Storage for the detected idcode
|
||||
* @returns ERROR_OK on success, or an error code on failure.
|
||||
*/
|
||||
int (*idcode) (void *handle, uint32_t *idcode);
|
||||
/** */
|
||||
enum target_state (*state) (void *fd);
|
||||
};
|
||||
|
|
Loading…
Reference in New Issue