mirror of
https://github.com/torvalds/linux.git
synced 2026-06-07 05:55:44 +02:00
i2c: qcom-geni: Suspend and resume the bus during SYSTEM_SLEEP_PM ops
commit57648e8604upstream. Mark bus as suspended during system suspend to block the future transfers. Implement geni_i2c_resume_noirq() to resume the bus. Fixes:37692de5d5("i2c: i2c-qcom-geni: Add bus driver for the Qualcomm GENI I2C controller") Signed-off-by: Roja Rani Yarubandi <rojay@codeaurora.org> Reviewed-by: Stephen Boyd <swboyd@chromium.org> Signed-off-by: Wolfram Sang <wsa@kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
f20eef4d06
commit
eddf2d9f76
|
|
@ -702,6 +702,8 @@ static int __maybe_unused geni_i2c_suspend_noirq(struct device *dev)
|
||||||
{
|
{
|
||||||
struct geni_i2c_dev *gi2c = dev_get_drvdata(dev);
|
struct geni_i2c_dev *gi2c = dev_get_drvdata(dev);
|
||||||
|
|
||||||
|
i2c_mark_adapter_suspended(&gi2c->adap);
|
||||||
|
|
||||||
if (!gi2c->suspended) {
|
if (!gi2c->suspended) {
|
||||||
geni_i2c_runtime_suspend(dev);
|
geni_i2c_runtime_suspend(dev);
|
||||||
pm_runtime_disable(dev);
|
pm_runtime_disable(dev);
|
||||||
|
|
@ -711,8 +713,16 @@ static int __maybe_unused geni_i2c_suspend_noirq(struct device *dev)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int __maybe_unused geni_i2c_resume_noirq(struct device *dev)
|
||||||
|
{
|
||||||
|
struct geni_i2c_dev *gi2c = dev_get_drvdata(dev);
|
||||||
|
|
||||||
|
i2c_mark_adapter_resumed(&gi2c->adap);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
static const struct dev_pm_ops geni_i2c_pm_ops = {
|
static const struct dev_pm_ops geni_i2c_pm_ops = {
|
||||||
SET_NOIRQ_SYSTEM_SLEEP_PM_OPS(geni_i2c_suspend_noirq, NULL)
|
SET_NOIRQ_SYSTEM_SLEEP_PM_OPS(geni_i2c_suspend_noirq, geni_i2c_resume_noirq)
|
||||||
SET_RUNTIME_PM_OPS(geni_i2c_runtime_suspend, geni_i2c_runtime_resume,
|
SET_RUNTIME_PM_OPS(geni_i2c_runtime_suspend, geni_i2c_runtime_resume,
|
||||||
NULL)
|
NULL)
|
||||||
};
|
};
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user