jtag/adapter: move 'usb location' code in adapter.c
[openocd.git] / src / jtag / drivers / libusb_helper.c
index 184882abcc726706ffe473244795c19d81ad9421..b8f1124e3b70ee4a6dd7239c0e152f6c051b155b 100644 (file)
 #ifdef HAVE_CONFIG_H
 #include "config.h"
 #endif
-#include <jtag/drivers/jtag_usb_common.h>
+
+#include <string.h>
+
+#include <helper/log.h>
+#include <jtag/adapter.h>
 #include "libusb_helper.h"
-#include "log.h"
 
 /*
  * comment from libusb:
@@ -31,7 +34,7 @@
 #define MAX_USB_PORTS  7
 
 static struct libusb_context *jtag_libusb_context; /**< Libusb context **/
-static libusb_device **devs; /**< The usb device list **/
+static struct libusb_device **devs; /**< The usb device list **/
 
 static int jtag_libusb_error(int err)
 {
@@ -71,7 +74,7 @@ static bool jtag_libusb_match_ids(struct libusb_device_descriptor *dev_desc,
 }
 
 #ifdef HAVE_LIBUSB_GET_PORT_NUMBERS
-static bool jtag_libusb_location_equal(libusb_device *device)
+static bool jtag_libusb_location_equal(struct libusb_device *device)
 {
        uint8_t port_path[MAX_USB_PORTS];
        uint8_t dev_bus;
@@ -85,10 +88,10 @@ static bool jtag_libusb_location_equal(libusb_device *device)
        }
        dev_bus = libusb_get_bus_number(device);
 
-       return jtag_usb_location_equal(dev_bus, port_path, path_len);
+       return adapter_usb_location_equal(dev_bus, port_path, path_len);
 }
 #else /* HAVE_LIBUSB_GET_PORT_NUMBERS */
-static bool jtag_libusb_location_equal(libusb_device *device)
+static bool jtag_libusb_location_equal(struct libusb_device *device)
 {
        return true;
 }
@@ -96,7 +99,7 @@ static bool jtag_libusb_location_equal(libusb_device *device)
 
 
 /* Returns true if the string descriptor indexed by str_index in device matches string */
-static bool string_descriptor_equal(libusb_device_handle *device, uint8_t str_index,
+static bool string_descriptor_equal(struct libusb_device_handle *device, uint8_t str_index,
                                                                        const char *string)
 {
        int retval;
@@ -123,7 +126,7 @@ static bool string_descriptor_equal(libusb_device_handle *device, uint8_t str_in
        return matched;
 }
 
-static bool jtag_libusb_match_serial(libusb_device_handle *device,
+static bool jtag_libusb_match_serial(struct libusb_device_handle *device,
                struct libusb_device_descriptor *dev_desc, const char *serial,
                adapter_get_alternate_serial_fn adapter_get_alternate_serial)
 {
@@ -138,7 +141,7 @@ static bool jtag_libusb_match_serial(libusb_device_handle *device,
        char *alternate_serial = adapter_get_alternate_serial(device, dev_desc);
 
        /* check possible failures */
-       if (alternate_serial == NULL)
+       if (!alternate_serial)
                return false;
 
        /* then compare and free the alternate serial */
@@ -158,7 +161,7 @@ int jtag_libusb_open(const uint16_t vids[], const uint16_t pids[],
                struct libusb_device_handle **out,
                adapter_get_alternate_serial_fn adapter_get_alternate_serial)
 {
-       int cnt, idx, errCode;
+       int cnt, idx, err_code;
        int retval = ERROR_FAIL;
        bool serial_mismatch = false;
        struct libusb_device_handle *libusb_handle = NULL;
@@ -177,19 +180,19 @@ int jtag_libusb_open(const uint16_t vids[], const uint16_t pids[],
                if (!jtag_libusb_match_ids(&dev_desc, vids, pids))
                        continue;
 
-               if (jtag_usb_get_location() && !jtag_libusb_location_equal(devs[idx]))
+               if (adapter_usb_get_location() && !jtag_libusb_location_equal(devs[idx]))
                        continue;
 
-               errCode = libusb_open(devs[idx], &libusb_handle);
+               err_code = libusb_open(devs[idx], &libusb_handle);
 
-               if (errCode) {
+               if (err_code) {
                        LOG_ERROR("libusb_open() failed with %s",
-                                 libusb_error_name(errCode));
+                                 libusb_error_name(err_code));
                        continue;
                }
 
                /* Device must be open to use libusb_get_string_descriptor_ascii. */
-               if (serial != NULL &&
+               if (serial &&
                                !jtag_libusb_match_serial(libusb_handle, &dev_desc, serial, adapter_get_alternate_serial)) {
                        serial_mismatch = true;
                        libusb_close(libusb_handle);
@@ -222,13 +225,13 @@ void jtag_libusb_close(struct libusb_device_handle *dev)
        libusb_exit(jtag_libusb_context);
 }
 
-int jtag_libusb_control_transfer(struct libusb_device_handle *dev, uint8_t requestType,
-               uint8_t request, uint16_t wValue, uint16_t wIndex, char *bytes,
+int jtag_libusb_control_transfer(struct libusb_device_handle *dev, uint8_t request_type,
+               uint8_t request, uint16_t value, uint16_t index, char *bytes,
                uint16_t size, unsigned int timeout)
 {
        int transferred = 0;
 
-       transferred = libusb_control_transfer(dev, requestType, request, wValue, wIndex,
+       transferred = libusb_control_transfer(dev, request_type, request, value, index,
                                (unsigned char *)bytes, size, timeout);
 
        if (transferred < 0)
@@ -275,28 +278,28 @@ int jtag_libusb_set_configuration(struct libusb_device_handle *devh,
                int configuration)
 {
        struct libusb_device *udev = libusb_get_device(devh);
-       int retCode = -99;
+       int retval = -99;
 
        struct libusb_config_descriptor *config = NULL;
        int current_config = -1;
 
-       retCode = libusb_get_configuration(devh, &current_config);
-       if (retCode != 0)
-               return retCode;
+       retval = libusb_get_configuration(devh, &current_config);
+       if (retval != 0)
+               return retval;
 
-       retCode = libusb_get_config_descriptor(udev, configuration, &config);
-       if (retCode != 0 || config == NULL)
-               return retCode;
+       retval = libusb_get_config_descriptor(udev, configuration, &config);
+       if (retval != 0 || !config)
+               return retval;
 
        /* Only change the configuration if it is not already set to the
           same one. Otherwise this issues a lightweight reset and hangs
           LPC-Link2 with JLink firmware. */
        if (current_config != config->bConfigurationValue)
-               retCode = libusb_set_configuration(devh, config->bConfigurationValue);
+               retval = libusb_set_configuration(devh, config->bConfigurationValue);
 
        libusb_free_config_descriptor(config);
 
-       return retCode;
+       return retval;
 }
 
 int jtag_libusb_choose_interface(struct libusb_device_handle *devh,
@@ -363,3 +366,8 @@ int jtag_libusb_get_pid(struct libusb_device *dev, uint16_t *pid)
 
        return ERROR_FAIL;
 }
+
+int jtag_libusb_handle_events_completed(int *completed)
+{
+       return libusb_handle_events_completed(jtag_libusb_context, completed);
+}

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)