net: phylink: add phylink_set_10g_modes() helper

Add a helper for setting 10Gigabit modes, so we have one central
place that sets all appropriate 10G modes for a driver.

Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Russell King (Oracle) 2021-10-04 12:03:28 +01:00 committed by David S. Miller
parent 23b0826048
commit a2c27a61b4
2 changed files with 12 additions and 0 deletions

View file

@ -132,6 +132,17 @@ void phylink_set_port_modes(unsigned long *mask)
} }
EXPORT_SYMBOL_GPL(phylink_set_port_modes); EXPORT_SYMBOL_GPL(phylink_set_port_modes);
void phylink_set_10g_modes(unsigned long *mask)
{
phylink_set(mask, 10000baseT_Full);
phylink_set(mask, 10000baseCR_Full);
phylink_set(mask, 10000baseSR_Full);
phylink_set(mask, 10000baseLR_Full);
phylink_set(mask, 10000baseLRM_Full);
phylink_set(mask, 10000baseER_Full);
}
EXPORT_SYMBOL_GPL(phylink_set_10g_modes);
static int phylink_is_empty_linkmode(const unsigned long *linkmode) static int phylink_is_empty_linkmode(const unsigned long *linkmode)
{ {
__ETHTOOL_DECLARE_LINK_MODE_MASK(tmp) = { 0, }; __ETHTOOL_DECLARE_LINK_MODE_MASK(tmp) = { 0, };

View file

@ -484,6 +484,7 @@ int phylink_speed_up(struct phylink *pl);
#define phylink_test(bm, mode) __phylink_do_bit(test_bit, bm, mode) #define phylink_test(bm, mode) __phylink_do_bit(test_bit, bm, mode)
void phylink_set_port_modes(unsigned long *bits); void phylink_set_port_modes(unsigned long *bits);
void phylink_set_10g_modes(unsigned long *mask);
void phylink_helper_basex_speed(struct phylink_link_state *state); void phylink_helper_basex_speed(struct phylink_link_state *state);
void phylink_mii_c22_pcs_get_state(struct mdio_device *pcs, void phylink_mii_c22_pcs_get_state(struct mdio_device *pcs,