return 0;
 }
 
-static void memac_validate(struct phylink_config *config,
-                          unsigned long *supported,
-                          struct phylink_link_state *state)
+static unsigned long memac_get_caps(struct phylink_config *config,
+                                   phy_interface_t interface)
 {
        struct fman_mac *memac = fman_config_to_mac(config)->fman_mac;
        unsigned long caps = config->mac_capabilities;
 
-       if (phy_interface_mode_is_rgmii(state->interface) &&
+       if (phy_interface_mode_is_rgmii(interface) &&
            memac->rgmii_no_half_duplex)
                caps &= ~(MAC_10HD | MAC_100HD);
 
-       phylink_validate_mask_caps(supported, state, caps);
+       return caps;
 }
 
 /**
 }
 
 static const struct phylink_mac_ops memac_mac_ops = {
-       .validate = memac_validate,
+       .mac_get_caps = memac_get_caps,
        .mac_select_pcs = memac_select_pcs,
        .mac_prepare = memac_prepare,
        .mac_config = memac_mac_config,