i2c: rcar: add suspend/resume support
Because the adapter will be set up before every transaction anyhow, we just need to mark it as suspended to the I2C core. Signed-off-by: Hiromitsu Yamasaki <hiromitsu.yamasaki.ym@renesas.com> Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com> Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
This commit is contained in:
parent
2088716f90
commit
18569fa89a
|
@ -1017,10 +1017,35 @@ static int rcar_i2c_remove(struct platform_device *pdev)
|
|||
return 0;
|
||||
}
|
||||
|
||||
#ifdef CONFIG_PM_SLEEP
|
||||
static int rcar_i2c_suspend(struct device *dev)
|
||||
{
|
||||
struct rcar_i2c_priv *priv = dev_get_drvdata(dev);
|
||||
|
||||
i2c_mark_adapter_suspended(&priv->adap);
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int rcar_i2c_resume(struct device *dev)
|
||||
{
|
||||
struct rcar_i2c_priv *priv = dev_get_drvdata(dev);
|
||||
|
||||
i2c_mark_adapter_resumed(&priv->adap);
|
||||
return 0;
|
||||
}
|
||||
|
||||
static SIMPLE_DEV_PM_OPS(rcar_i2c_pm_ops, rcar_i2c_suspend, rcar_i2c_resume);
|
||||
|
||||
#define DEV_PM_OPS (&rcar_i2c_pm_ops)
|
||||
#else
|
||||
#define DEV_PM_OPS NULL
|
||||
#endif /* CONFIG_PM_SLEEP */
|
||||
|
||||
static struct platform_driver rcar_i2c_driver = {
|
||||
.driver = {
|
||||
.name = "i2c-rcar",
|
||||
.of_match_table = rcar_i2c_dt_ids,
|
||||
.pm = DEV_PM_OPS,
|
||||
},
|
||||
.probe = rcar_i2c_probe,
|
||||
.remove = rcar_i2c_remove,
|
||||
|
|
Loading…
Reference in New Issue