diff options
author | Andy Shevchenko <andriy.shevchenko@linux.intel.com> | 2014-04-15 09:18:41 -0400 |
---|---|---|
committer | Vinod Koul <vinod.koul@intel.com> | 2014-05-07 02:14:06 -0400 |
commit | 067bd4fdfa17c3bbdac09b401667e967c81eb2b7 (patch) | |
tree | 5f07291e776c37cf6b4c59952462e6a9b91cf71a /drivers/dma/dw | |
parent | baca66f7960f60a7ed5884acf4eb1a76d868c43c (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.c | 18 |
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 | ||
259 | static int dw_suspend_noirq(struct device *dev) | 259 | static 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 | ||
267 | static int dw_resume_noirq(struct device *dev) | 267 | static 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 | ||
282 | static const struct dev_pm_ops dw_dev_pm_ops = { | 277 | static 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 | ||
291 | static struct platform_driver dw_driver = { | 281 | static struct platform_driver dw_driver = { |