diff options
Diffstat (limited to 'drivers/usb/cdns3/core.c')
| -rw-r--r-- | drivers/usb/cdns3/core.c | 16 | 
1 files changed, 12 insertions, 4 deletions
diff --git a/drivers/usb/cdns3/core.c b/drivers/usb/cdns3/core.c index dbcdf3b24b47..33548771a0d3 100644 --- a/drivers/usb/cdns3/core.c +++ b/drivers/usb/cdns3/core.c @@ -14,6 +14,7 @@  #include <linux/dma-mapping.h>  #include <linux/module.h>  #include <linux/kernel.h> +#include <linux/of.h>  #include <linux/platform_device.h>  #include <linux/interrupt.h>  #include <linux/io.h> @@ -522,9 +523,8 @@ int cdns_suspend(struct cdns *cdns)  }  EXPORT_SYMBOL_GPL(cdns_suspend); -int cdns_resume(struct cdns *cdns, u8 set_active) +int cdns_resume(struct cdns *cdns)  { -	struct device *dev = cdns->dev;  	enum usb_role real_role;  	bool role_changed = false;  	int ret = 0; @@ -556,15 +556,23 @@ int cdns_resume(struct cdns *cdns, u8 set_active)  	if (cdns->roles[cdns->role]->resume)  		cdns->roles[cdns->role]->resume(cdns, cdns_power_is_lost(cdns)); +	return 0; +} +EXPORT_SYMBOL_GPL(cdns_resume); + +void cdns_set_active(struct cdns *cdns, u8 set_active) +{ +	struct device *dev = cdns->dev; +  	if (set_active) {  		pm_runtime_disable(dev);  		pm_runtime_set_active(dev);  		pm_runtime_enable(dev);  	} -	return 0; +	return;  } -EXPORT_SYMBOL_GPL(cdns_resume); +EXPORT_SYMBOL_GPL(cdns_set_active);  #endif /* CONFIG_PM_SLEEP */  MODULE_AUTHOR("Peter Chen <[email protected]>");  |