|
@@ -1274,7 +1274,9 @@ static int pxa2xx_spi_suspend(struct device *dev)
|
|
if (status != 0)
|
|
if (status != 0)
|
|
return status;
|
|
return status;
|
|
write_SSCR0(0, drv_data->ioaddr);
|
|
write_SSCR0(0, drv_data->ioaddr);
|
|
- clk_disable_unprepare(ssp->clk);
|
|
|
|
|
|
+
|
|
|
|
+ if (!pm_runtime_suspended(dev))
|
|
|
|
+ clk_disable_unprepare(ssp->clk);
|
|
|
|
|
|
return 0;
|
|
return 0;
|
|
}
|
|
}
|
|
@@ -1288,7 +1290,8 @@ static int pxa2xx_spi_resume(struct device *dev)
|
|
pxa2xx_spi_dma_resume(drv_data);
|
|
pxa2xx_spi_dma_resume(drv_data);
|
|
|
|
|
|
/* Enable the SSP clock */
|
|
/* Enable the SSP clock */
|
|
- clk_prepare_enable(ssp->clk);
|
|
|
|
|
|
+ if (!pm_runtime_suspended(dev))
|
|
|
|
+ clk_prepare_enable(ssp->clk);
|
|
|
|
|
|
/* Restore LPSS private register bits */
|
|
/* Restore LPSS private register bits */
|
|
lpss_ssp_setup(drv_data);
|
|
lpss_ssp_setup(drv_data);
|