Commit bf44a417 authored by Sergei Shtylyov's avatar Sergei Shtylyov Committed by Vinod Koul

dmaengine: shdmac: extend PM methods

In order to make it possible to restore from hibernation not only in Linux but
also in e.g. U-Boot, we have to use sh_dmae_{suspend|resume}() for the {freeze|
thaw|restore}() PM methods. It's handy to achieve this with SIMPLE_DEV_PM_OPS()
macro; since  that macro doesn't do anything when CONFIG_PM_SLEEP  is undefined,
we don't need to #define sh_dmae_{suspend|resume} NULL anymore but we'll have to
enclose sh_dmae_{suspend|resume}() into the new #ifdef...

Based on original patch by Mikhail Ulyanov <mikhail.ulyanov@cogentembedded.com>.
Signed-off-by: default avatarSergei Shtylyov <sergei.shtylyov@cogentembedded.com>
Signed-off-by: default avatarVinod Koul <vinod.koul@intel.com>
parent 82bf90c6
...@@ -600,7 +600,9 @@ static int sh_dmae_runtime_resume(struct device *dev) ...@@ -600,7 +600,9 @@ static int sh_dmae_runtime_resume(struct device *dev)
return sh_dmae_rst(shdev); return sh_dmae_rst(shdev);
} }
#endif
#ifdef CONFIG_PM_SLEEP
static int sh_dmae_suspend(struct device *dev) static int sh_dmae_suspend(struct device *dev)
{ {
return 0; return 0;
...@@ -632,14 +634,10 @@ static int sh_dmae_resume(struct device *dev) ...@@ -632,14 +634,10 @@ static int sh_dmae_resume(struct device *dev)
return 0; return 0;
} }
#else
#define sh_dmae_suspend NULL
#define sh_dmae_resume NULL
#endif #endif
static const struct dev_pm_ops sh_dmae_pm = { static const struct dev_pm_ops sh_dmae_pm = {
.suspend = sh_dmae_suspend, SET_SYSTEM_SLEEP_PM_OPS(sh_dmae_suspend, sh_dmae_resume)
.resume = sh_dmae_resume,
SET_RUNTIME_PM_OPS(sh_dmae_runtime_suspend, sh_dmae_runtime_resume, SET_RUNTIME_PM_OPS(sh_dmae_runtime_suspend, sh_dmae_runtime_resume,
NULL) NULL)
}; };
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment