summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>2021-08-13 10:11:15 -0500
committerMark Brown <broonie@kernel.org>2021-08-13 16:50:42 +0100
commitf1f8a9615451ec3762a45b6985e072c44a995a45 (patch)
tree79afe681b7fef1de0cef6d3a2e9d3cbadf742774
parente5a292d39466ca1f45e185be713616f9389e6a4e (diff)
downloadlinux-stable-f1f8a9615451ec3762a45b6985e072c44a995a45.tar.gz
linux-stable-f1f8a9615451ec3762a45b6985e072c44a995a45.tar.bz2
linux-stable-f1f8a9615451ec3762a45b6985e072c44a995a45.zip
ASoC: Intel: remove device_properties for Atom boards
Prepare the transition to the software node API by removing device properties in the probe error handling and .remove callback. Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Reviewed-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Link: https://lore.kernel.org/r/20210813151116.23931-8-pierre-louis.bossart@linux.intel.com Signed-off-by: Mark Brown <broonie@kernel.org>
-rw-r--r--sound/soc/intel/boards/bytcht_es8316.c2
-rw-r--r--sound/soc/intel/boards/bytcr_rt5640.c5
-rw-r--r--sound/soc/intel/boards/bytcr_rt5651.c5
3 files changed, 10 insertions, 2 deletions
diff --git a/sound/soc/intel/boards/bytcht_es8316.c b/sound/soc/intel/boards/bytcht_es8316.c
index d2e0a0b441fc..f3919baaad08 100644
--- a/sound/soc/intel/boards/bytcht_es8316.c
+++ b/sound/soc/intel/boards/bytcht_es8316.c
@@ -615,6 +615,7 @@ static int snd_byt_cht_es8316_mc_probe(struct platform_device *pdev)
return 0;
err_put_codec:
+ device_remove_properties(priv->codec_dev);
put_device(priv->codec_dev);
return ret;
}
@@ -625,6 +626,7 @@ static int snd_byt_cht_es8316_mc_remove(struct platform_device *pdev)
struct byt_cht_es8316_private *priv = snd_soc_card_get_drvdata(card);
gpiod_put(priv->speaker_en_gpio);
+ device_remove_properties(priv->codec_dev);
put_device(priv->codec_dev);
return 0;
}
diff --git a/sound/soc/intel/boards/bytcr_rt5640.c b/sound/soc/intel/boards/bytcr_rt5640.c
index 4215bbafd2f7..41fd56d42103 100644
--- a/sound/soc/intel/boards/bytcr_rt5640.c
+++ b/sound/soc/intel/boards/bytcr_rt5640.c
@@ -1481,7 +1481,7 @@ static int snd_byt_rt5640_mc_probe(struct platform_device *pdev)
/* Must be called before register_card, also see declaration comment. */
ret_val = byt_rt5640_add_codec_device_props(codec_dev, priv);
if (ret_val)
- goto err;
+ goto err_device;
log_quirks(&pdev->dev);
@@ -1584,6 +1584,8 @@ static int snd_byt_rt5640_mc_probe(struct platform_device *pdev)
return ret_val;
err:
+ device_remove_properties(priv->codec_dev);
+err_device:
put_device(priv->codec_dev);
return ret_val;
}
@@ -1593,6 +1595,7 @@ static int snd_byt_rt5640_mc_remove(struct platform_device *pdev)
struct snd_soc_card *card = platform_get_drvdata(pdev);
struct byt_rt5640_private *priv = snd_soc_card_get_drvdata(card);
+ device_remove_properties(priv->codec_dev);
put_device(priv->codec_dev);
return 0;
}
diff --git a/sound/soc/intel/boards/bytcr_rt5651.c b/sound/soc/intel/boards/bytcr_rt5651.c
index c70dd729cdbb..cc1505e53b4f 100644
--- a/sound/soc/intel/boards/bytcr_rt5651.c
+++ b/sound/soc/intel/boards/bytcr_rt5651.c
@@ -997,7 +997,7 @@ static int snd_byt_rt5651_mc_probe(struct platform_device *pdev)
/* Must be called before register_card, also see declaration comment. */
ret_val = byt_rt5651_add_codec_device_props(codec_dev);
if (ret_val)
- goto err;
+ goto err_device;
/* Cherry Trail devices use an external amplifier enable gpio */
if (soc_intel_is_cht() && !byt_rt5651_gpios)
@@ -1125,6 +1125,8 @@ static int snd_byt_rt5651_mc_probe(struct platform_device *pdev)
return ret_val;
err:
+ device_remove_properties(priv->codec_dev);
+err_device:
put_device(priv->codec_dev);
return ret_val;
}
@@ -1134,6 +1136,7 @@ static int snd_byt_rt5651_mc_remove(struct platform_device *pdev)
struct snd_soc_card *card = platform_get_drvdata(pdev);
struct byt_rt5651_private *priv = snd_soc_card_get_drvdata(card);
+ device_remove_properties(priv->codec_dev);
put_device(priv->codec_dev);
return 0;
}