* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the *
* Free Software Foundation, Inc., *
- * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. *
***************************************************************************/
#ifdef HAVE_CONFIG_H
{
struct libusb_device_descriptor dev_desc;
- for (unsigned i = 0; vids[i] && pids[i]; i++) {
+ for (unsigned i = 0; vids[i]; i++) {
if (libusb_get_device_descriptor(dev, &dev_desc) == 0) {
if (dev_desc.idVendor == vids[i] &&
dev_desc.idProduct == pids[i])
if (libusb_init(&jtag_libusb_context) < 0)
return -ENODEV;
- libusb_set_debug(jtag_libusb_context, 3);
-
cnt = libusb_get_device_list(jtag_libusb_context, &devs);
for (idx = 0; idx < cnt; idx++) {
/** Free the device list **/
libusb_free_device_list(devs, 1);
- if (errCode < 0)
+ if (errCode) {
+ LOG_ERROR("libusb_open() failed with %s",
+ libusb_error_name(errCode));
return errCode;
+ }
return 0;
}
return -ENODEV;
void jtag_libusb_close(jtag_libusb_device_handle *dev)
{
/* Close device */
- jtag_libusb_close(dev);
+ libusb_close(dev);
libusb_exit(jtag_libusb_context);
}
+int jtag_libusb_control_transfer(jtag_libusb_device_handle *dev, uint8_t requestType,
+ uint8_t request, uint16_t wValue, uint16_t wIndex, char *bytes,
+ uint16_t size, unsigned int timeout)
+{
+ int transferred = 0;
+
+ transferred = libusb_control_transfer(dev, requestType, request, wValue, wIndex,
+ (unsigned char *)bytes, size, timeout);
+
+ if (transferred < 0)
+ transferred = 0;
+
+ return transferred;
+}
+
int jtag_libusb_bulk_write(jtag_libusb_device_handle *dev, int ep, char *bytes,
- int size, int timeout)
+ int size, int timeout)
{
int transferred = 0;
}
int jtag_libusb_bulk_read(jtag_libusb_device_handle *dev, int ep, char *bytes,
- int size, int timeout)
+ int size, int timeout)
{
int transferred = 0;
}
int jtag_libusb_set_configuration(jtag_libusb_device_handle *devh,
- int configuration)
+ int configuration)
{
struct jtag_libusb_device *udev = jtag_libusb_get_device(devh);
int retCode = -99;
}
int jtag_libusb_get_endpoints(struct jtag_libusb_device *udev,
- unsigned int *usb_read_ep,
- unsigned int *usb_write_ep)
+ unsigned int *usb_read_ep,
+ unsigned int *usb_write_ep)
{
const struct libusb_interface *inter;
const struct libusb_interface_descriptor *interdesc;