Unverified Commit 82102a24 authored by Pierre-Louis Bossart's avatar Pierre-Louis Bossart Committed by Mark Brown
Browse files

ASoC: Intel: catpt: use pm_runtime_resume_and_get()

parent 658e9595
Loading
Loading
Loading
Loading
+20 −6
Original line number Diff line number Diff line
@@ -667,7 +667,9 @@ static int catpt_dai_pcm_new(struct snd_soc_pcm_runtime *rtm,
	if (!memcmp(&cdev->devfmt[devfmt.iface], &devfmt, sizeof(devfmt)))
		return 0;

	pm_runtime_get_sync(cdev->dev);
	ret = pm_runtime_resume_and_get(cdev->dev);
	if (ret < 0 && ret != -EACCES)
		return ret;

	ret = catpt_ipc_set_device_format(cdev, &devfmt);

@@ -853,9 +855,12 @@ static int catpt_mixer_volume_get(struct snd_kcontrol *kcontrol,
		snd_soc_kcontrol_component(kcontrol);
	struct catpt_dev *cdev = dev_get_drvdata(component->dev);
	u32 dspvol;
	int ret;
	int i;

	pm_runtime_get_sync(cdev->dev);
	ret = pm_runtime_resume_and_get(cdev->dev);
	if (ret < 0 && ret != -EACCES)
		return ret;

	for (i = 0; i < CATPT_CHANNELS_MAX; i++) {
		dspvol = catpt_mixer_volume(cdev, &cdev->mixer, i);
@@ -876,7 +881,9 @@ static int catpt_mixer_volume_put(struct snd_kcontrol *kcontrol,
	struct catpt_dev *cdev = dev_get_drvdata(component->dev);
	int ret;

	pm_runtime_get_sync(cdev->dev);
	ret = pm_runtime_resume_and_get(cdev->dev);
	if (ret < 0 && ret != -EACCES)
		return ret;

	ret = catpt_set_dspvol(cdev, cdev->mixer.mixer_hw_id,
			       ucontrol->value.integer.value);
@@ -897,6 +904,7 @@ static int catpt_stream_volume_get(struct snd_kcontrol *kcontrol,
	struct catpt_dev *cdev = dev_get_drvdata(component->dev);
	long *ctlvol = (long *)kcontrol->private_value;
	u32 dspvol;
	int ret;
	int i;

	stream = catpt_stream_find(cdev, pin_id);
@@ -906,7 +914,9 @@ static int catpt_stream_volume_get(struct snd_kcontrol *kcontrol,
		return 0;
	}

	pm_runtime_get_sync(cdev->dev);
	ret = pm_runtime_resume_and_get(cdev->dev);
	if (ret < 0 && ret != -EACCES)
		return ret;

	for (i = 0; i < CATPT_CHANNELS_MAX; i++) {
		dspvol = catpt_stream_volume(cdev, stream, i);
@@ -937,7 +947,9 @@ static int catpt_stream_volume_put(struct snd_kcontrol *kcontrol,
		return 0;
	}

	pm_runtime_get_sync(cdev->dev);
	ret = pm_runtime_resume_and_get(cdev->dev);
	if (ret < 0 && ret != -EACCES)
		return ret;

	ret = catpt_set_dspvol(cdev, stream->info.stream_hw_id,
			       ucontrol->value.integer.value);
@@ -1013,7 +1025,9 @@ static int catpt_loopback_switch_put(struct snd_kcontrol *kcontrol,
		return 0;
	}

	pm_runtime_get_sync(cdev->dev);
	ret = pm_runtime_resume_and_get(cdev->dev);
	if (ret < 0 && ret != -EACCES)
		return ret;

	ret = catpt_ipc_mute_loopback(cdev, stream->info.stream_hw_id, mute);

+3 −1
Original line number Diff line number Diff line
@@ -15,7 +15,9 @@ static ssize_t fw_version_show(struct device *dev,
	struct catpt_fw_version version;
	int ret;

	pm_runtime_get_sync(cdev->dev);
	ret = pm_runtime_resume_and_get(cdev->dev);
	if (ret < 0 && ret != -EACCES)
		return ret;

	ret = catpt_ipc_get_fw_version(cdev, &version);