* 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
static bool jtag_libusb_match(struct jtag_libusb_device *dev,
const uint16_t vids[], const uint16_t pids[])
{
- for (unsigned i = 0; vids[i] && pids[i]; i++) {
+ for (unsigned i = 0; vids[i]; i++) {
if (dev->descriptor.idVendor == vids[i] &&
dev->descriptor.idProduct == pids[i]) {
return true;
usb_close(dev);
}
+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 = usb_control_msg(dev, requestType, request, wValue, wIndex,
+ 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)
{
return 0;
}
+
+int jtag_libusb_get_pid(struct jtag_libusb_device *dev, uint16_t *pid)
+{
+ struct libusb_device_descriptor dev_desc;
+
+ if (libusb_get_device_descriptor(dev, &dev_desc) == 0) {
+ *pid = dev_desc.idProduct;
+
+ return 0;
+ }
+
+ return -ENODEV;
+}