X-Git-Url: https://review.openocd.org/gitweb?p=openocd.git;a=blobdiff_plain;f=src%2Fjtag%2Fdrivers%2Fosbdm.c;h=5db36a122ae943089d54656e57f1f8c9ff102da4;hp=2560db18f248a026fc9af3c4ee8d9526832cee95;hb=bcaf775fc10d88d2c63c06bafada141895318b34;hpb=87668aebf1851c06af2513ab5f27ebb9ebf1ff16 diff --git a/src/jtag/drivers/osbdm.c b/src/jtag/drivers/osbdm.c index 2560db18f2..5db36a122a 100644 --- a/src/jtag/drivers/osbdm.c +++ b/src/jtag/drivers/osbdm.c @@ -13,9 +13,7 @@ * GNU General Public License for more details. * * * * You should have received a copy of the GNU General Public License * - * along with this program; if not, write to the * - * Free Software Foundation, Inc., * - * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * + * along with this program. If not, see . * ***************************************************************************/ #ifdef HAVE_CONFIG_H # include "config.h" @@ -48,7 +46,7 @@ static struct sequence *queue_add_tail(struct queue *queue, int len) } struct sequence *next; - next = (struct sequence *)malloc(sizeof(*next)); + next = malloc(sizeof(*next)); if (next) { next->tms = calloc(1, DIV_ROUND_UP(len, 8)); if (next->tms) { @@ -98,7 +96,7 @@ static void queue_free(struct queue *queue) static struct queue *queue_alloc(void) { - struct queue *queue = (struct queue *)malloc(sizeof(struct queue)); + struct queue *queue = malloc(sizeof(*queue)); if (queue) queue->head = NULL; else @@ -107,7 +105,7 @@ static struct queue *queue_alloc(void) return queue; } -/* Size of usb communnication buffer */ +/* Size of usb communication buffer */ #define OSBDM_USB_BUFSIZE 64 /* Timeout for USB transfer, ms */ #define OSBDM_USB_TIMEOUT 1000 @@ -130,8 +128,8 @@ static struct queue *queue_alloc(void) /* Lists of valid VID/PID pairs */ -static const uint16_t osbdm_vid[] = { 0x15a2, 0x15a2, 0 }; -static const uint16_t osbdm_pid[] = { 0x0042, 0x0058, 0 }; +static const uint16_t osbdm_vid[] = { 0x15a2, 0x15a2, 0x15a2, 0 }; +static const uint16_t osbdm_pid[] = { 0x0042, 0x0058, 0x005e, 0 }; struct osbdm { struct jtag_libusb_device_handle *devh; /* USB handle */ @@ -150,7 +148,7 @@ static int osbdm_send_and_recv(struct osbdm *osbdm) (char *)osbdm->buffer, osbdm->count, OSBDM_USB_TIMEOUT); if (count != osbdm->count) { - LOG_ERROR("OSBDM communnication error: can't write"); + LOG_ERROR("OSBDM communication error: can't write"); return ERROR_FAIL; } @@ -165,22 +163,22 @@ static int osbdm_send_and_recv(struct osbdm *osbdm) */ if (osbdm->count < 0) { - LOG_ERROR("OSBDM communnication error: can't read"); + LOG_ERROR("OSBDM communication error: can't read"); return ERROR_FAIL; } if (osbdm->count < 2) { - LOG_ERROR("OSBDM communnication error: answer too small"); + LOG_ERROR("OSBDM communication error: reply too small"); return ERROR_FAIL; } if (osbdm->count != osbdm->buffer[1]) { - LOG_ERROR("OSBDM communnication error: answer size mismatch"); + LOG_ERROR("OSBDM communication error: reply size mismatch"); return ERROR_FAIL; } if (cmd_saved != osbdm->buffer[0]) { - LOG_ERROR("OSBDM communnication error: answer command mismatch"); + LOG_ERROR("OSBDM communication error: reply command mismatch"); return ERROR_FAIL; } @@ -219,7 +217,7 @@ static int osbdm_swap(struct osbdm *osbdm, void *tms, void *tdi, } if (length <= 0) { - LOG_ERROR("BUG: bit sequence equal or less to 0"); + LOG_ERROR("BUG: bit sequence equal or less than 0"); return ERROR_FAIL; } @@ -271,13 +269,13 @@ static int osbdm_swap(struct osbdm *osbdm, void *tms, void *tdi, /* Extra check */ if (((osbdm->buffer[2] << 8) | osbdm->buffer[3]) != 2 * swap_count) { - LOG_ERROR("OSBDM communnication error: not proper answer to swap command"); + LOG_ERROR("OSBDM communication error: invalid swap command reply"); return ERROR_FAIL; } /* Copy TDO responce */ - uint8_t *buffer = (uint8_t *)osbdm->buffer + 4; + uint8_t *buffer = osbdm->buffer + 4; for (int bit_idx = 0; bit_idx < length; ) { int bit_count = length - bit_idx; if (bit_count > 16) @@ -375,7 +373,7 @@ static int osbdm_flush(struct osbdm *osbdm, struct queue* queue) static int osbdm_open(struct osbdm *osbdm) { (void)memset(osbdm, 0, sizeof(*osbdm)); - if (jtag_libusb_open(osbdm_vid, osbdm_pid, &osbdm->devh) != ERROR_OK) + if (jtag_libusb_open(osbdm_vid, osbdm_pid, NULL, &osbdm->devh) != ERROR_OK) return ERROR_FAIL; if (jtag_libusb_claim_interface(osbdm->devh, 0) != ERROR_OK) @@ -431,7 +429,7 @@ static int osbdm_add_statemove( int skip_first) { int len = 0; - int tms; + int tms = 0; tap_set_end_state(new_state); if (tap_get_end_state() == TAP_RESET) { @@ -678,7 +676,7 @@ static int osbdm_init(void) return ERROR_FAIL; } else { /* Device successfully opened */ - LOG_INFO("OSBDM has opened"); + LOG_DEBUG("OSBDM init"); } /* Perform initialize command */