Subject: Re: [PATCH 1/3] fixed_phy: handle link-down case

From: Florian Fainelli <[email-masked]>
Date: Fri, 10 Jul 2015 17:15:35 -0700

On 10/07/15 14:14, Stas Sergeev wrote:
> 10.07.2015 23:44, Florian Fainelli пишет:
>> On 10/07/15 09:41, Stas Sergeev wrote:
>>> Currently fixed_phy driver recognizes only the link-up state.
>>> This simple patch adds an implementation of link-down state.
>>> The actual change is 1-line, the rest is an indentation.
>> It is not clear to me how this is useful, if you have a link_update
>> callback manipulating the link state, the fixed PHY driver returns
>> appropriate MII_BMSR values and always re-initializes everything.
> It returns the appropriate values only for link status (when its down),
> but it still returns speed, duplex etc as if the link is up. I had hard
> times finding the relevant specs, but from what I have googled,
> when link is down, the speed/duplex/etc status fields should _also_
> be zero, which is what my patch does.
> What is more important is that fixed_phy_add() would return
> -EINVAL if you didn't specify speed while the link is down.
> This is an absolute must-fix, or I will have to add an arbitrary
> speed value again, on which you already objected.

Ok, but that does not seems to be a code path that you can hit, unless
you are already modifying
drivers/of/of_mdio.c::of_fixed_phy_register_link() and overriding how
status.link is defined, am I missing something?

> 
>> Is this meant to be some sort of optimization? If so, you could just
>> avoid the re-intendation completely and do a goto instead?
> Oh, c'mon... Adding goto just to keep the _patch_ smaller?

Well, yes, so it's easy to audit the changes?

> (not smaller code, just a smaller patch)
> Well, this is certainly something that can be done, feel free
> to request that explicitly and I'll release v3 next week.

I hereby explicitly request that you make this a new iteration using a goto.

Thank you.
-- 
Florian