net: dsa: bcm_sf2: Implement phylink_mac_ops
authorFlorian Fainelli <f.fainelli@gmail.com>
Thu, 10 May 2018 20:17:33 +0000 (13:17 -0700)
committerDavid S. Miller <davem@davemloft.net>
Fri, 11 May 2018 16:03:05 +0000 (12:03 -0400)
commitbc0cb653a3f06b5a1ee9f12cc1c367a8736aca28
tree7c36f5dd58ae1954746c6e11313641d9e281eb46
parent11d8f3ddab1e2b0f148def287859d0903b7f8ac5
net: dsa: bcm_sf2: Implement phylink_mac_ops

Make the bcm_sf2 driver implement phylink_mac_ops since it needs to
support a wide variety of network interfaces: internal & external MDIO
PHYs, fixed PHYs, MoCA with MMIO link status.

A large amount of what needs to be done already exists under
bcm_sf2_sw_adjust_link() so we are essentially breaking this down into
the necessary operation for PHYLINK to work: mac_config, mac_link_up,
mac_link_down and validate. We can now entirely get rid of most of what
fixed_link_update() provided because only the link information is actually
necessary. We still have to force DUPLEX_FULL for legacy Device Tree bindings
that did not specify that before.

Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/dsa/bcm_sf2.c