[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAFcVECKWz6bGZpg7UF=4hObUjca12Oq5NbE0SBL+v=1grJP8YA@mail.gmail.com>
Date: Thu, 3 May 2018 16:43:50 +0530
From: Harini Katakam <harinik@...inx.com>
To: Claudiu Beznea <Claudiu.Beznea@...rochip.com>
Cc: Nicolas Ferre <nicolas.ferre@...el.com>,
David Miller <davem@...emloft.net>, netdev@...r.kernel.org,
linux-kernel@...r.kernel.org, michals@...inx.com,
appanad@...inx.com,
Shubhrajyoti Datta <shubhrajyoti.datta@...inx.com>
Subject: Re: [RFC PATCH 3/5] net: macb: Add pm runtime support
Hi Claudiu,
On Thu, May 3, 2018 at 3:39 PM, Claudiu Beznea
<Claudiu.Beznea@...rochip.com> wrote:
>
>
> On 22.03.2018 15:51, harinikatakamlinux@...il.com wrote:
>> From: Harini Katakam <harinik@...inx.com>
<snip>
> I would use a "goto" instruction, e.g.:
> value = -ETIMEDOUT;
> goto out;
>
Will do
>
> Below, in macb_open() you have a return err; case:
> err = macb_alloc_consistent(bp);
> if (err) {
> netdev_err(dev, "Unable to allocate DMA memory (error %d)\n",
> err);
> return err;
> }
>
> You have to undo pm_runtime_get_sync() with pm_runtime_put_sync() or something
> similar to decrement dev->power.usage_count.
Will do
<snip>
>> @@ -4104,11 +4145,16 @@ static int macb_remove(struct platform_device *pdev)
>> mdiobus_free(bp->mii_bus);
>>
>> unregister_netdev(dev);
>> - clk_disable_unprepare(bp->tx_clk);
>> - clk_disable_unprepare(bp->hclk);
>> - clk_disable_unprepare(bp->pclk);
>> - clk_disable_unprepare(bp->rx_clk);
>> - clk_disable_unprepare(bp->tsu_clk);
>> + pm_runtime_disable(&pdev->dev);
>> + pm_runtime_dont_use_autosuspend(&pdev->dev);
>> + if (!pm_runtime_suspended(&pdev->dev)) {
>> + clk_disable_unprepare(bp->tx_clk);
>> + clk_disable_unprepare(bp->hclk);
>> + clk_disable_unprepare(bp->pclk);
>> + clk_disable_unprepare(bp->rx_clk);
>> + clk_disable_unprepare(bp->tsu_clk);
>> + pm_runtime_set_suspended(&pdev->dev);
>
> This is driver remove function. Shouldn't clocks be removed?
clk_disable_unprepare IS being done here.
The check for !pm_runtime_suspended is just to make sure the
clocks are not already removed (in runtime_suspend).
Regards,
Harini
Powered by blists - more mailing lists