aboutsummaryrefslogtreecommitdiff
path: root/cmd/usb.c
diff options
context:
space:
mode:
authorTom Rini <trini@konsulko.com>2016-04-10 19:55:08 -0400
committerTom Rini <trini@konsulko.com>2016-04-10 19:55:08 -0400
commit7e8f270292ebacb25f366181f2022c819e5c7586 (patch)
tree841cf474e29eedf6c173da8d1901d3b24d06ecbd /cmd/usb.c
parente16e137c377c8b96d8d91263d0b6d8470169f841 (diff)
parent192eab9357473e09218e0a4448b220d691d9d886 (diff)
Merge branch 'master' of git://git.denx.de/u-boot-usb
Diffstat (limited to 'cmd/usb.c')
-rw-r--r--cmd/usb.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/cmd/usb.c b/cmd/usb.c
index 9ed5dc61ea..f1a7debdf3 100644
--- a/cmd/usb.c
+++ b/cmd/usb.c
@@ -15,6 +15,7 @@
#include <command.h>
#include <console.h>
#include <dm.h>
+#include <dm/uclass-internal.h>
#include <memalign.h>
#include <asm/byteorder.h>
#include <asm/unaligned.h>
@@ -442,12 +443,15 @@ void usb_show_tree(void)
#ifdef CONFIG_DM_USB
struct udevice *bus;
- for (uclass_first_device(UCLASS_USB, &bus);
+ for (uclass_find_first_device(UCLASS_USB, &bus);
bus;
- uclass_next_device(&bus)) {
+ uclass_find_next_device(&bus)) {
struct usb_device *udev;
struct udevice *dev;
+ if (!device_active(bus))
+ continue;
+
device_find_first_child(bus, &dev);
if (dev && device_active(dev)) {
udev = dev_get_parent_priv(dev);
@@ -541,7 +545,7 @@ static int do_usbboot(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
static int do_usb_stop_keyboard(int force)
{
-#ifdef CONFIG_USB_KEYBOARD
+#if !defined CONFIG_DM_USB && defined CONFIG_USB_KEYBOARD
if (usb_kbd_deregister(force) != 0) {
printf("USB not stopped: usbkbd still using USB\n");
return 1;