Commit 5bc27ef7 authored by Mikhail Ulyanov's avatar Mikhail Ulyanov Committed by Tejun Heo

sata_rcar: 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 extend  sata_rcar_{suspend|resume}() to {freeze|
thaw}() PM  methods and implement  the  restore() PM method.
Signed-off-by: default avatarMikhail Ulyanov <mikhail.ulyanov@cogentembedded.com>
[Sergei: killed unused variable, changed the order of initializers, modified
copyrights, renamed, modified changelog.]
Signed-off-by: default avatarSergei Shtylyov <sergei.shtylyov@cogentembedded.com>
Signed-off-by: default avatarTejun Heo <tj@kernel.org>
parent 2de5a9c0
...@@ -2,8 +2,8 @@ ...@@ -2,8 +2,8 @@
* Renesas R-Car SATA driver * Renesas R-Car SATA driver
* *
* Author: Vladimir Barinov <source@cogentembedded.com> * Author: Vladimir Barinov <source@cogentembedded.com>
* Copyright (C) 2013 Cogent Embedded, Inc. * Copyright (C) 2013-2015 Cogent Embedded, Inc.
* Copyright (C) 2013 Renesas Solutions Corp. * Copyright (C) 2013-2015 Renesas Solutions Corp.
* *
* This program is free software; you can redistribute it and/or modify it * This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the * under the terms of the GNU General Public License as published by the
...@@ -992,9 +992,30 @@ static int sata_rcar_resume(struct device *dev) ...@@ -992,9 +992,30 @@ static int sata_rcar_resume(struct device *dev)
return 0; return 0;
} }
static int sata_rcar_restore(struct device *dev)
{
struct ata_host *host = dev_get_drvdata(dev);
struct sata_rcar_priv *priv = host->private_data;
clk_prepare_enable(priv->clk);
sata_rcar_setup_port(host);
/* initialize host controller */
sata_rcar_init_controller(host);
ata_host_resume(host);
return 0;
}
static const struct dev_pm_ops sata_rcar_pm_ops = { static const struct dev_pm_ops sata_rcar_pm_ops = {
.suspend = sata_rcar_suspend, .suspend = sata_rcar_suspend,
.resume = sata_rcar_resume, .resume = sata_rcar_resume,
.freeze = sata_rcar_suspend,
.thaw = sata_rcar_resume,
.poweroff = sata_rcar_suspend,
.restore = sata_rcar_restore,
}; };
#endif #endif
......
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