usb: gadget: ether: Perform board initialization from ethernet gadget driver
authorKishon Vijay Abraham I <kishon@ti.com>
Wed, 19 Aug 2015 08:19:46 +0000 (13:49 +0530)
committerMarek Vasut <marex@denx.de>
Wed, 19 Aug 2015 20:30:31 +0000 (22:30 +0200)
Ethernet gadget driver can be used both by both SPL and u-boot. Since
usb_eth_init() is the entry point for ethernet gadget driver, perform
board initialization there. Also perform the cleanup in usb_eth_halt.

Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
Acked-by: Marek Vasut <marex@denx.de>
Reviewed-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Lukasz Majewski <l.majewski@samsung.com>
drivers/usb/gadget/ether.c

index 141ff8be59ab3c361ba79b2365d501e20fb13a54..850ba029ab7df5ec5752ca43bcb3b9c46d6186dd 100644 (file)
@@ -15,6 +15,7 @@
 #include <linux/usb/cdc.h>
 #include <linux/usb/gadget.h>
 #include <net.h>
+#include <usb.h>
 #include <malloc.h>
 #include <linux/ctype.h>
 
@@ -2312,6 +2313,8 @@ static int usb_eth_init(struct eth_device *netdev, bd_t *bd)
                goto fail;
        }
 
+       board_usb_init(0, USB_INIT_DEVICE);
+
        /* Configure default mac-addresses for the USB ethernet device */
 #ifdef CONFIG_USBNET_DEV_ADDR
        strlcpy(dev_addr, CONFIG_USBNET_DEV_ADDR, sizeof(dev_addr));
@@ -2492,6 +2495,7 @@ void usb_eth_halt(struct eth_device *netdev)
        }
 
        usb_gadget_unregister_driver(&eth_driver);
+       board_usb_cleanup(0, USB_INIT_DEVICE);
 }
 
 static struct usb_gadget_driver eth_driver = {