Re: [PATCH] tty: serial: msm: Add runtime PM and system sleep support
From: Andy Gross
Date: Thu Aug 25 2016 - 00:36:04 EST
On 17 June 2016 at 05:16, Pramod Gurav <pramod.gurav@xxxxxxxxxx> wrote:
<snip>
> @@ -1635,6 +1732,7 @@ static int msm_serial_remove(struct platform_device *pdev)
> struct uart_port *port = platform_get_drvdata(pdev);
>
> uart_remove_one_port(&msm_uart_driver, port);
> + pm_runtime_disable(&pdev->dev);
>
> return 0;
> }
> @@ -1645,12 +1743,67 @@ static const struct of_device_id msm_match_table[] = {
> {}
> };
>
> +#ifdef CONFIG_PM
> +static int msm_serial_runtime_suspend(struct device *dev)
> +{
> + struct uart_port *port = dev_get_drvdata(dev);
> + struct msm_port *msm_port = UART_TO_MSM(port);
> +
> + if (msm_port->is_uartdm)
> + clk_disable(msm_port->pclk);
You don't need to check, just clk_disable it.
> +
> + return 0;
> +}
> +
> +static int msm_serial_runtime_resume(struct device *dev)
> +{
> + struct uart_port *port = dev_get_drvdata(dev);
> + struct msm_port *msm_port = UART_TO_MSM(port);
> + int ret;
> +
> + if (msm_port->is_uartdm) {
> + ret = clk_enable(msm_port->pclk);
Ditto here.
> + if (ret)
> + return ret;
> + }
> +
> + return 0;
> +}
> +#endif
> +
Regards,
Andy