OSDN Git Service

ASoC: wsa881x: use pm_runtime_resume_and_get()
authorPierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Thu, 16 Jun 2022 22:04:21 +0000 (17:04 -0500)
committerMark Brown <broonie@kernel.org>
Mon, 27 Jun 2022 12:17:55 +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-6-pierre-louis.bossart@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/codecs/wsa881x.c

index f3a56f3..dc954b8 100644 (file)
@@ -749,11 +749,9 @@ static int wsa881x_put_pa_gain(struct snd_kcontrol *kc,
        unsigned int mask = (1 << fls(max)) - 1;
        int val, ret, min_gain, max_gain;
 
-       ret = pm_runtime_get_sync(comp->dev);
-       if (ret < 0 && ret != -EACCES) {
-               pm_runtime_put_noidle(comp->dev);
+       ret = pm_runtime_resume_and_get(comp->dev);
+       if (ret < 0 && ret != -EACCES)
                return ret;
-       }
 
        max_gain = (max - ucontrol->value.integer.value[0]) & mask;
        /*