Re: [PATCH v2 net] Add genphy_c45_config_aneg() function to phy-c45.c

From: Heiner Kallweit
Date: Fri Aug 23 2019 - 02:01:02 EST


On 23.08.2019 01:15, David Miller wrote:
> From: Marco Hartmann <marco.hartmann@xxxxxxx>
> Date: Wed, 21 Aug 2019 11:00:46 +0000
>
>> Commit 34786005eca3 ("net: phy: prevent PHYs w/o Clause 22 regs from calling
>> genphy_config_aneg") introduced a check that aborts phy_config_aneg()
>> if the phy is a C45 phy.
>> This causes phy_state_machine() to call phy_error() so that the phy
>> ends up in PHY_HALTED state.
>>
>> Instead of returning -EOPNOTSUPP, call genphy_c45_config_aneg()
>> (analogous to the C22 case) so that the state machine can run
>> correctly.
>>
>> genphy_c45_config_aneg() closely resembles mv3310_config_aneg()
>> in drivers/net/phy/marvell10g.c, excluding vendor specific
>> configurations for 1000BaseT.
>>
>> Fixes: 22b56e827093 ("net: phy: replace genphy_10g_driver with genphy_c45_driver")
>>
>> Signed-off-by: Marco Hartmann <marco.hartmann@xxxxxxx>
>
> Andrew, Heiner, et al. where are we with this patch?
>
For me this patch would be ok, even though this generic config_aneg
doesn't support 1000BaseT.
1. The whole genphy_c45 driver doesn't make sense w/o a config_aneg
callback implementation.
2. It can serve as a temporary fallback for new C45 PHY's that don't
have a dedicated driver yet.
3. We may have C45 PHYs not supporting 1000BaseT (e.g. T1).

Andrew?

Heiner