mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-12 13:55:32 +00:00
i2c: at91: add support for system PM
Signed-off-by: Wenyou Yang <wenyou.yang@atmel.com> Acked-by: Ludovic Desroches <ludovic.desroches@atmel.com> Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
This commit is contained in:
parent
d64a818859
commit
36765293cd
1 changed files with 26 additions and 0 deletions
|
@ -861,7 +861,33 @@ static int at91_twi_runtime_resume(struct device *dev)
|
|||
return clk_prepare_enable(twi_dev->clk);
|
||||
}
|
||||
|
||||
static int at91_twi_suspend_noirq(struct device *dev)
|
||||
{
|
||||
if (!pm_runtime_status_suspended(dev))
|
||||
at91_twi_runtime_suspend(dev);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int at91_twi_resume_noirq(struct device *dev)
|
||||
{
|
||||
int ret;
|
||||
|
||||
if (!pm_runtime_status_suspended(dev)) {
|
||||
ret = at91_twi_runtime_resume(dev);
|
||||
if (ret)
|
||||
return ret;
|
||||
}
|
||||
|
||||
pm_runtime_mark_last_busy(dev);
|
||||
pm_request_autosuspend(dev);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static const struct dev_pm_ops at91_twi_pm = {
|
||||
.suspend_noirq = at91_twi_suspend_noirq,
|
||||
.resume_noirq = at91_twi_resume_noirq,
|
||||
.runtime_suspend = at91_twi_runtime_suspend,
|
||||
.runtime_resume = at91_twi_runtime_resume,
|
||||
};
|
||||
|
|
Loading…
Reference in a new issue