On Mon, Jun 10, 2013 at 01:26:05PM -0300, Fabio Estevam wrote:
Commit 9e13f345 (ASoC: sgtl5000: Let the codec acquire its clock) removed the clk_put calls.
Let's use devm_clk_get() instead, so that we do not need to call them anymore.
Signed-off-by: Fabio Estevam fabio.estevam@freescale.com
sound/soc/fsl/imx-sgtl5000.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sound/soc/fsl/imx-sgtl5000.c b/sound/soc/fsl/imx-sgtl5000.c index 823151b..7a8bc12 100644 --- a/sound/soc/fsl/imx-sgtl5000.c +++ b/sound/soc/fsl/imx-sgtl5000.c @@ -128,7 +128,7 @@ static int imx_sgtl5000_probe(struct platform_device *pdev) goto fail; }
- data->codec_clk = clk_get(&codec_dev->dev, NULL);
- data->codec_clk = devm_clk_get(&codec_dev->dev, NULL);
I do not think the change is correct. It only works if the struct *dev is what imx_sgtl5000 platform_device points to, that is pdev->dev here. However what you pass here is codec's. So when imx_sgtl5000_probe() fails or imx_sgtl5000 module is removed, clk_put() will not be called. And if I remember correctly, that's the reason why devm_clk_get() wasn't used here in the first place.
Shawn
if (IS_ERR(data->codec_clk)) goto fail;
-- 1.8.1.2