Commit 8516e648 authored by Mark Brown's avatar Mark Brown

Merge remote-tracking branch 'asoc/fix/fsl' into asoc-linus

parents aab5d23e 50d4a790
...@@ -62,7 +62,7 @@ static int imx_sgtl5000_probe(struct platform_device *pdev) ...@@ -62,7 +62,7 @@ static int imx_sgtl5000_probe(struct platform_device *pdev)
struct device_node *ssi_np, *codec_np; struct device_node *ssi_np, *codec_np;
struct platform_device *ssi_pdev; struct platform_device *ssi_pdev;
struct i2c_client *codec_dev; struct i2c_client *codec_dev;
struct imx_sgtl5000_data *data; struct imx_sgtl5000_data *data = NULL;
int int_port, ext_port; int int_port, ext_port;
int ret; int ret;
...@@ -128,7 +128,7 @@ static int imx_sgtl5000_probe(struct platform_device *pdev) ...@@ -128,7 +128,7 @@ static int imx_sgtl5000_probe(struct platform_device *pdev)
goto fail; goto fail;
} }
data->codec_clk = devm_clk_get(&codec_dev->dev, NULL); data->codec_clk = clk_get(&codec_dev->dev, NULL);
if (IS_ERR(data->codec_clk)) { if (IS_ERR(data->codec_clk)) {
ret = PTR_ERR(data->codec_clk); ret = PTR_ERR(data->codec_clk);
goto fail; goto fail;
...@@ -172,6 +172,8 @@ static int imx_sgtl5000_probe(struct platform_device *pdev) ...@@ -172,6 +172,8 @@ static int imx_sgtl5000_probe(struct platform_device *pdev)
return 0; return 0;
fail: fail:
if (data && !IS_ERR(data->codec_clk))
clk_put(data->codec_clk);
if (ssi_np) if (ssi_np)
of_node_put(ssi_np); of_node_put(ssi_np);
if (codec_np) if (codec_np)
...@@ -185,6 +187,7 @@ static int imx_sgtl5000_remove(struct platform_device *pdev) ...@@ -185,6 +187,7 @@ static int imx_sgtl5000_remove(struct platform_device *pdev)
struct imx_sgtl5000_data *data = platform_get_drvdata(pdev); struct imx_sgtl5000_data *data = platform_get_drvdata(pdev);
snd_soc_unregister_card(&data->card); snd_soc_unregister_card(&data->card);
clk_put(data->codec_clk);
return 0; return 0;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment