Hi Mathias,
On 13 December 2016 at 15:49, Baolin Wang <baolin.wang@xxxxxxxxxx> wrote:
Enable the xhci plat runtime PM for parent device to suspend/resume xhci.
Also call pm_runtime_get_noresume() in probe() function in case the parent
device doesn't call suspend/resume callback by runtime PM now.
Signed-off-by: Baolin Wang <baolin.wang@xxxxxxxxxx>
---
Changes since v4:
- No updates.
Changes since v3:
- Fix kbuild error.
Changes since v2:
- Add pm_runtime_get_noresume() in probe() function.
- Add pm_runtime_set_suspended()/pm_runtime_put_noidle() in remove() function.
Changes since v1:
- No updates.
---
Do you have any comments about this patch? Thanks.
drivers/usb/host/xhci-plat.c | 41 ++++++++++++++++++++++++++++++++++++-----
1 file changed, 36 insertions(+), 5 deletions(-)
diff --git a/drivers/usb/host/xhci-plat.c b/drivers/usb/host/xhci-plat.c
index ed56bf9..5805c6a 100644
--- a/drivers/usb/host/xhci-plat.c
+++ b/drivers/usb/host/xhci-plat.c
@@ -246,6 +246,10 @@ static int xhci_plat_probe(struct platform_device *pdev)
if (ret)
goto dealloc_usb2_hcd;
+ pm_runtime_get_noresume(&pdev->dev);
+ pm_runtime_set_active(&pdev->dev);
+ pm_runtime_enable(&pdev->dev);
+
return 0;