diff mbox

[U-Boot,resend,v3,1/6] drivers: usb: gadget: ether: adopt to usb driver model

Message ID 20161118051917.5312-2-mugunthanvnm@ti.com
State Accepted
Delegated to: Simon Glass
Headers show

Commit Message

Mugunthan V N Nov. 18, 2016, 5:19 a.m. UTC
Convert usb ether gadget to adopt usb driver model

Signed-off-by: Mugunthan V N <mugunthanvnm@ti.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
---
 drivers/usb/gadget/ether.c | 36 ++++++++++++++++++++++++++++++++++++
 1 file changed, 36 insertions(+)

Comments

Joe Hershberger Nov. 29, 2016, 11:55 p.m. UTC | #1
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>
Simon Glass Dec. 3, 2016, 4:26 a.m. UTC | #2
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!
Marek Vasut Dec. 3, 2016, 12:51 p.m. UTC | #3
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 ?
Tom Rini Dec. 3, 2016, 6:27 p.m. UTC | #4
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!".
Marek Vasut Dec. 3, 2016, 6:44 p.m. UTC | #5
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 mbox

Patch

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(&eth_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 = {