ASoC: wcd-mbhc-v2: use pm_runtime_resume_and_get()
authorPierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Thu, 16 Jun 2022 22:04:20 +0000 (17:04 -0500)
committerMark Brown <broonie@kernel.org>
Mon, 27 Jun 2022 12:17:54 +0000 (13:17 +0100)
simplify the flow. No functionality change, except that on -EACCESS
the reference count will be decreased.

Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com>
Reviewed-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Reviewed-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Reviewed-by: Cezary Rojewski <cezary.rojewski@intel.com>
Link: https://lore.kernel.org/r/20220616220427.136036-5-pierre-louis.bossart@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/codecs/wcd-mbhc-v2.c

index 3100928..98baef5 100644 (file)
@@ -714,12 +714,11 @@ static int wcd_mbhc_initialise(struct wcd_mbhc *mbhc)
        struct snd_soc_component *component = mbhc->component;
        int ret;
 
-       ret = pm_runtime_get_sync(component->dev);
+       ret = pm_runtime_resume_and_get(component->dev);
        if (ret < 0 && ret != -EACCES) {
                dev_err_ratelimited(component->dev,
-                                   "pm_runtime_get_sync failed in %s, ret %d\n",
+                                   "pm_runtime_resume_and_get failed in %s, ret %d\n",
                                    __func__, ret);
-               pm_runtime_put_noidle(component->dev);
                return ret;
        }
 
@@ -1097,12 +1096,11 @@ static void wcd_correct_swch_plug(struct work_struct *work)
        mbhc = container_of(work, struct wcd_mbhc, correct_plug_swch);
        component = mbhc->component;
 
-       ret = pm_runtime_get_sync(component->dev);
+       ret = pm_runtime_resume_and_get(component->dev);
        if (ret < 0 && ret != -EACCES) {
                dev_err_ratelimited(component->dev,
-                                   "pm_runtime_get_sync failed in %s, ret %d\n",
+                                   "pm_runtime_resume_and_get failed in %s, ret %d\n",
                                    __func__, ret);
-               pm_runtime_put_noidle(component->dev);
                return;
        }
        micbias_mv = wcd_mbhc_get_micbias(mbhc);