Merge pull request #348 from denis2342/ztex libztex: removed an unused struct member (ztex->valid)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84
diff --git a/libztex.c b/libztex.c
index 2a20468..a34227e 100644
--- a/libztex.c
+++ b/libztex.c
@@ -100,6 +100,19 @@ enum check_result
CHECK_RESCAN,
};
+static bool libztex_firmwareReset(struct libusb_device_handle *hndl, bool enable)
+{
+ uint8_t reset = enable;
+ int cnt = libusb_control_transfer(hndl, 0x40, 0xA0, 0xE600, 0, &reset, 1, 1000);
+ if (cnt < 0)
+ {
+ applog(LOG_ERR, "Ztex reset %d failed: %s", libusb_error_name(cnt), enable);
+ return 1;
+ }
+
+ return 0;
+}
+
static enum check_result libztex_checkDevice(struct libusb_device *dev)
{
FILE *fp = NULL;
@@ -245,14 +258,8 @@ static enum check_result libztex_checkDevice(struct libusb_device *dev)
goto done;
}
- // reset 1
- buf[0] = 1;
- cnt = libusb_control_transfer(hndl, 0x40, 0xA0, 0xE600, 0, buf, 1,1000);
- if (cnt < 0)
- {
- applog(LOG_ERR, "Ztex reset 1 failed: %s", libusb_error_name(cnt));
+ if (libztex_firmwareReset(hndl, true))
goto done;
- }
for (i = 0; i < length; i+= 256) {
// firmware wants data in small chunks like 256 bytes
@@ -265,14 +272,8 @@ static enum check_result libztex_checkDevice(struct libusb_device *dev)
}
}
- // reset 0
- buf[0] = 0;
- err = libusb_control_transfer(hndl, 0x40, 0xA0, 0xE600, 0, buf, 1,1000);
- if (err < 0)
- {
- applog(LOG_ERR, "Ztex reset 0 failed: %s", libusb_error_name(err));
+ if (libztex_firmwareReset(hndl, false))
goto done;
- }
applog(LOG_ERR, "Ztex device: succesfully wrote firmware");
ret = CHECK_RESCAN;
@@ -696,7 +697,6 @@ int libztex_prepare_device(struct libusb_device *dev, struct libztex_device** zt
newdev->usbbus = libusb_get_bus_number(dev);
newdev->usbaddress = libusb_get_device_address(dev);
sprintf(newdev->repr, "ZTEX %s-1", newdev->snString);
- newdev->valid = true;
return 0;
}
@@ -777,7 +777,6 @@ int libztex_scanDevices(struct libztex_dev_list*** devs_p)
ztex->bitFileName = NULL;
ztex->numberOfFpgas = -1;
- ztex->valid = false;
err = libztex_prepare_device(list[usbdevices[i]], &ztex);
if (unlikely(err != 0)) {
diff --git a/libztex.h b/libztex.h
index 51fe30a..ffd056e 100644
--- a/libztex.h
+++ b/libztex.h
@@ -47,7 +47,6 @@ struct libztex_device {
pthread_mutex_t mutex;
struct libztex_device *root;
int16_t fpgaNum;
- bool valid;
struct libusb_device_descriptor descriptor;
libusb_device_handle *hndl;
unsigned char usbbus;