
Dear Lucas Stach,
Allows to initialize more than one USB controller at once.
Signed-off-by: Lucas Stach dev@lynxeye.de
[...]
int usb_stop(void) {
- int res = 0;
int i;
if (usb_started) { asynch_allowed = 1; usb_started = 0; usb_hub_reset();
res = usb_lowlevel_stop(0);
for (i = 0; i < CONFIG_USB_MAX_CONTROLLER_COUNT; i++)
usb_lowlevel_stop(i);
You might want to track if any failed and return it or emit warning.
Otherwise:
Reviewed-by: Marek Vasut marex@denx.de
}
- return res;
- return 0;
}
/* @@ -751,7 +781,6 @@ struct usb_device *usb_get_dev_index(int index) return &usb_dev[index]; }
/* returns a pointer of a new device structure or NULL, if
- no device struct is available
*/ @@ -947,29 +976,4 @@ int usb_new_device(struct usb_device *dev) return 0; }
-/* build device Tree */ -static void usb_scan_devices(void) -{
- int i;
- struct usb_device *dev;
- /* first make all devices unknown */
- for (i = 0; i < USB_MAX_DEVICE; i++) {
memset(&usb_dev[i], 0, sizeof(struct usb_device));
usb_dev[i].devnum = -1;
- }
- dev_index = 0;
- /* device 0 is always present (root hub, so let it analyze) */
- dev = usb_alloc_new_device(ctrl);
- if (usb_new_device(dev))
printf("No USB Device found\n");
- else
printf("%d USB Device(s) found\n", dev_index);
- /* insert "driver" if possible */
-#ifdef CONFIG_USB_KEYBOARD
- drv_usb_kbd_init();
-#endif
- USB_PRINTF("scan end\n");
-}
/* EOF */ diff --git a/common/usb_storage.c b/common/usb_storage.c index 4aeed82..950451e 100644 --- a/common/usb_storage.c +++ b/common/usb_storage.c @@ -244,7 +244,7 @@ int usb_stor_scan(int mode) struct usb_device *dev;
if (mode == 1)
printf(" scanning bus for storage devices... ");
printf(" scanning usb for storage devices... ");
usb_disable_asynch(1); /* asynch transfer not allowed */
diff --git a/drivers/usb/eth/usb_ether.c b/drivers/usb/eth/usb_ether.c index 6cad6c8..f361e8b 100644 --- a/drivers/usb/eth/usb_ether.c +++ b/drivers/usb/eth/usb_ether.c @@ -123,7 +123,7 @@ int usb_host_eth_scan(int mode)
if (mode == 1)
printf(" scanning bus for ethernet devices... ");
printf(" scanning usb for ethernet devices... ");
old_async = usb_disable_asynch(1); /* asynch transfer not allowed */