ASoC: mt6660: Keep the pm_runtime enables before component stuff in mt6660_i2c_probe
authorZhang Qilong <zhangqilong3@huawei.com>
Sat, 8 Oct 2022 14:05:22 +0000 (22:05 +0800)
committerMark Brown <broonie@kernel.org>
Mon, 10 Oct 2022 12:01:16 +0000 (13:01 +0100)
It would be better to keep the pm_runtime enables before the
IRQ and component stuff. Both of those could start triggering
PM runtime events.

Signed-off-by: Zhang Qilong <zhangqilong3@huawei.com>
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Link: https://lore.kernel.org/r/20221008140522.134912-1-zhangqilong3@huawei.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/codecs/mt6660.c

index 45e0df13afb9fb081638e7138efd17e7ae843f02..b8369eeccc30223f30b78fb7e7794e2f27443f1a 100644 (file)
@@ -503,14 +503,14 @@ static int mt6660_i2c_probe(struct i2c_client *client)
                dev_err(chip->dev, "read chip revision fail\n");
                goto probe_fail;
        }
+       pm_runtime_set_active(chip->dev);
+       pm_runtime_enable(chip->dev);
 
        ret = devm_snd_soc_register_component(chip->dev,
                                               &mt6660_component_driver,
                                               &mt6660_codec_dai, 1);
-       if (!ret) {
-               pm_runtime_set_active(chip->dev);
-               pm_runtime_enable(chip->dev);
-       }
+       if (ret)
+               pm_runtime_disable(chip->dev);
 
        return ret;