diff options
| -rw-r--r-- | drivers/usb/gadget/udc/dummy_hcd.c | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/drivers/usb/gadget/udc/dummy_hcd.c b/drivers/usb/gadget/udc/dummy_hcd.c index b1e21b3be6e1..d515ec31afe4 100644 --- a/drivers/usb/gadget/udc/dummy_hcd.c +++ b/drivers/usb/gadget/udc/dummy_hcd.c | |||
| @@ -1036,7 +1036,12 @@ static int dummy_udc_probe(struct platform_device *pdev) | |||
| 1036 | memzero_explicit(&dum->gadget, sizeof(struct usb_gadget)); | 1036 | memzero_explicit(&dum->gadget, sizeof(struct usb_gadget)); |
| 1037 | dum->gadget.name = gadget_name; | 1037 | dum->gadget.name = gadget_name; |
| 1038 | dum->gadget.ops = &dummy_ops; | 1038 | dum->gadget.ops = &dummy_ops; |
| 1039 | dum->gadget.max_speed = USB_SPEED_SUPER; | 1039 | if (mod_data.is_super_speed) |
| 1040 | dum->gadget.max_speed = USB_SPEED_SUPER; | ||
| 1041 | else if (mod_data.is_high_speed) | ||
| 1042 | dum->gadget.max_speed = USB_SPEED_HIGH; | ||
| 1043 | else | ||
| 1044 | dum->gadget.max_speed = USB_SPEED_FULL; | ||
| 1040 | 1045 | ||
| 1041 | dum->gadget.dev.parent = &pdev->dev; | 1046 | dum->gadget.dev.parent = &pdev->dev; |
| 1042 | init_dummy_udc_hw(dum); | 1047 | init_dummy_udc_hw(dum); |
| @@ -2560,8 +2565,6 @@ static struct hc_driver dummy_hcd = { | |||
| 2560 | .product_desc = "Dummy host controller", | 2565 | .product_desc = "Dummy host controller", |
| 2561 | .hcd_priv_size = sizeof(struct dummy_hcd), | 2566 | .hcd_priv_size = sizeof(struct dummy_hcd), |
| 2562 | 2567 | ||
| 2563 | .flags = HCD_USB3 | HCD_SHARED, | ||
| 2564 | |||
| 2565 | .reset = dummy_setup, | 2568 | .reset = dummy_setup, |
| 2566 | .start = dummy_start, | 2569 | .start = dummy_start, |
| 2567 | .stop = dummy_stop, | 2570 | .stop = dummy_stop, |
| @@ -2590,8 +2593,12 @@ static int dummy_hcd_probe(struct platform_device *pdev) | |||
| 2590 | dev_info(&pdev->dev, "%s, driver " DRIVER_VERSION "\n", driver_desc); | 2593 | dev_info(&pdev->dev, "%s, driver " DRIVER_VERSION "\n", driver_desc); |
| 2591 | dum = *((void **)dev_get_platdata(&pdev->dev)); | 2594 | dum = *((void **)dev_get_platdata(&pdev->dev)); |
| 2592 | 2595 | ||
| 2593 | if (!mod_data.is_super_speed) | 2596 | if (mod_data.is_super_speed) |
| 2597 | dummy_hcd.flags = HCD_USB3 | HCD_SHARED; | ||
| 2598 | else if (mod_data.is_high_speed) | ||
| 2594 | dummy_hcd.flags = HCD_USB2; | 2599 | dummy_hcd.flags = HCD_USB2; |
| 2600 | else | ||
| 2601 | dummy_hcd.flags = HCD_USB11; | ||
| 2595 | hs_hcd = usb_create_hcd(&dummy_hcd, &pdev->dev, dev_name(&pdev->dev)); | 2602 | hs_hcd = usb_create_hcd(&dummy_hcd, &pdev->dev, dev_name(&pdev->dev)); |
| 2596 | if (!hs_hcd) | 2603 | if (!hs_hcd) |
| 2597 | return -ENOMEM; | 2604 | return -ENOMEM; |
