aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/usb/host/sl811-hcd.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/usb/host/sl811-hcd.c')
-rw-r--r--drivers/usb/host/sl811-hcd.c18
1 files changed, 2 insertions, 16 deletions
diff --git a/drivers/usb/host/sl811-hcd.c b/drivers/usb/host/sl811-hcd.c
index 99d43f758ad0..6c3f910bc307 100644
--- a/drivers/usb/host/sl811-hcd.c
+++ b/drivers/usb/host/sl811-hcd.c
@@ -1563,29 +1563,15 @@ static int
1563sl811h_start(struct usb_hcd *hcd) 1563sl811h_start(struct usb_hcd *hcd)
1564{ 1564{
1565 struct sl811 *sl811 = hcd_to_sl811(hcd); 1565 struct sl811 *sl811 = hcd_to_sl811(hcd);
1566 struct usb_device *udev;
1567 1566
1568 /* chip has been reset, VBUS power is off */ 1567 /* chip has been reset, VBUS power is off */
1569
1570 udev = usb_alloc_dev(NULL, &hcd->self, 0);
1571 if (!udev)
1572 return -ENOMEM;
1573
1574 udev->speed = USB_SPEED_FULL;
1575 hcd->state = HC_STATE_RUNNING; 1568 hcd->state = HC_STATE_RUNNING;
1576 1569
1577 if (sl811->board) 1570 if (sl811->board) {
1578 hcd->can_wakeup = sl811->board->can_wakeup; 1571 hcd->can_wakeup = sl811->board->can_wakeup;
1579 1572 hcd->power_budget = sl811->board->power * 2;
1580 if (usb_hcd_register_root_hub(udev, hcd) != 0) {
1581 usb_put_dev(udev);
1582 sl811h_stop(hcd);
1583 return -ENODEV;
1584 } 1573 }
1585 1574
1586 if (sl811->board && sl811->board->power)
1587 hub_set_power_budget(udev, sl811->board->power * 2);
1588
1589 /* enable power and interupts */ 1575 /* enable power and interupts */
1590 port_power(sl811, 1); 1576 port_power(sl811, 1);
1591 1577