[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1a5f0b9c-3d8b-d9ae-d516-048856a2d0f9@omp.ru>
Date: Tue, 19 Dec 2023 23:29:32 +0300
From: Sergey Shtylyov <s.shtylyov@....ru>
To: claudiu beznea <claudiu.beznea@...on.dev>, <davem@...emloft.net>,
<edumazet@...gle.com>, <kuba@...nel.org>, <pabeni@...hat.com>,
<richardcochran@...il.com>, <p.zabel@...gutronix.de>,
<yoshihiro.shimoda.uh@...esas.com>, <wsa+renesas@...g-engineering.com>,
<geert+renesas@...der.be>
CC: <netdev@...r.kernel.org>, <linux-renesas-soc@...r.kernel.org>,
<linux-kernel@...r.kernel.org>, Claudiu Beznea
<claudiu.beznea.uj@...renesas.com>
Subject: Re: [PATCH net-next v2 17/21] net: ravb: Keep clock request
operations grouped together
On 12/17/23 4:22 PM, claudiu beznea wrote:
[...]
>>> From: Claudiu Beznea <claudiu.beznea.uj@...renesas.com>
>>>
>>> Keep clock request operations grouped togeter to have all clock-related
>>> code in a single place. This makes the code simpler to follow.
>>>
>>> Signed-off-by: Claudiu Beznea <claudiu.beznea.uj@...renesas.com>
>>> ---
>>>
>>> Changes in v2:
>>> - none; this patch is new
>>>
>>> drivers/net/ethernet/renesas/ravb_main.c | 28 ++++++++++++------------
>>> 1 file changed, 14 insertions(+), 14 deletions(-)
>>>
>>> diff --git a/drivers/net/ethernet/renesas/ravb_main.c b/drivers/net/ethernet/renesas/ravb_main.c
>>> index 38999ef1ea85..a2a64c22ec41 100644
>>> --- a/drivers/net/ethernet/renesas/ravb_main.c
>>> +++ b/drivers/net/ethernet/renesas/ravb_main.c
>>> @@ -2768,6 +2768,20 @@ static int ravb_probe(struct platform_device *pdev)
>>> if (error)
>>> goto out_reset_assert;
>>>
>>> + priv->clk = devm_clk_get(&pdev->dev, NULL);
>>> + if (IS_ERR(priv->clk)) {
>>> + error = PTR_ERR(priv->clk);
>>> + goto out_reset_assert;
>>> + }
>>> +
>>> + if (info->gptp_ref_clk) {
>>> + priv->gptp_clk = devm_clk_get(&pdev->dev, "gptp");
>>> + if (IS_ERR(priv->gptp_clk)) {
>>> + error = PTR_ERR(priv->gptp_clk);
>>> + goto out_reset_assert;
>>> + }
>>> + }
>>> +
>>> priv->refclk = devm_clk_get_optional(&pdev->dev, "refclk");
>>> if (IS_ERR(priv->refclk)) {
>>> error = PTR_ERR(priv->refclk);
>>
>> Hmm... I think we currently have all these calls in one place.
>> Perhaps you just shouldn't have moved this code around?
>
> refclk have been moved at this point due to runtime PM. As refclk was
> changed to be part of driver's runtime PM APIs we need to have it requested
> (and prepared) before pm_runtime_resume_and_get(). Calling
> pm_runtime_resume_and_get() will call driver's runtime PM resume.
>
> The idea with this patch was to have all clock requests (clk, gptp, refclk)
> in a single place (it's easier to follow the code this way, in my opinion).
> If you prefer I can squash this patch with patch 07/21 "net: ravb: Move
> reference clock enable/disable on runtime PM APIs". Please, let me know
> what do you think.
Yes, please move all 3 clocks at once.
MBR, Sergey
Powered by blists - more mailing lists