On Thu, Dec 12, 2013 at 03:38:39PM -0600, Felipe Balbi wrote:
> A bare-minimum PM implementation which will
> server as building block for more complex
> PM implementation in the future.
> 
> At the least will not leave clocks on unnecessarily
> when e.g.  a user write mem to /sys/power/state.
> 
> Signed-off-by: Felipe Balbi <ba...@ti.com>
> ---
>  drivers/usb/dwc3/dwc3-keystone.c | 97 
> ++++++++++++++++++++++++++++++++++++++--
>  1 file changed, 94 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/usb/dwc3/dwc3-keystone.c 
> b/drivers/usb/dwc3/dwc3-keystone.c
> index 1fad161..361437f 100644
> --- a/drivers/usb/dwc3/dwc3-keystone.c
> +++ b/drivers/usb/dwc3/dwc3-keystone.c
> @@ -21,6 +21,7 @@
>  #include <linux/interrupt.h>
>  #include <linux/platform_device.h>
>  #include <linux/dma-mapping.h>
> +#include <linux/pm_runtime.h>
>  #include <linux/io.h>
>  #include <linux/of_platform.h>
>  
> @@ -118,13 +119,23 @@ static int kdwc3_probe(struct platform_device *pdev)
>  
>       kdwc->clk = devm_clk_get(kdwc->dev, "usb");
>  
> -     error = clk_prepare_enable(kdwc->clk);
> +     error = clk_prepare(kdwc->clk);
>       if (error < 0) {
>               dev_dbg(kdwc->dev, "unable to enable usb clock, err %d\n",
>                       error);
>               return error;
>       }
>  
> +     pm_runtime_enable(dev);
> +
> +     error = pm_runtime_get_sync(dev);
> +     if (error < 0) {
> +             dev_dbg(dev, "unable to pm_runtime_get_sync(), err %d\n",
> +                             error);
> +             pm_runtime_put_sync(dev);

I can move this pm_runtime_sync() to error path, will refresh this
patch.

-- 
balbi

Attachment: signature.asc
Description: Digital signature

Reply via email to