]> git.karo-electronics.de Git - karo-tx-uboot.git/blobdiff - common/usb_hub.c
common: miiphyutil: no need to check name of mii_dev
[karo-tx-uboot.git] / common / usb_hub.c
index 415b45c1f139451c685fd450a6477bde34859cab..e1de813adf82225ab4f7204088a698eeb782b0e4 100644 (file)
@@ -31,6 +31,9 @@
 #include <asm/unaligned.h>
 #include <linux/ctype.h>
 #include <asm/byteorder.h>
+#ifdef CONFIG_SANDBOX
+#include <asm/state.h>
+#endif
 #include <asm/unaligned.h>
 #include <dm/root.h>
 
@@ -230,7 +233,7 @@ int legacy_hub_port_reset(struct usb_device *dev, int port,
 #ifdef CONFIG_DM_USB
 int hub_port_reset(struct udevice *dev, int port, unsigned short *portstat)
 {
-       struct usb_device *udev = dev_get_parentdata(dev);
+       struct usb_device *udev = dev_get_parent_priv(dev);
 
        return legacy_hub_port_reset(udev, port, portstat);
 }
@@ -466,7 +469,12 @@ static int usb_hub_configure(struct usb_device *dev)
                unsigned short portstatus, portchange;
                int ret;
                ulong start = get_timer(0);
+               uint delay = CONFIG_SYS_HZ;
 
+#ifdef CONFIG_SANDBOX
+               if (state_get_skip_delays())
+                       delay = 0;
+#endif
 #ifdef CONFIG_DM_USB
                debug("\n\nScanning '%s' port %d\n", dev->dev->name, i + 1);
 #else
@@ -498,7 +506,7 @@ static int usb_hub_configure(struct usb_device *dev)
                        if (portstatus & USB_PORT_STAT_CONNECTION)
                                break;
 
-               } while (get_timer(start) < CONFIG_SYS_HZ * 1);
+               } while (get_timer(start) < delay);
 
                if (ret < 0)
                        continue;
@@ -610,7 +618,7 @@ int usb_hub_probe(struct usb_device *dev, int ifnum)
 #ifdef CONFIG_DM_USB
 int usb_hub_scan(struct udevice *hub)
 {
-       struct usb_device *udev = dev_get_parentdata(hub);
+       struct usb_device *udev = dev_get_parent_priv(hub);
 
        return usb_hub_configure(udev);
 }