X-Git-Url: http://git.monstr.eu/?a=blobdiff_plain;f=net%2Fethtool%2Fcommon.c;fp=net%2Fethtool%2Fcommon.c;h=030aa7984a910c3f3e6bb4d50efa4b663ccbbacd;hb=a975d7d8a356ce92872af0b007b101183f0224e2;hp=c6a383dfd6c2b4d484d4d60708973c9386da244e;hpb=bb58023bee8b08c329c161c2f20b157db8a5ba96;p=linux-2.6-microblaze.git diff --git a/net/ethtool/common.c b/net/ethtool/common.c index c6a383dfd6c2..030aa7984a91 100644 --- a/net/ethtool/common.c +++ b/net/ethtool/common.c @@ -562,3 +562,19 @@ void ethtool_set_ethtool_phy_ops(const struct ethtool_phy_ops *ops) rtnl_unlock(); } EXPORT_SYMBOL_GPL(ethtool_set_ethtool_phy_ops); + +void +ethtool_params_from_link_mode(struct ethtool_link_ksettings *link_ksettings, + enum ethtool_link_mode_bit_indices link_mode) +{ + const struct link_mode_info *link_info; + + if (WARN_ON_ONCE(link_mode >= __ETHTOOL_LINK_MODE_MASK_NBITS)) + return; + + link_info = &link_mode_params[link_mode]; + link_ksettings->base.speed = link_info->speed; + link_ksettings->lanes = link_info->lanes; + link_ksettings->base.duplex = link_info->duplex; +} +EXPORT_SYMBOL_GPL(ethtool_params_from_link_mode);