Skip to content

Commit 09027e0

Browse files
zhang-liguoWolfram Sang
authored andcommitted
i2c: mediatek: add i2c resume support
mt65xx i2c controller initial setting will be cleared after system suspend, so we should init mt65xx i2c controller again when system resume. Signed-off-by: Liguo Zhang <liguo.zhang@mediatek.com> Signed-off-by: Eddie Huang <eddie.huang@mediatek.com> Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
1 parent 1c4b6c3 commit 09027e0

File tree

1 file changed

+16
-0
lines changed

1 file changed

+16
-0
lines changed

drivers/i2c/busses/i2c-mt65xx.c

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -728,11 +728,27 @@ static int mtk_i2c_remove(struct platform_device *pdev)
728728
return 0;
729729
}
730730

731+
#ifdef CONFIG_PM_SLEEP
732+
static int mtk_i2c_resume(struct device *dev)
733+
{
734+
struct mtk_i2c *i2c = dev_get_drvdata(dev);
735+
736+
mtk_i2c_init_hw(i2c);
737+
738+
return 0;
739+
}
740+
#endif
741+
742+
static const struct dev_pm_ops mtk_i2c_pm = {
743+
SET_SYSTEM_SLEEP_PM_OPS(NULL, mtk_i2c_resume)
744+
};
745+
731746
static struct platform_driver mtk_i2c_driver = {
732747
.probe = mtk_i2c_probe,
733748
.remove = mtk_i2c_remove,
734749
.driver = {
735750
.name = I2C_DRV_NAME,
751+
.pm = &mtk_i2c_pm,
736752
.of_match_table = of_match_ptr(mtk_i2c_of_match),
737753
},
738754
};

0 commit comments

Comments
 (0)