From 3a32dff0895b7f85d29d5f58a21f17851f0a220e Mon Sep 17 00:00:00 2001 From: Spencer Oliver Date: Wed, 11 Sep 2013 21:31:50 +0100 Subject: hla: cleanup read/write api This is the first part in moving the adapter specific api back into the driver. The next task is to also move the hla read/write buffer size handling. Change-Id: I86a19144b50b6de18659bfcd05b3729b2cafc051 Signed-off-by: Spencer Oliver Reviewed-on: http://openocd.zylin.com/1621 Tested-by: jenkins Reviewed-by: Andreas Fritiofson --- src/jtag/drivers/stlink_usb.c | 26 ++++++++++++++++++++------ 1 file changed, 20 insertions(+), 6 deletions(-) (limited to 'src/jtag/drivers/stlink_usb.c') diff --git a/src/jtag/drivers/stlink_usb.c b/src/jtag/drivers/stlink_usb.c index cccb9ffa..1dfe9401 100644 --- a/src/jtag/drivers/stlink_usb.c +++ b/src/jtag/drivers/stlink_usb.c @@ -1429,6 +1429,24 @@ static int stlink_usb_write_mem32(void *handle, uint32_t addr, uint16_t len, return stlink_usb_get_rw_status(handle); } +static int stlink_usb_read_mem(void *handle, uint32_t addr, uint32_t size, + uint32_t count, uint8_t *buffer) +{ + if (size == 4) + return stlink_usb_read_mem32(handle, addr, count, buffer); + else + return stlink_usb_read_mem8(handle, addr, count, buffer); +} + +static int stlink_usb_write_mem(void *handle, uint32_t addr, uint32_t size, + uint32_t count, const uint8_t *buffer) +{ + if (size == 4) + return stlink_usb_write_mem32(handle, addr, count, buffer); + else + return stlink_usb_write_mem8(handle, addr, count, buffer); +} + /** */ static int stlink_usb_close(void *fd) { @@ -1632,13 +1650,9 @@ struct hl_layout_api_s stlink_usb_layout_api = { /** */ .write_reg = stlink_usb_write_reg, /** */ - .read_mem8 = stlink_usb_read_mem8, - /** */ - .write_mem8 = stlink_usb_write_mem8, - /** */ - .read_mem32 = stlink_usb_read_mem32, + .read_mem = stlink_usb_read_mem, /** */ - .write_mem32 = stlink_usb_write_mem32, + .write_mem = stlink_usb_write_mem, /** */ .write_debug_reg = stlink_usb_write_debug_reg }; -- cgit v1.2.3-18-g5258