/* Given a USB device, ask each driver if it can support it, and attach it to the first driver that says 'yes'  */
static void probe_valid_drivers(struct usb_device *dev)
/* Given a USB device, ask each driver if it can support it, and attach it to the first driver that says 'yes'  */
static void probe_valid_drivers(struct usb_device *dev)
{
	struct eth_device *eth;
	int j;
	for (j = 0; prob_dev[j].probe && prob_dev[j].get_info; j++) {
		if (!prob_dev[j].probe(dev, 0, &usb_eth[usb_max_eth_dev]))
			continue;
		eth = &usb_eth[usb_max_eth_dev].eth_dev;
		if (prob_dev[j].get_info(dev,
			&usb_eth[usb_max_eth_dev],
			eth)) {
			usb_max_eth_dev++;
			eth_register(eth);
			if (eth_write_hwaddr(eth, "usbeth",
					usb_max_eth_dev - 1))
				puts("Warning: failed to set MAC address\n");
			break;
			}
		}
	}