]> git.gag.com Git - fw/openocd/blobdiff - src/jtag/drivers/ft232r.c
jtag_libusb_bulk_read|write: return error code instead of size
[fw/openocd] / src / jtag / drivers / ft232r.c
index e16bcdcbfeea7a761f283ca6662b09eb7098133f..c20367fc00f8360f3de1bc8485f668174d3b5681 100644 (file)
@@ -132,11 +132,11 @@ static int ft232r_send_recv(void)
                        bytes_to_write = rxfifo_free;
 
                if (bytes_to_write) {
-                       int n = jtag_libusb_bulk_write(adapter, IN_EP,
-                               (char *) ft232r_output + total_written,
-                               bytes_to_write, 1000);
+                       int n;
 
-                       if (n == 0) {
+                       if (jtag_libusb_bulk_write(adapter, IN_EP,
+                                                  (char *) ft232r_output + total_written,
+                                                  bytes_to_write, 1000, &n) != ERROR_OK) {
                                LOG_ERROR("usb bulk write failed");
                                return ERROR_JTAG_DEVICE_ERROR;
                        }
@@ -147,12 +147,10 @@ static int ft232r_send_recv(void)
 
                /* Read */
                uint8_t reply[64];
+               int n;
 
-               int n = jtag_libusb_bulk_read(adapter, OUT_EP,
-                       (char *) reply,
-                       sizeof(reply), 1000);
-
-               if (n == 0) {
+               if (jtag_libusb_bulk_read(adapter, OUT_EP, (char *) reply,
+                                         sizeof(reply), 1000, &n) != ERROR_OK) {
                        LOG_ERROR("usb bulk read failed");
                        return ERROR_JTAG_DEVICE_ERROR;
                }
@@ -442,7 +440,7 @@ COMMAND_HANDLER(ft232r_handle_jtag_nums_command)
        if (tdo_gpio < 0)
                return ERROR_COMMAND_SYNTAX_ERROR;
 
-       command_print(CMD_CTX,
+       command_print(CMD,
                        "FT232R nums: TCK = %d %s, TMS = %d %s, TDI = %d %s, TDO = %d %s",
                        tck_gpio, ft232r_bit_number_to_name(tck_gpio),
                        tms_gpio, ft232r_bit_number_to_name(tms_gpio),
@@ -462,7 +460,7 @@ COMMAND_HANDLER(ft232r_handle_tck_num_command)
        if (tck_gpio < 0)
                return ERROR_COMMAND_SYNTAX_ERROR;
 
-       command_print(CMD_CTX,
+       command_print(CMD,
                        "FT232R num: TCK = %d %s", tck_gpio, ft232r_bit_number_to_name(tck_gpio));
 
        return ERROR_OK;
@@ -478,7 +476,7 @@ COMMAND_HANDLER(ft232r_handle_tms_num_command)
        if (tms_gpio < 0)
                return ERROR_COMMAND_SYNTAX_ERROR;
 
-       command_print(CMD_CTX,
+       command_print(CMD,
                        "FT232R num: TMS = %d %s", tms_gpio, ft232r_bit_number_to_name(tms_gpio));
 
        return ERROR_OK;
@@ -494,7 +492,7 @@ COMMAND_HANDLER(ft232r_handle_tdo_num_command)
        if (tdo_gpio < 0)
                return ERROR_COMMAND_SYNTAX_ERROR;
 
-       command_print(CMD_CTX,
+       command_print(CMD,
                        "FT232R num: TDO = %d %s", tdo_gpio, ft232r_bit_number_to_name(tdo_gpio));
 
        return ERROR_OK;
@@ -510,7 +508,7 @@ COMMAND_HANDLER(ft232r_handle_tdi_num_command)
        if (tdi_gpio < 0)
                return ERROR_COMMAND_SYNTAX_ERROR;
 
-       command_print(CMD_CTX,
+       command_print(CMD,
                        "FT232R num: TDI = %d %s", tdi_gpio, ft232r_bit_number_to_name(tdi_gpio));
 
        return ERROR_OK;
@@ -526,7 +524,7 @@ COMMAND_HANDLER(ft232r_handle_trst_num_command)
        if (ntrst_gpio < 0)
                return ERROR_COMMAND_SYNTAX_ERROR;
 
-       command_print(CMD_CTX,
+       command_print(CMD,
                        "FT232R num: TRST = %d %s", ntrst_gpio, ft232r_bit_number_to_name(ntrst_gpio));
 
        return ERROR_OK;
@@ -542,7 +540,7 @@ COMMAND_HANDLER(ft232r_handle_srst_num_command)
        if (nsysrst_gpio < 0)
                return ERROR_COMMAND_SYNTAX_ERROR;
 
-       command_print(CMD_CTX,
+       command_print(CMD,
                        "FT232R num: SRST = %d %s", nsysrst_gpio, ft232r_bit_number_to_name(nsysrst_gpio));
 
        return ERROR_OK;
@@ -555,7 +553,7 @@ COMMAND_HANDLER(ft232r_handle_restore_serial_command)
        else if (CMD_ARGC != 0)
                return ERROR_COMMAND_SYNTAX_ERROR;
 
-       command_print(CMD_CTX,
+       command_print(CMD,
                        "FT232R restore serial: 0x%04X (%s)",
                        ft232r_restore_bitmode, ft232r_restore_bitmode == 0xFFFF ? "disabled" : "enabled");
 
@@ -675,7 +673,7 @@ static int syncbb_execute_tms(struct jtag_command *cmd)
        unsigned num_bits = cmd->cmd.tms->num_bits;
        const uint8_t *bits = cmd->cmd.tms->bits;
 
-       DEBUG_JTAG_IO("TMS: %d bits", num_bits);
+       LOG_DEBUG_IO("TMS: %d bits", num_bits);
 
        int tms = 0;
        for (unsigned i = 0; i < num_bits; i++) {
@@ -914,17 +912,21 @@ static int syncbb_execute_queue(void)
        return retval;
 }
 
-struct jtag_interface ft232r_interface = {
-       .name = "ft232r",
-       .commands = ft232r_command_handlers,
-       .transports = jtag_only,
+static struct jtag_interface ft232r_interface = {
        .supported = DEBUG_CAP_TMS_SEQ,
-
        .execute_queue = syncbb_execute_queue,
+};
+
+struct adapter_driver ft232r_adapter_driver = {
+       .name = "ft232r",
+       .transports = jtag_only,
+       .commands = ft232r_command_handlers,
 
-       .speed = ft232r_speed,
        .init = ft232r_init,
        .quit = ft232r_quit,
-       .speed_div = ft232r_speed_div,
+       .speed = ft232r_speed,
        .khz = ft232r_khz,
+       .speed_div = ft232r_speed_div,
+
+       .jtag_ops = &ft232r_interface,
 };