Re: [PATCH net-next v3 1/4] phylib: Add device reset delay support

Richard Leitner
2017-12-05T18:06:44Z

Hi Andrew,

On 12/05/2017 06:28 PM, Andrew Lunn wrote:
> Hi Richard
>
>> +++ b/drivers/of/of_mdio.c
>> @@ -77,6 +77,14 @@ static int of_mdiobus_register_phy(struct mii_bus *mdio,
>> if (of_property_read_bool(child, "broken-turn-around"))
>> mdio->phy_ignore_ta_mask |= 1 << addr;
>>
>> + if (of_property_read_u32(child, "reset-delay-us",
>> + &phy->mdio.reset_delay))
>> + phy->mdio.reset_delay = 0;
>> +
>> + if (of_property_read_u32(child, "reset-post-delay-us",
>> + &phy->mdio.reset_post_delay))
>> + phy->mdio.reset_post_delay = 0;
>
> of_property_read_u32() should not change the variable you pass to it,
> if it does not find the property. So you can change this to:
>
> phy->mdio.reset_delay = 0;
> phy->mdio.reset_post_delay = 0;
>
> of_property_read_u32(child, "reset-delay-us",
> &phy->mdio.reset_delay);
>
> of_property_read_u32(child, "reset-post-delay-us",
> &phy->mdio.reset_post_delay);

Geert already pointed this out, but he said it's possible to omit also
the zeroing of the variables.

> On 12/05/2017 02:54 PM, Geert Uytterhoeven wrote:
>> If of_property_read_u32() fails, it doesn't write to its output
>> parameter.
>> As the structure should be zeroed during allocation, you can just
>> write:
>>
>> of_property_read_u32(child, "reset-delay-us",&phy->mdio.reset_delay);
>> of_property_read_u32(child, "reset-post-delay-us",
>> &phy->mdio.reset_post_delay);

If that's ok I'll take the shorter (Geerts) suggestion for v4.

Nonetheless thanks for your quick feedback!

regards;Richard.L