Re: [PATCH net-next v2 17/21] net: ravb: Keep clock request operations grouped together

From: Sergey Shtylyov
Date: Tue Dec 19 2023 - 15:30:53 EST


On 12/17/23 4:22 PM, claudiu beznea wrote:

[...]

>>> From: Claudiu Beznea <claudiu.beznea.uj@xxxxxxxxxxxxxx>
>>>
>>> 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@xxxxxxxxxxxxxx>
>>> ---
>>>
>>> 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