Message ID | 20161118051917.5312-2-mugunthanvnm@ti.com |
---|---|
State | Accepted |
Delegated to: | Simon Glass |
Headers | show |
On Thu, Nov 17, 2016 at 11:19 PM, Mugunthan V N <mugunthanvnm@ti.com> wrote: > Convert usb ether gadget to adopt usb driver model > > Signed-off-by: Mugunthan V N <mugunthanvnm@ti.com> Acked-by: Joe Hershberger <joe.hershberger@ni.com>
On 29 November 2016 at 16:55, Joe Hershberger <joe.hershberger@gmail.com> wrote: > On Thu, Nov 17, 2016 at 11:19 PM, Mugunthan V N <mugunthanvnm@ti.com> wrote: >> Convert usb ether gadget to adopt usb driver model >> >> Signed-off-by: Mugunthan V N <mugunthanvnm@ti.com> > > Acked-by: Joe Hershberger <joe.hershberger@ni.com> Applied to u-boot-dm, thanks!
On 12/03/2016 05:26 AM, Simon Glass wrote: > On 29 November 2016 at 16:55, Joe Hershberger <joe.hershberger@gmail.com> wrote: >> On Thu, Nov 17, 2016 at 11:19 PM, Mugunthan V N <mugunthanvnm@ti.com> wrote: >>> Convert usb ether gadget to adopt usb driver model >>> >>> Signed-off-by: Mugunthan V N <mugunthanvnm@ti.com> >> >> Acked-by: Joe Hershberger <joe.hershberger@ni.com> > > Applied to u-boot-dm, thanks! > Did you ever get an ACK on this from the USB gadget maintainer ?
On Sat, Dec 03, 2016 at 01:51:23PM +0100, Marek Vasut wrote: > On 12/03/2016 05:26 AM, Simon Glass wrote: > > On 29 November 2016 at 16:55, Joe Hershberger <joe.hershberger@gmail.com> wrote: > >> On Thu, Nov 17, 2016 at 11:19 PM, Mugunthan V N <mugunthanvnm@ti.com> wrote: > >>> Convert usb ether gadget to adopt usb driver model > >>> > >>> Signed-off-by: Mugunthan V N <mugunthanvnm@ti.com> > >> > >> Acked-by: Joe Hershberger <joe.hershberger@ni.com> > > > > Applied to u-boot-dm, thanks! > > > Did you ever get an ACK on this from the USB gadget maintainer ? Well, v2 was posted back in May, so at some point this falls into the category of "has been reviewed by someone other than author, in public, move forward not stall time!".
On 12/03/2016 07:27 PM, Tom Rini wrote: > On Sat, Dec 03, 2016 at 01:51:23PM +0100, Marek Vasut wrote: >> On 12/03/2016 05:26 AM, Simon Glass wrote: >>> On 29 November 2016 at 16:55, Joe Hershberger <joe.hershberger@gmail.com> wrote: >>>> On Thu, Nov 17, 2016 at 11:19 PM, Mugunthan V N <mugunthanvnm@ti.com> wrote: >>>>> Convert usb ether gadget to adopt usb driver model >>>>> >>>>> Signed-off-by: Mugunthan V N <mugunthanvnm@ti.com> >>>> >>>> Acked-by: Joe Hershberger <joe.hershberger@ni.com> >>> >>> Applied to u-boot-dm, thanks! >>> >> Did you ever get an ACK on this from the USB gadget maintainer ? > > Well, v2 was posted back in May, so at some point this falls into the > category of "has been reviewed by someone other than author, in public, > move forward not stall time!". > It might be a good start to CC the maintainer ;-) I poked him on jabber ...
diff --git a/drivers/usb/gadget/ether.c b/drivers/usb/gadget/ether.c index 497b981129..9bc61186cf 100644 --- a/drivers/usb/gadget/ether.c +++ b/drivers/usb/gadget/ether.c @@ -24,6 +24,10 @@ #include "gadget_chips.h" #include "rndis.h" +#include <dm.h> +#include <dm/uclass-internal.h> +#include <dm/device-internal.h> + #define USB_NET_NAME "usb_ether" #define atomic_read @@ -101,6 +105,9 @@ struct eth_dev { struct usb_gadget *gadget; struct usb_request *req; /* for control responses */ struct usb_request *stat_req; /* for cdc & rndis status */ +#ifdef CONFIG_DM_USB + struct udevice *usb_udev; +#endif u8 config; struct usb_ep *in_ep, *out_ep, *status_ep; @@ -2303,6 +2310,24 @@ fail: /*-------------------------------------------------------------------------*/ +#ifdef CONFIG_DM_USB +int dm_usb_init(struct eth_dev *e_dev) +{ + struct udevice *dev = NULL; + int ret; + + ret = uclass_first_device(UCLASS_USB_DEV_GENERIC, &dev); + if (!dev || ret) { + error("No USB device found\n"); + return -ENODEV; + } + + e_dev->usb_udev = dev; + + return ret; +} +#endif + static int usb_eth_init(struct eth_device *netdev, bd_t *bd) { struct eth_dev *dev = &l_ethdev; @@ -2315,7 +2340,14 @@ static int usb_eth_init(struct eth_device *netdev, bd_t *bd) goto fail; } +#ifdef CONFIG_DM_USB + if (dm_usb_init(dev)) { + error("USB ether not found\n"); + return -ENODEV; + } +#else board_usb_init(0, USB_INIT_DEVICE); +#endif /* Configure default mac-addresses for the USB ethernet device */ #ifdef CONFIG_USBNET_DEV_ADDR @@ -2497,7 +2529,11 @@ void usb_eth_halt(struct eth_device *netdev) } usb_gadget_unregister_driver(ð_driver); +#ifdef CONFIG_DM_USB + device_remove(dev->usb_udev); +#else board_usb_cleanup(0, USB_INIT_DEVICE); +#endif } static struct usb_gadget_driver eth_driver = {