This is an automated email from Gerrit. Paul Fertser ([email protected]) just uploaded a new patch set to Gerrit, which you can find at http://openocd.zylin.com/1673
-- gerrit commit bae4552e810559b5575b3c69c624a0a585c0cee4 Author: Paul Fertser <[email protected]> Date: Sun Sep 29 19:12:17 2013 +0400 hla: if the idcode callback returns 0, treat as a wildcard Also document the callback accordingly. Change-Id: I7e8ef481e8b5391b763b7f7187fac023e9fe04df Signed-off-by: Paul Fertser <[email protected]> diff --git a/src/jtag/drivers/ti_icdi_usb.c b/src/jtag/drivers/ti_icdi_usb.c index 0d7d943..c9b8435 100644 --- a/src/jtag/drivers/ti_icdi_usb.c +++ b/src/jtag/drivers/ti_icdi_usb.c @@ -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; } diff --git a/src/jtag/hla/hla_interface.c b/src/jtag/hla/hla_interface.c index 0176a48..00e4549 100644 --- a/src/jtag/hla/hla_interface.c +++ b/src/jtag/hla/hla_interface.c @@ -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; } diff --git a/src/jtag/hla/hla_layout.h b/src/jtag/hla/hla_layout.h index d7b5d93..ccc3a00 100644 --- a/src/jtag/hla/hla_layout.h +++ b/src/jtag/hla/hla_layout.h @@ -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); }; -- ------------------------------------------------------------------------------ October Webinars: Code for Performance Free Intel webinars can help you accelerate application performance. Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from the latest Intel processors and coprocessors. See abstracts and register > http://pubads.g.doubleclick.net/gampad/clk?id=60133471&iu=/4140/ostg.clktrk _______________________________________________ OpenOCD-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/openocd-devel
