lkml.org 
[lkml]   [2024]   [Feb]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
SubjectRe: [PATCH v3 14/18] phy: cadence-torrent: add suspend and resume support
From
On 2/15/24 16:46, Andy Shevchenko wrote:
>> +static int cdns_torrent_phy_suspend_noirq(struct device *dev)
>> +{
>> + struct cdns_torrent_phy *cdns_phy = dev_get_drvdata(dev);
>> + int i;
>
> Why signed?

In the for loop below, the i variable is compared to
cdns_phy->nsubnodes, which is an int.

https://elixir.bootlin.com/linux/latest/source/drivers/phy/cadence/phy-cadence-torrent.c#L360

>
>> + reset_control_assert(cdns_phy->phy_rst);
>> + reset_control_assert(cdns_phy->apb_rst);
>> + for (i = 0; i < cdns_phy->nsubnodes; i++)
>> + reset_control_assert(cdns_phy->phys[i].lnk_rst);
>> +
>> + if (cdns_phy->already_configured)
>> + cdns_phy->already_configured = 0;
>> + else
>> + clk_disable_unprepare(cdns_phy->clk);
>> +
>> + return 0;
>> +}
>> +
>> +static int cdns_torrent_phy_resume_noirq(struct device *dev)
>> +{
>> + struct cdns_torrent_phy *cdns_phy = dev_get_drvdata(dev);
>> + int node = cdns_phy->nsubnodes;
>> + int ret, i;
>
> Ditto>

Same reason

>> + ret = cdns_torrent_clk(cdns_phy);
>> + if (ret)
>> + goto clk_cleanup;
>> +
>> + /* Enable APB */
>> + reset_control_deassert(cdns_phy->apb_rst);
>> +
>> + if (cdns_phy->nsubnodes > 1) {
>> + ret = cdns_torrent_phy_configure_multilink(cdns_phy);
>> + if (ret)
>> + goto put_lnk_rst;
>> + }
>> +
>> + return 0;
>> +
>> +put_lnk_rst:
>> + for (i = 0; i < node; i++)
>> + reset_control_assert(cdns_phy->phys[i].lnk_rst);
>> + reset_control_assert(cdns_phy->apb_rst);
>> + clk_disable_unprepare(cdns_phy->clk);
>> +clk_cleanup:
>> + cdns_torrent_clk_cleanup(cdns_phy);
>> + return ret;
>> +}
>
--
Thomas Richard, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com


\
 
 \ /
  Last update: 2024-05-27 15:06    [W:0.141 / U:0.304 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site