aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/dma/dw
diff options
context:
space:
mode:
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>2014-04-15 09:18:41 -0400
committerVinod Koul <vinod.koul@intel.com>2014-05-07 02:14:06 -0400
commit067bd4fdfa17c3bbdac09b401667e967c81eb2b7 (patch)
tree5f07291e776c37cf6b4c59952462e6a9b91cf71a /drivers/dma/dw
parentbaca66f7960f60a7ed5884acf4eb1a76d868c43c (diff)
dmaengine: dw: move PM to suspend_late / resume_early stages
There is no need to use *_noirq version of suspend and resume PM callbacks. The suspend_late / resume_early suit better (it was discussed in [1]) and in future could be used for runtime PM support. [1] http://www.spinics.net/lists/kernel/msg1650974.html Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Diffstat (limited to 'drivers/dma/dw')
-rw-r--r--drivers/dma/dw/platform.c18
1 files changed, 4 insertions, 14 deletions
diff --git a/drivers/dma/dw/platform.c b/drivers/dma/dw/platform.c
index 453822cc4f9d..c5b339af6be5 100644
--- a/drivers/dma/dw/platform.c
+++ b/drivers/dma/dw/platform.c
@@ -256,7 +256,7 @@ MODULE_DEVICE_TABLE(acpi, dw_dma_acpi_id_table);
256 256
257#ifdef CONFIG_PM_SLEEP 257#ifdef CONFIG_PM_SLEEP
258 258
259static int dw_suspend_noirq(struct device *dev) 259static int dw_suspend_late(struct device *dev)
260{ 260{
261 struct platform_device *pdev = to_platform_device(dev); 261 struct platform_device *pdev = to_platform_device(dev);
262 struct dw_dma_chip *chip = platform_get_drvdata(pdev); 262 struct dw_dma_chip *chip = platform_get_drvdata(pdev);
@@ -264,7 +264,7 @@ static int dw_suspend_noirq(struct device *dev)
264 return dw_dma_suspend(chip); 264 return dw_dma_suspend(chip);
265} 265}
266 266
267static int dw_resume_noirq(struct device *dev) 267static int dw_resume_early(struct device *dev)
268{ 268{
269 struct platform_device *pdev = to_platform_device(dev); 269 struct platform_device *pdev = to_platform_device(dev);
270 struct dw_dma_chip *chip = platform_get_drvdata(pdev); 270 struct dw_dma_chip *chip = platform_get_drvdata(pdev);
@@ -272,20 +272,10 @@ static int dw_resume_noirq(struct device *dev)
272 return dw_dma_resume(chip); 272 return dw_dma_resume(chip);
273} 273}
274 274
275#else /* !CONFIG_PM_SLEEP */ 275#endif /* CONFIG_PM_SLEEP */
276
277#define dw_suspend_noirq NULL
278#define dw_resume_noirq NULL
279
280#endif /* !CONFIG_PM_SLEEP */
281 276
282static const struct dev_pm_ops dw_dev_pm_ops = { 277static const struct dev_pm_ops dw_dev_pm_ops = {
283 .suspend_noirq = dw_suspend_noirq, 278 SET_LATE_SYSTEM_SLEEP_PM_OPS(dw_suspend_late, dw_resume_early)
284 .resume_noirq = dw_resume_noirq,
285 .freeze_noirq = dw_suspend_noirq,
286 .thaw_noirq = dw_resume_noirq,
287 .restore_noirq = dw_resume_noirq,
288 .poweroff_noirq = dw_suspend_noirq,
289}; 279};
290 280
291static struct platform_driver dw_driver = { 281static struct platform_driver dw_driver = {