aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--pickit2_spi.c28
1 files changed, 13 insertions, 15 deletions
diff --git a/pickit2_spi.c b/pickit2_spi.c
index b4789180..ad1ab8b7 100644
--- a/pickit2_spi.c
+++ b/pickit2_spi.c
@@ -89,20 +89,25 @@ struct pickit2_spi_data {
#define SCR_VDD_OFF 0xFE
#define SCR_VDD_ON 0xFF
+static int pickit2_interrupt_transfer(libusb_device_handle *handle, unsigned char endpoint, unsigned char *data)
+{
+ int transferred;
+ return libusb_interrupt_transfer(handle, endpoint, data, CMD_LENGTH, &transferred, DFLT_TIMEOUT);
+}
+
static int pickit2_get_firmware_version(libusb_device_handle *pickit2_handle)
{
int ret;
uint8_t command[CMD_LENGTH] = {CMD_GET_VERSION, CMD_END_OF_BUFFER};
- int transferred;
- ret = libusb_interrupt_transfer(pickit2_handle, ENDPOINT_OUT, command, CMD_LENGTH, &transferred, DFLT_TIMEOUT);
+ ret = pickit2_interrupt_transfer(pickit2_handle, ENDPOINT_OUT, command);
if (ret != 0) {
msg_perr("Command Get Firmware Version failed!\n");
return 1;
}
- ret = libusb_interrupt_transfer(pickit2_handle, ENDPOINT_IN, command, CMD_LENGTH, &transferred, DFLT_TIMEOUT);
+ ret = pickit2_interrupt_transfer(pickit2_handle, ENDPOINT_IN, command);
if (ret != 0) {
msg_perr("Command Get Firmware Version failed!\n");
@@ -148,8 +153,7 @@ static int pickit2_set_spi_voltage(libusb_device_handle *pickit2_handle, int mil
voltage_selector * 13,
CMD_END_OF_BUFFER
};
- int transferred;
- int ret = libusb_interrupt_transfer(pickit2_handle, ENDPOINT_OUT, command, CMD_LENGTH, &transferred, DFLT_TIMEOUT);
+ int ret = pickit2_interrupt_transfer(pickit2_handle, ENDPOINT_OUT, command);
if (ret != 0) {
msg_perr("Command Set Voltage failed!\n");
@@ -184,8 +188,7 @@ static int pickit2_set_spi_speed(libusb_device_handle *pickit2_handle, unsigned
CMD_END_OF_BUFFER
};
- int transferred;
- int ret = libusb_interrupt_transfer(pickit2_handle, ENDPOINT_OUT, command, CMD_LENGTH, &transferred, DFLT_TIMEOUT);
+ int ret = pickit2_interrupt_transfer(pickit2_handle, ENDPOINT_OUT, command);
if (ret != 0) {
msg_perr("Command Set SPI Speed failed!\n");
@@ -255,9 +258,7 @@ static int pickit2_spi_send_command(const struct flashctx *flash, unsigned int w
buf[i++] = CMD_UPLOAD_DATA;
buf[i++] = CMD_END_OF_BUFFER;
- int transferred;
- int ret = libusb_interrupt_transfer(pickit2_data->pickit2_handle,
- ENDPOINT_OUT, buf, CMD_LENGTH, &transferred, DFLT_TIMEOUT);
+ int ret = pickit2_interrupt_transfer(pickit2_data->pickit2_handle, ENDPOINT_OUT, buf);
if (ret != 0) {
msg_perr("Send SPI failed!\n");
@@ -357,9 +358,7 @@ static int pickit2_shutdown(void *data)
CMD_END_OF_BUFFER
};
- int transferred;
- int ret = libusb_interrupt_transfer(pickit2_data->pickit2_handle,
- ENDPOINT_OUT, command, CMD_LENGTH, &transferred, DFLT_TIMEOUT);
+ int ret = pickit2_interrupt_transfer(pickit2_data->pickit2_handle, ENDPOINT_OUT, command);
if (ret != 0) {
msg_perr("Command Shutdown failed!\n");
@@ -492,8 +491,7 @@ static int pickit2_spi_init(void)
/* Perform basic setup.
* Configure pin directions and logic levels, turn Vdd on, turn busy LED on and clear buffers. */
- int transferred;
- if (libusb_interrupt_transfer(pickit2_handle, ENDPOINT_OUT, buf, CMD_LENGTH, &transferred, DFLT_TIMEOUT) != 0) {
+ if (pickit2_interrupt_transfer(pickit2_handle, ENDPOINT_OUT, buf) != 0) {
msg_perr("Command Setup failed!\n");
goto init_err_cleanup_exit;
}