Commit 031ba75cadbb29a72dd3008c9d6639b0d7a7e720

Con Kolivas 2012-12-09T03:20:23

Merge pull request #348 from denis2342/ztex libztex: removed an unused struct member (ztex->valid)

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;