|
@@ -71,7 +71,7 @@ static int imx_wm8962_set_bias_level(struct snd_soc_card *card,
|
|
|
{
|
|
|
struct snd_soc_dai *codec_dai = card->rtd[0].codec_dai;
|
|
|
struct imx_priv *priv = &card_priv;
|
|
|
- struct imx_wm8962_data *data = platform_get_drvdata(priv->pdev);
|
|
|
+ struct imx_wm8962_data *data = snd_soc_card_get_drvdata(card);
|
|
|
struct device *dev = &priv->pdev->dev;
|
|
|
unsigned int pll_out;
|
|
|
int ret;
|
|
@@ -137,7 +137,7 @@ static int imx_wm8962_late_probe(struct snd_soc_card *card)
|
|
|
{
|
|
|
struct snd_soc_dai *codec_dai = card->rtd[0].codec_dai;
|
|
|
struct imx_priv *priv = &card_priv;
|
|
|
- struct imx_wm8962_data *data = platform_get_drvdata(priv->pdev);
|
|
|
+ struct imx_wm8962_data *data = snd_soc_card_get_drvdata(card);
|
|
|
struct device *dev = &priv->pdev->dev;
|
|
|
int ret;
|
|
|
|
|
@@ -264,13 +264,15 @@ static int imx_wm8962_probe(struct platform_device *pdev)
|
|
|
data->card.late_probe = imx_wm8962_late_probe;
|
|
|
data->card.set_bias_level = imx_wm8962_set_bias_level;
|
|
|
|
|
|
+ platform_set_drvdata(pdev, &data->card);
|
|
|
+ snd_soc_card_set_drvdata(&data->card, data);
|
|
|
+
|
|
|
ret = devm_snd_soc_register_card(&pdev->dev, &data->card);
|
|
|
if (ret) {
|
|
|
dev_err(&pdev->dev, "snd_soc_register_card failed (%d)\n", ret);
|
|
|
goto clk_fail;
|
|
|
}
|
|
|
|
|
|
- platform_set_drvdata(pdev, data);
|
|
|
of_node_put(ssi_np);
|
|
|
of_node_put(codec_np);
|
|
|
|
|
@@ -289,7 +291,8 @@ fail:
|
|
|
|
|
|
static int imx_wm8962_remove(struct platform_device *pdev)
|
|
|
{
|
|
|
- struct imx_wm8962_data *data = platform_get_drvdata(pdev);
|
|
|
+ struct snd_soc_card *card = platform_get_drvdata(pdev);
|
|
|
+ struct imx_wm8962_data *data = snd_soc_card_get_drvdata(card);
|
|
|
|
|
|
if (!IS_ERR(data->codec_clk))
|
|
|
clk_disable_unprepare(data->codec_clk);
|