vsllink: Port to libusb-1.0 API
[openocd.git] / src / jtag / drivers / versaloon / versaloon.c
index cf14b847018531d7026230a2a9d0e23f44e37545..04d73cf38ec4a15d7525633f49e91bc1b0f0feae 100644 (file)
@@ -23,6 +23,7 @@
 
 #include <stdio.h>
 #include <string.h>
+#include <libusb.h>
 
 #include "versaloon_include.h"
 #include "versaloon.h"
@@ -36,7 +37,7 @@ uint16_t versaloon_buf_size;
 struct versaloon_pending_t versaloon_pending[VERSALOON_MAX_PENDING_NUMBER];
 uint16_t versaloon_pending_idx;
 
-usb_dev_handle *versaloon_usb_device_handle;
+libusb_device_handle *versaloon_usb_device_handle;
 static uint32_t versaloon_usb_to = VERSALOON_TIMEOUT;
 
 RESULT versaloon_init(void);
@@ -196,6 +197,7 @@ RESULT versaloon_add_pending(uint8_t type, uint8_t cmd, uint16_t actual_szie,
 RESULT versaloon_send_command(uint16_t out_len, uint16_t *inlen)
 {
        int ret;
+       int transferred;
 
 #if PARAM_CHECK
        if (NULL == versaloon_buf) {
@@ -208,25 +210,24 @@ RESULT versaloon_send_command(uint16_t out_len, uint16_t *inlen)
        }
 #endif
 
-       ret = usb_bulk_write(versaloon_usb_device_handle,
-                       versaloon_interface.usb_setting.ep_out, (char *)versaloon_buf,
-                       out_len, versaloon_usb_to);
-       if (ret != out_len) {
-               LOG_ERROR(ERRMSG_FAILURE_OPERATION_ERRSTRING, "send usb data",
-                       usb_strerror());
+       ret = libusb_bulk_transfer(versaloon_usb_device_handle,
+                       versaloon_interface.usb_setting.ep_out,
+                       versaloon_buf, out_len, &transferred, versaloon_usb_to);
+       if (0 != ret || transferred != out_len) {
+               LOG_ERROR(ERRMSG_FAILURE_OPERATION, "send usb data");
                return ERRCODE_FAILURE_OPERATION;
        }
 
        if (inlen != NULL) {
-               ret = usb_bulk_read(versaloon_usb_device_handle,
-                               versaloon_interface.usb_setting.ep_in, (char *)versaloon_buf,
-                               versaloon_interface.usb_setting.buf_size, versaloon_usb_to);
-               if (ret > 0) {
-                       *inlen = (uint16_t)ret;
+               ret = libusb_bulk_transfer(versaloon_usb_device_handle,
+                       versaloon_interface.usb_setting.ep_in,
+                       versaloon_buf, versaloon_interface.usb_setting.buf_size,
+                       &transferred, versaloon_usb_to);
+               if (0 == ret) {
+                       *inlen = (uint16_t)transferred;
                        return ERROR_OK;
                } else {
-                       LOG_ERROR(ERRMSG_FAILURE_OPERATION_ERRSTRING, "receive usb data",
-                               usb_strerror());
+                       LOG_ERROR(ERRMSG_FAILURE_OPERATION, "receive usb data");
                        return ERROR_FAIL;
                }
        } else

Linking to existing account procedure

If you already have an account and want to add another login method you MUST first sign in with your existing account and then change URL to read https://review.openocd.org/login/?link to get to this page again but this time it'll work for linking. Thank you.

SSH host keys fingerprints

1024 SHA256:YKx8b7u5ZWdcbp7/4AeXNaqElP49m6QrwfXaqQGJAOk gerrit-code-review@openocd.zylin.com (DSA)
384 SHA256:jHIbSQa4REvwCFG4cq5LBlBLxmxSqelQPem/EXIrxjk gerrit-code-review@openocd.org (ECDSA)
521 SHA256:UAOPYkU9Fjtcao0Ul/Rrlnj/OsQvt+pgdYSZ4jOYdgs gerrit-code-review@openocd.org (ECDSA)
256 SHA256:A13M5QlnozFOvTllybRZH6vm7iSt0XLxbA48yfc2yfY gerrit-code-review@openocd.org (ECDSA)
256 SHA256:spYMBqEYoAOtK7yZBrcwE8ZpYt6b68Cfh9yEVetvbXg gerrit-code-review@openocd.org (ED25519)
+--[ED25519 256]--+
|=..              |
|+o..   .         |
|*.o   . .        |
|+B . . .         |
|Bo. = o S        |
|Oo.+ + =         |
|oB=.* = . o      |
| =+=.+   + E     |
|. .=o   . o      |
+----[SHA256]-----+
2048 SHA256:0Onrb7/PHjpo6iVZ7xQX2riKN83FJ3KGU0TvI0TaFG4 gerrit-code-review@openocd.zylin.com (RSA)