• Florian Fainelli's avatar
    net: dsa: bcm_sf2: Implement phylink_mac_ops · bc0cb653
    Florian Fainelli authored
    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: default avatarFlorian Fainelli <f.fainelli@gmail.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    bc0cb653
bcm_sf2.c 35.9 KB