diff options
Diffstat (limited to 'drivers/usb/dwc3/host.c')
| -rw-r--r-- | drivers/usb/dwc3/host.c | 14 | 
1 files changed, 14 insertions, 0 deletions
diff --git a/drivers/usb/dwc3/host.c b/drivers/usb/dwc3/host.c index 32db328cc769..dcb8ca084598 100644 --- a/drivers/usb/dwc3/host.c +++ b/drivers/usb/dwc3/host.c @@ -16,12 +16,14 @@   */  #include <linux/platform_device.h> +#include <linux/usb/xhci_pdriver.h>  #include "core.h"  int dwc3_host_init(struct dwc3 *dwc)  {  	struct platform_device	*xhci; +	struct usb_xhci_pdata	pdata;  	int			ret;  	xhci = platform_device_alloc("xhci-hcd", PLATFORM_DEVID_AUTO); @@ -46,6 +48,18 @@ int dwc3_host_init(struct dwc3 *dwc)  		goto err1;  	} +	memset(&pdata, 0, sizeof(pdata)); + +#ifdef CONFIG_DWC3_HOST_USB3_LPM_ENABLE +	pdata.usb3_lpm_capable = 1; +#endif + +	ret = platform_device_add_data(xhci, &pdata, sizeof(pdata)); +	if (ret) { +		dev_err(dwc->dev, "couldn't add platform data to xHCI device\n"); +		goto err1; +	} +  	ret = platform_device_add(xhci);  	if (ret) {  		dev_err(dwc->dev, "failed to register xHCI device\n");  |