Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 259249
b: refs/heads/master
c: 0fb5759
h: refs/heads/master
i:
  259247: 3d73c2b
v: v3
  • Loading branch information
Sebastian Andrzej Siewior authored and Greg Kroah-Hartman committed Jul 1, 2011
1 parent 1ccf8f0 commit 14be174
Show file tree
Hide file tree
Showing 2 changed files with 34 additions and 24 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 765f5b830e547229bb752e7b232ee83e2b3d49d5
refs/heads/master: 0fb5759952e934dd5ff25fd79f45cb5d69c8d2d1
56 changes: 33 additions & 23 deletions trunk/drivers/usb/gadget/dummy_hcd.c
Original file line number Diff line number Diff line change
Expand Up @@ -887,25 +887,6 @@ static int dummy_udc_start(struct usb_gadget_driver *driver,

dum->devstatus = 0;

INIT_LIST_HEAD (&dum->gadget.ep_list);
for (i = 0; i < DUMMY_ENDPOINTS; i++) {
struct dummy_ep *ep = &dum->ep [i];

if (!ep_name [i])
break;
ep->ep.name = ep_name [i];
ep->ep.ops = &dummy_ep_ops;
list_add_tail (&ep->ep.ep_list, &dum->gadget.ep_list);
ep->halted = ep->wedged = ep->already_seen =
ep->setup_stage = 0;
ep->ep.maxpacket = ~0;
ep->last_io = jiffies;
ep->gadget = &dum->gadget;
ep->desc = NULL;
INIT_LIST_HEAD (&ep->queue);
}

dum->gadget.ep0 = &dum->ep [0].ep;
if (mod_data.is_super_speed)
dum->gadget.speed = driver->speed;
else if (mod_data.is_high_speed)
Expand All @@ -922,8 +903,11 @@ static int dummy_udc_start(struct usb_gadget_driver *driver,
for (i = 0; i < DUMMY_ENDPOINTS; i++)
dum->ep[i].ep.max_streams = 0x10;
dum->ep[0].ep.maxpacket = 9;
} else
} else {
for (i = 0; i < DUMMY_ENDPOINTS; i++)
dum->ep[i].ep.max_streams = 0;
dum->ep[0].ep.maxpacket = 64;
}

if (dum->gadget.speed == USB_SPEED_SUPER)
dum->gadget.is_otg =
Expand All @@ -932,9 +916,6 @@ static int dummy_udc_start(struct usb_gadget_driver *driver,
dum->gadget.is_otg =
(dummy_hcd_to_hcd(dum->hs_hcd)->self.otg_port != 0);

list_del_init (&dum->ep [0].ep.ep_list);
INIT_LIST_HEAD(&dum->fifo_req.queue);

driver->driver.bus = NULL;
dum->driver = driver;
dum->gadget.dev.driver = &driver->driver;
Expand Down Expand Up @@ -984,6 +965,33 @@ dummy_gadget_release (struct device *dev)
return;
}

static void init_dummy_udc_hw(struct dummy *dum)
{
int i;

INIT_LIST_HEAD(&dum->gadget.ep_list);
for (i = 0; i < DUMMY_ENDPOINTS; i++) {
struct dummy_ep *ep = &dum->ep[i];

if (!ep_name[i])
break;
ep->ep.name = ep_name[i];
ep->ep.ops = &dummy_ep_ops;
list_add_tail(&ep->ep.ep_list, &dum->gadget.ep_list);
ep->halted = ep->wedged = ep->already_seen =
ep->setup_stage = 0;
ep->ep.maxpacket = ~0;
ep->last_io = jiffies;
ep->gadget = &dum->gadget;
ep->desc = NULL;
INIT_LIST_HEAD(&ep->queue);
}

dum->gadget.ep0 = &dum->ep[0].ep;
list_del_init(&dum->ep[0].ep.ep_list);
INIT_LIST_HEAD(&dum->fifo_req.queue);
}

static int dummy_udc_probe (struct platform_device *pdev)
{
struct dummy *dum = &the_controller;
Expand All @@ -1002,6 +1010,8 @@ static int dummy_udc_probe (struct platform_device *pdev)
return rc;
}

init_dummy_udc_hw(dum);

rc = usb_add_gadget_udc(&pdev->dev, &dum->gadget);
if (rc < 0)
goto err_udc;
Expand Down

0 comments on commit 14be174

Please sign in to comment.