From: Daniel Baluta <daniel.baluta@gmail.com>
To: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
Cc: Daniel Baluta <daniel.baluta@nxp.com>,
Nicolin Chen <nicoleotsuka@gmail.com>,
Mark Brown <broonie@kernel.org>,
alsa-devel@alsa-project.org, Timur Tabi <timur@tabi.org>,
Xiubo.Lee@gmail.com,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
Liam Girdwood <lgirdwood@gmail.com>,
Takashi Iwai <tiwai@suse.com>,
fabio.estevam@nxp.com, linuxppc-dev@lists.ozlabs.org
Subject: Re: [alsa-devel] [PATCH v3 2/2] ASoC: imx-wm8962: Fix codec_clk cleanup
Date: Tue, 28 Mar 2017 13:47:04 +0300 [thread overview]
Message-ID: <CAEnQRZAx1o9xtbf3u1A_Zun7MSaJjdjunpJm1Q6=ZAA3beoFbA@mail.gmail.com> (raw)
In-Reply-To: <20170328092103.GQ6986@localhost.localdomain>
On Tue, Mar 28, 2017 at 12:21 PM, Charles Keepax
<ckeepax@opensource.wolfsonmicro.com> wrote:
> On Tue, Mar 28, 2017 at 11:58:52AM +0300, Daniel Baluta wrote:
>> Resource managed devm_clk_get only works with platform's device dev.
>>
>
> I feel like this could use an explaination of why not using devm
> is the correct fix, rather than just using the platform device
> for the call. Its not obvious to me, that using the platform
> device would be an issue.
Hi Charles,
I see where the confusion comes from :) and I thought the explanation
is obvious from the code, see inline comments.
Would an explanation like the one below, work better?
" We cannot use devm_clk_get with &codec_dev->dev device because
the kernel uses pdev->dev to free the managed resources, so we will end
up with a leaking codec_clk reference"
>> @@ -231,7 +231,7 @@ static int imx_wm8962_probe(struct platform_device *pdev)
>> goto fail;
>> }
pdev->dev from here:
>>
>> - codec_clk = devm_clk_get(&codec_dev->dev, NULL);
>> + codec_clk = clk_get(&codec_dev->dev, NULL);
is different from &codec_dev->dev.
>> if (IS_ERR(codec_clk)) {
>> ret = PTR_ERR(codec_clk);
>> dev_err(&codec_dev->dev, "failed to get codec clk: %d\n", ret);
>> @@ -239,6 +239,7 @@ static int imx_wm8962_probe(struct platform_device *pdev)
>> }
>>
>> data->clk_frequency = clk_get_rate(codec_clk);
>> + clk_put(codec_clk);
>>
>> data->dai.name = "HiFi";
>> data->dai.stream_name = "HiFi";
thanks,
Daniel.
next prev parent reply other threads:[~2017-03-28 10:47 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-03-28 8:58 [PATCH v3 0/2] imx-wm8962: Let codec driver enable/disable its MCLK Daniel Baluta
2017-03-28 8:58 ` [PATCH v3 1/2] ASoC: " Daniel Baluta
2017-03-28 8:58 ` [PATCH v3 2/2] ASoC: imx-wm8962: Fix codec_clk cleanup Daniel Baluta
2017-03-28 9:21 ` [alsa-devel] " Charles Keepax
2017-03-28 10:47 ` Daniel Baluta [this message]
2017-03-28 11:53 ` Charles Keepax
2017-03-28 15:24 ` Mark Brown
2017-03-28 15:42 ` Charles Keepax
2017-03-29 11:38 ` Daniel Baluta
2017-03-29 11:47 ` Mark Brown
2017-03-29 11:54 ` Applied "ASoC: imx-wm8962: Fix codec_clk cleanup" to the asoc tree Mark Brown
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='CAEnQRZAx1o9xtbf3u1A_Zun7MSaJjdjunpJm1Q6=ZAA3beoFbA@mail.gmail.com' \
--to=daniel.baluta@gmail.com \
--cc=Xiubo.Lee@gmail.com \
--cc=alsa-devel@alsa-project.org \
--cc=broonie@kernel.org \
--cc=ckeepax@opensource.wolfsonmicro.com \
--cc=daniel.baluta@nxp.com \
--cc=fabio.estevam@nxp.com \
--cc=lgirdwood@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=nicoleotsuka@gmail.com \
--cc=timur@tabi.org \
--cc=tiwai@suse.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).