mtd, ubi: set free_count to zero before walking through erase list
[oweals/u-boot.git] / drivers / usb / eth / usb_ether.c
index 63785a9c598195cbb9d9465154622c059ba24ff4..36734e2e51b3f82b1e3daafbc443c73505284e99 100644 (file)
@@ -6,6 +6,7 @@
 
 #include <common.h>
 #include <dm.h>
+#include <errno.h>
 #include <malloc.h>
 #include <usb.h>
 #include <dm/device-internal.h>
@@ -18,7 +19,7 @@
 
 int usb_ether_register(struct udevice *dev, struct ueth_data *ueth, int rxsize)
 {
-       struct usb_device *udev = dev_get_parentdata(dev);
+       struct usb_device *udev = dev_get_parent_priv(dev);
        struct usb_interface_descriptor *iface_desc;
        bool ep_in_found = false, ep_out_found = false;
        struct usb_interface *iface;
@@ -72,7 +73,7 @@ int usb_ether_register(struct udevice *dev, struct ueth_data *ueth, int rxsize)
        }
 
        ueth->rxsize = rxsize;
-       ueth->rxbuf = memalign(rxsize, ARCH_DMA_MINALIGN);
+       ueth->rxbuf = memalign(ARCH_DMA_MINALIGN, rxsize);
        if (!ueth->rxbuf)
                return -ENOMEM;
 
@@ -178,6 +179,13 @@ static const struct usb_eth_prob_dev prob_dev[] = {
                .probe = smsc95xx_eth_probe,
                .get_info = smsc95xx_eth_get_info,
        },
+#endif
+#ifdef CONFIG_USB_ETHER_RTL8152
+       {
+               .before_probe = r8152_eth_before_probe,
+               .probe = r8152_eth_probe,
+               .get_info = r8152_eth_get_info,
+       },
 #endif
        { },            /* END */
 };