The first patch in the series (almost) converts gianfar to phylink API. The incentive behind this effort was to get proper support for 1000Base-X and SGMII SFP modules.
There are some usages of the older phylib left, as serdes have to be configured and its parameters queried via a TBI interface, and I've failed to find a reasonably easy way to do it with phylink without much surgery. It's the first reason for RFC here. However, usage of the older API only covers two special cases of underlying hardware management and is not involved in link and SFP management directly. The conversion was tested with various 1000Base-X connected optical modules and SGMII-connected copper ones. The second patch deals with an issue in the phylink proper which only manifests when bringing up or shutting down a network interface with SGMII SFP module connected, which yields in calling phy_start() or phy_stop() twice in a row for such modules. It doesn't look like a proper fix to me, though, thus the second reason for RFC. Arseny Solokha (2): gianfar: convert to phylink net: phylink: don't start and stop SGMII PHYs in SFP modules twice drivers/net/ethernet/freescale/Kconfig | 2 +- drivers/net/ethernet/freescale/gianfar.c | 409 +++++++++--------- drivers/net/ethernet/freescale/gianfar.h | 26 +- .../net/ethernet/freescale/gianfar_ethtool.c | 79 ++-- drivers/net/phy/phylink.c | 6 +- 5 files changed, 254 insertions(+), 268 deletions(-) -- 2.22.0