From: Jisheng Zhang <jszhang@marvell.com> To: <mathias.nyman@intel.com>, <gregkh@linuxfoundation.org> Cc: <linux-usb@vger.kernel.org>, <linux-kernel@vger.kernel.org>, <linux-arm-kernel@lists.infradead.org>, <yendapally.reddy@broadcom.com>, Jisheng Zhang <jszhang@marvell.com> Subject: [RESEND PATCH v2 1/7] usb: xhci: plat: Fix suspend/resume when the optional clk exists Date: Tue, 26 Apr 2016 20:57:34 +0800 [thread overview] Message-ID: <1461675460-2295-2-git-send-email-jszhang@marvell.com> (raw) In-Reply-To: <1461675460-2295-1-git-send-email-jszhang@marvell.com> Commit 4718c1774051 ("usb: host: xhci-plat: add clock support") adds optional clk support, but it forgets to prepare/disable and enable/unprepare the clk in the resume/suspend path. This path fixes this issue by adding missing clk related calls. Signed-off-by: Jisheng Zhang <jszhang@marvell.com> Fixes: 4718c1774051 ("usb: host: xhci-plat: add clock support") --- drivers/usb/host/xhci-plat.c | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/drivers/usb/host/xhci-plat.c b/drivers/usb/host/xhci-plat.c index 474b5fa..8cb46cb 100644 --- a/drivers/usb/host/xhci-plat.c +++ b/drivers/usb/host/xhci-plat.c @@ -295,6 +295,7 @@ static int xhci_plat_remove(struct platform_device *dev) #ifdef CONFIG_PM_SLEEP static int xhci_plat_suspend(struct device *dev) { + int ret; struct usb_hcd *hcd = dev_get_drvdata(dev); struct xhci_hcd *xhci = hcd_to_xhci(hcd); @@ -306,14 +307,25 @@ static int xhci_plat_suspend(struct device *dev) * reconsider this when xhci_plat_suspend enlarges its scope, e.g., * also applies to runtime suspend. */ - return xhci_suspend(xhci, device_may_wakeup(dev)); + ret = xhci_suspend(xhci, device_may_wakeup(dev)); + if (ret) + return ret; + + clk_disable_unprepare(xhci->clk); + + return ret; } static int xhci_plat_resume(struct device *dev) { + int ret; struct usb_hcd *hcd = dev_get_drvdata(dev); struct xhci_hcd *xhci = hcd_to_xhci(hcd); + ret = clk_prepare_enable(xhci->clk); + if (ret) + return ret; + return xhci_resume(xhci, 0); } -- 2.8.1
WARNING: multiple messages have this Message-ID (diff)
From: jszhang@marvell.com (Jisheng Zhang) To: linux-arm-kernel@lists.infradead.org Subject: [RESEND PATCH v2 1/7] usb: xhci: plat: Fix suspend/resume when the optional clk exists Date: Tue, 26 Apr 2016 20:57:34 +0800 [thread overview] Message-ID: <1461675460-2295-2-git-send-email-jszhang@marvell.com> (raw) In-Reply-To: <1461675460-2295-1-git-send-email-jszhang@marvell.com> Commit 4718c1774051 ("usb: host: xhci-plat: add clock support") adds optional clk support, but it forgets to prepare/disable and enable/unprepare the clk in the resume/suspend path. This path fixes this issue by adding missing clk related calls. Signed-off-by: Jisheng Zhang <jszhang@marvell.com> Fixes: 4718c1774051 ("usb: host: xhci-plat: add clock support") --- drivers/usb/host/xhci-plat.c | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/drivers/usb/host/xhci-plat.c b/drivers/usb/host/xhci-plat.c index 474b5fa..8cb46cb 100644 --- a/drivers/usb/host/xhci-plat.c +++ b/drivers/usb/host/xhci-plat.c @@ -295,6 +295,7 @@ static int xhci_plat_remove(struct platform_device *dev) #ifdef CONFIG_PM_SLEEP static int xhci_plat_suspend(struct device *dev) { + int ret; struct usb_hcd *hcd = dev_get_drvdata(dev); struct xhci_hcd *xhci = hcd_to_xhci(hcd); @@ -306,14 +307,25 @@ static int xhci_plat_suspend(struct device *dev) * reconsider this when xhci_plat_suspend enlarges its scope, e.g., * also applies to runtime suspend. */ - return xhci_suspend(xhci, device_may_wakeup(dev)); + ret = xhci_suspend(xhci, device_may_wakeup(dev)); + if (ret) + return ret; + + clk_disable_unprepare(xhci->clk); + + return ret; } static int xhci_plat_resume(struct device *dev) { + int ret; struct usb_hcd *hcd = dev_get_drvdata(dev); struct xhci_hcd *xhci = hcd_to_xhci(hcd); + ret = clk_prepare_enable(xhci->clk); + if (ret) + return ret; + return xhci_resume(xhci, 0); } -- 2.8.1
next prev parent reply other threads:[~2016-04-26 13:02 UTC|newest] Thread overview: 58+ messages / expand[flat|nested] mbox.gz Atom feed top 2016-04-26 12:57 [RESEND PATCH v2 0/7] usb: xhci-plat: support generic PHY and vbus regulator Jisheng Zhang 2016-04-26 12:57 ` Jisheng Zhang 2016-04-26 12:57 ` Jisheng Zhang [this message] 2016-04-26 12:57 ` [RESEND PATCH v2 1/7] usb: xhci: plat: Fix suspend/resume when the optional clk exists Jisheng Zhang 2016-04-27 5:25 ` Felipe Balbi 2016-04-27 5:25 ` Felipe Balbi 2016-04-27 5:46 ` Jisheng Zhang 2016-04-27 5:46 ` Jisheng Zhang 2016-04-26 12:57 ` [RESEND PATCH v2 2/7] usb: xhci: plat: attach the usb_phy to the correct hcd Jisheng Zhang 2016-04-26 12:57 ` Jisheng Zhang 2016-04-27 5:29 ` Felipe Balbi 2016-04-27 5:29 ` Felipe Balbi 2016-04-27 5:59 ` Jisheng Zhang 2016-04-27 5:59 ` Jisheng Zhang 2016-04-27 6:19 ` Felipe Balbi 2016-04-27 6:19 ` Felipe Balbi 2016-04-26 12:57 ` [RESEND PATCH v2 3/7] usb: xhci: plat: Fix suspend/resume when the optional usb_phy exists Jisheng Zhang 2016-04-26 12:57 ` Jisheng Zhang 2016-04-27 5:30 ` Felipe Balbi 2016-04-27 5:30 ` Felipe Balbi 2016-04-26 12:57 ` [RESEND PATCH v2 4/7] usb: xhci: plat: sort the headers in alphabetic order Jisheng Zhang 2016-04-26 12:57 ` Jisheng Zhang 2016-04-26 12:57 ` [RESEND PATCH v2 5/7] usb: xhci: plat: Remove checks for optional clock in error/remove path Jisheng Zhang 2016-04-26 12:57 ` Jisheng Zhang 2016-04-27 5:33 ` Felipe Balbi 2016-04-27 5:33 ` Felipe Balbi 2016-04-27 6:33 ` Jisheng Zhang 2016-04-27 6:33 ` Jisheng Zhang 2016-04-27 7:19 ` Felipe Balbi 2016-04-27 7:19 ` Felipe Balbi 2016-04-26 12:57 ` [RESEND PATCH v2 6/7] usb: xhci: plat: add generic PHY support Jisheng Zhang 2016-04-26 12:57 ` Jisheng Zhang 2016-04-27 5:35 ` Felipe Balbi 2016-04-27 5:35 ` Felipe Balbi 2016-04-27 6:46 ` Jisheng Zhang 2016-04-27 6:46 ` Jisheng Zhang 2016-04-27 7:21 ` Felipe Balbi 2016-04-27 7:21 ` Felipe Balbi 2016-04-27 7:57 ` Heikki Krogerus 2016-04-27 7:57 ` Heikki Krogerus 2016-04-27 9:34 ` Felipe Balbi 2016-04-27 9:34 ` Felipe Balbi 2016-04-26 12:57 ` [RESEND PATCH v2 7/7] usb: xhci: plat: add vbus regulator control Jisheng Zhang 2016-04-26 12:57 ` Jisheng Zhang 2016-04-27 5:37 ` Felipe Balbi 2016-04-27 5:37 ` Felipe Balbi 2016-04-27 9:57 ` Mark Brown 2016-04-27 9:57 ` Mark Brown 2016-04-27 10:25 ` Jisheng Zhang 2016-04-27 10:25 ` Jisheng Zhang 2016-04-27 13:24 ` Mark Brown 2016-04-27 13:24 ` Mark Brown 2016-04-27 10:25 ` Felipe Balbi 2016-04-27 10:25 ` Felipe Balbi 2016-04-27 10:35 ` Mark Brown 2016-04-27 10:35 ` Mark Brown 2016-04-27 10:38 ` Felipe Balbi 2016-04-27 10:38 ` Felipe Balbi
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=1461675460-2295-2-git-send-email-jszhang@marvell.com \ --to=jszhang@marvell.com \ --cc=gregkh@linuxfoundation.org \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-usb@vger.kernel.org \ --cc=mathias.nyman@intel.com \ --cc=yendapally.reddy@broadcom.com \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.