Skip to content

Commit 317c204

Browse files
kuanhsunchengbroonie
authored andcommitted
spi: spi-mtk-nor: initialize spi controller after resume
After system resumes, the registers of nor controller are initialized with default values. The nor controller will not function properly. To handle both issues above, we add mtk_nor_init() in mtk_nor_resume after pm_runtime_force_resume(). Fixes: 3bfd910 ("spi: spi-mtk-nor: Add power management support") Signed-off-by: Allen-KH Cheng <allen-kh.cheng@mediatek.com> Reviewed-by: Rex-BC Chen <rex-bc.chen@mediatek.com> Link: https://lore.kernel.org/r/20220412115743.22641-1-allen-kh.cheng@mediatek.com Signed-off-by: Mark Brown <broonie@kernel.org>
1 parent 2c7d1b2 commit 317c204

1 file changed

Lines changed: 11 additions & 1 deletion

File tree

drivers/spi/spi-mtk-nor.c

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -960,7 +960,17 @@ static int __maybe_unused mtk_nor_suspend(struct device *dev)
960960

961961
static int __maybe_unused mtk_nor_resume(struct device *dev)
962962
{
963-
return pm_runtime_force_resume(dev);
963+
struct spi_controller *ctlr = dev_get_drvdata(dev);
964+
struct mtk_nor *sp = spi_controller_get_devdata(ctlr);
965+
int ret;
966+
967+
ret = pm_runtime_force_resume(dev);
968+
if (ret)
969+
return ret;
970+
971+
mtk_nor_init(sp);
972+
973+
return 0;
964974
}
965975

966976
static const struct dev_pm_ops mtk_nor_pm_ops = {

0 commit comments

Comments
 (0)