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 -- To unsubscribe from this list: send the line "unsubscribe linux-arm-msm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html