[PATCH 6.8 542/715] ALSA: hda/tas2781: do not call pm_runtime_force_* in system_resume/suspend

From: Sasha Levin
Date: Sun Mar 24 2024 - 20:35:33 EST


From: Gergo Koteles <soyer@xxxxxx>

[ Upstream commit 5f51de7e30c7282162a631af8a425b54a4576346 ]

The runtime_resume function calls prmg_load and apply_calibration
functions, but system_resume also calls them, so calling
pm_runtime_force_resume before reset is unnecessary.

For consistency, do not call the pm_runtime_force_suspend in
system_suspend, as runtime_suspend does the same.

Fixes: 5be27f1e3ec9 ("ALSA: hda/tas2781: Add tas2781 HDA driver")
Signed-off-by: Gergo Koteles <soyer@xxxxxx>
Signed-off-by: Takashi Iwai <tiwai@xxxxxxx>
Message-ID: <d0b4cc1248b9d375d59c009563da42d60d69eac3.1709918447.git.soyer@xxxxxx>
Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>
---
sound/pci/hda/tas2781_hda_i2c.c | 11 +----------
1 file changed, 1 insertion(+), 10 deletions(-)

diff --git a/sound/pci/hda/tas2781_hda_i2c.c b/sound/pci/hda/tas2781_hda_i2c.c
index 0e61e872bb716..a99f490c6a234 100644
--- a/sound/pci/hda/tas2781_hda_i2c.c
+++ b/sound/pci/hda/tas2781_hda_i2c.c
@@ -870,14 +870,9 @@ static int tas2781_runtime_resume(struct device *dev)
static int tas2781_system_suspend(struct device *dev)
{
struct tas2781_hda *tas_hda = dev_get_drvdata(dev);
- int ret;

dev_dbg(tas_hda->priv->dev, "System Suspend\n");

- ret = pm_runtime_force_suspend(dev);
- if (ret)
- return ret;
-
mutex_lock(&tas_hda->priv->codec_lock);

/* Shutdown chip before system suspend */
@@ -895,14 +890,10 @@ static int tas2781_system_suspend(struct device *dev)
static int tas2781_system_resume(struct device *dev)
{
struct tas2781_hda *tas_hda = dev_get_drvdata(dev);
- int i, ret;
+ int i;

dev_dbg(tas_hda->priv->dev, "System Resume\n");

- ret = pm_runtime_force_resume(dev);
- if (ret)
- return ret;
-
mutex_lock(&tas_hda->priv->codec_lock);

for (i = 0; i < tas_hda->priv->ndev; i++) {
--
2.43.0