Merge "usb: dwc3-msm: LPM capability only when otg/gadget mode is supported"
This commit is contained in:
commit
cb395276d9
@ -548,6 +548,7 @@ struct dwc3_msm {
|
||||
unsigned long inputs;
|
||||
enum dwc3_drd_state drd_state;
|
||||
enum usb_dr_mode dr_mode;
|
||||
bool otg_capable;
|
||||
enum bus_vote default_bus_vote;
|
||||
enum bus_vote override_bus_vote;
|
||||
struct icc_path *icc_paths[3];
|
||||
@ -5345,6 +5346,10 @@ static ssize_t enable_l1_suspend_show(struct device *dev,
|
||||
struct dwc3_msm *mdwc = dev_get_drvdata(dev);
|
||||
struct dwc3 *dwc = platform_get_drvdata(mdwc->dwc3);
|
||||
|
||||
/* gadget lpm capability only when otg/gadget mode is supported */
|
||||
if (!(mdwc->otg_capable) && (dwc->dr_mode == USB_DR_MODE_HOST))
|
||||
return -EPERM;
|
||||
|
||||
return scnprintf(buf, PAGE_SIZE, "%d\n", dwc->gadget->lpm_capable);
|
||||
|
||||
}
|
||||
@ -5358,6 +5363,10 @@ static ssize_t enable_l1_suspend_store(struct device *dev,
|
||||
bool enable_l1;
|
||||
int ret;
|
||||
|
||||
/* gadget lpm capability only when otg/gadget mode is supported */
|
||||
if (!(mdwc->otg_capable) && (dwc->dr_mode == USB_DR_MODE_HOST))
|
||||
return -EPERM;
|
||||
|
||||
ret = kstrtobool(buf, &enable_l1);
|
||||
if (ret < 0) {
|
||||
dev_err(dwc->dev, "%s: can't get entered value: %d\n",
|
||||
@ -6352,6 +6361,7 @@ static int dwc3_msm_probe(struct platform_device *pdev)
|
||||
.allow_userspace_control = true,
|
||||
};
|
||||
|
||||
mdwc->otg_capable = true;
|
||||
role_desc.fwnode = dev_fwnode(&pdev->dev);
|
||||
mdwc->role_switch = usb_role_switch_register(mdwc->dev,
|
||||
&role_desc);
|
||||
|
Loading…
Reference in New Issue
Block a user