* GNU General Public License for more details. *
* *
* 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. *
+ * along with this program. If not, see <http://www.gnu.org/licenses/>. *
***************************************************************************/
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
#include "usb_common.h"
+#include "log.h"
static bool jtag_usb_match(struct usb_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] && pids[i]; i++) {
if (dev->descriptor.idVendor == vids[i] &&
dev->descriptor.idProduct == pids[i])
- {
return true;
- }
}
return false;
}
usb_find_devices();
struct usb_bus *busses = usb_get_busses();
- for (struct usb_bus *bus = busses; bus; bus = bus->next)
- {
- for (struct usb_device *dev = bus->devices; dev; dev = dev->next)
- {
+ for (struct usb_bus *bus = busses; bus; bus = bus->next) {
+ for (struct usb_device *dev = bus->devices; dev; dev = dev->next) {
if (!jtag_usb_match(dev, vids, pids))
continue;
*out = usb_open(dev);
- if (NULL == *out)
- return -errno;
- return 0;
+ if (NULL == *out) {
+ LOG_ERROR("usb_open() failed with %s", usb_strerror());
+ return ERROR_FAIL;
+ }
+ return ERROR_OK;
}
}
- return -ENODEV;
+ return ERROR_FAIL;
}