本文整理汇总了C++中phy_ethtool_sset函数的典型用法代码示例。如果您正苦于以下问题:C++ phy_ethtool_sset函数的具体用法?C++ phy_ethtool_sset怎么用?C++ phy_ethtool_sset使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了phy_ethtool_sset函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: bgmac_set_settings
static int bgmac_set_settings(struct net_device *net_dev,
struct ethtool_cmd *cmd)
{
struct bgmac *bgmac = netdev_priv(net_dev);
return phy_ethtool_sset(bgmac->phy_dev, cmd);
}
示例2: fe_set_settings
static int fe_set_settings(struct net_device *dev,
struct ethtool_cmd *cmd)
{
struct fe_priv *priv = netdev_priv(dev);
if (!priv->phy_dev)
goto out_sset;
if (cmd->phy_address != priv->phy_dev->addr) {
if (priv->phy->phy_node[cmd->phy_address]) {
priv->phy_dev = priv->phy->phy[cmd->phy_address];
priv->phy_flags = FE_PHY_FLAG_PORT;
} else if (priv->mii_bus &&
priv->mii_bus->phy_map[cmd->phy_address]) {
priv->phy_dev = priv->mii_bus->phy_map[cmd->phy_address];
priv->phy_flags = FE_PHY_FLAG_ATTACH;
} else
goto out_sset;
}
return phy_ethtool_sset(priv->phy_dev, cmd);
out_sset:
return -ENODEV;
}
示例3: stmmac_ethtool_setsettings
static int stmmac_ethtool_setsettings(struct net_device *dev,
struct ethtool_cmd *cmd)
{
struct stmmac_priv *priv = netdev_priv(dev);
struct phy_device *phy = priv->phydev;
int rc;
if ((priv->pcs & STMMAC_PCS_RGMII) || (priv->pcs & STMMAC_PCS_SGMII)) {
u32 mask = ADVERTISED_Autoneg | ADVERTISED_Pause;
/* Only support ANE */
if (cmd->autoneg != AUTONEG_ENABLE)
return -EINVAL;
mask &= (ADVERTISED_1000baseT_Half |
ADVERTISED_1000baseT_Full |
ADVERTISED_100baseT_Half |
ADVERTISED_100baseT_Full |
ADVERTISED_10baseT_Half |
ADVERTISED_10baseT_Full);
spin_lock(&priv->lock);
if (priv->hw->mac->ctrl_ane)
priv->hw->mac->ctrl_ane(priv->hw, 1);
spin_unlock(&priv->lock);
return 0;
}
spin_lock(&priv->lock);
rc = phy_ethtool_sset(phy, cmd);
spin_unlock(&priv->lock);
return rc;
}
示例4: sh_eth_set_settings
static int sh_eth_set_settings(struct net_device *ndev,
struct ethtool_cmd *ecmd)
{
struct sh_eth_private *mdp = netdev_priv(ndev);
unsigned long flags;
int ret;
spin_lock_irqsave(&mdp->lock, flags);
/* disable tx and rx */
sh_eth_rcv_snd_disable(ndev);
ret = phy_ethtool_sset(mdp->phydev, ecmd);
if (ret)
goto error_exit;
if (ecmd->duplex == DUPLEX_FULL)
mdp->duplex = 1;
else
mdp->duplex = 0;
if (mdp->cd->set_duplex)
mdp->cd->set_duplex(ndev);
error_exit:
mdelay(1);
/* enable tx and rx */
sh_eth_rcv_snd_enable(ndev);
spin_unlock_irqrestore(&mdp->lock, flags);
return ret;
}
示例5: sxgbe_setsettings
static int sxgbe_setsettings(struct net_device *dev, struct ethtool_cmd *cmd)
{
struct sxgbe_priv_data *priv = netdev_priv(dev);
if (priv->phydev)
return phy_ethtool_sset(priv->phydev, cmd);
return -EOPNOTSUPP;
}
示例6: fs_set_settings
static int fs_set_settings(struct net_device *dev, struct ethtool_cmd *cmd)
{
struct fs_enet_private *fep = netdev_priv(dev);
if (!fep->phydev)
return -ENODEV;
return phy_ethtool_sset(fep->phydev, cmd);
}
示例7: dsa_slave_set_settings
static int
dsa_slave_set_settings(struct net_device *dev, struct ethtool_cmd *cmd)
{
struct dsa_slave_priv *p = netdev_priv(dev);
if (p->phy != NULL)
return phy_ethtool_sset(p->phy, cmd);
return -EOPNOTSUPP;
}
示例8: tse_set_settings
static int tse_set_settings(struct net_device *dev, struct ethtool_cmd *cmd)
{
struct alt_tse_private *priv = netdev_priv(dev);
struct phy_device *phydev = priv->phydev;
if (phydev == NULL)
return -ENODEV;
return phy_ethtool_sset(phydev, cmd);
}
示例9: gfar_ssettings
static int gfar_ssettings(struct net_device *dev, struct ethtool_cmd *cmd)
{
struct gfar_private *priv = netdev_priv(dev);
struct phy_device *phydev = priv->phydev;
if (NULL == phydev)
return -ENODEV;
return phy_ethtool_sset(phydev, cmd);
}
示例10: emac_set_settings
static int emac_set_settings(struct net_device *dev, struct ethtool_cmd *cmd)
{
struct emac_board_info *dm = netdev_priv(dev);
struct phy_device *phydev = dm->phy_dev;
if (!phydev)
return -ENODEV;
return phy_ethtool_sset(phydev, cmd);
}
示例11: arc_emac_set_settings
/**
* arc_emac_set_settings - Set PHY settings as passed in the argument.
* @ndev: Pointer to net_device structure.
* @cmd: Pointer to ethtool_cmd structure.
*
* This implements ethtool command for setting various PHY settings. If PHY
* could not be found, the function returns -ENODEV. This function calls the
* relevant PHY ethtool API to set the PHY.
* Issue e.g. "ethtool -s ethX speed 1000" under linux prompt to execute this
* function.
*/
static int arc_emac_set_settings(struct net_device *ndev,
struct ethtool_cmd *cmd)
{
struct arc_emac_priv *priv = netdev_priv(ndev);
if (!capable(CAP_NET_ADMIN))
return -EPERM;
return phy_ethtool_sset(priv->phy_dev, cmd);
}
示例12: uec_set_settings
static int
uec_set_settings(struct net_device *netdev, struct ethtool_cmd *ecmd)
{
struct ucc_geth_private *ugeth = netdev_priv(netdev);
struct phy_device *phydev = ugeth->phydev;
if (!phydev)
return -ENODEV;
return phy_ethtool_sset(phydev, ecmd);
}
示例13: ag71xx_ethtool_set_settings
static int ag71xx_ethtool_set_settings(struct net_device *dev,
struct ethtool_cmd *cmd)
{
struct ag71xx *ag = netdev_priv(dev);
struct phy_device *phydev = ag->phy_dev;
if (!phydev)
return -ENODEV;
return phy_ethtool_sset(phydev, cmd);
}
示例14: stmmac_ethtool_setsettings
int stmmac_ethtool_setsettings(struct net_device *dev, struct ethtool_cmd *cmd)
{
struct stmmac_priv *priv = netdev_priv(dev);
struct phy_device *phy = priv->phydev;
int rc;
spin_lock(&priv->lock);
rc = phy_ethtool_sset(phy, cmd);
spin_unlock(&priv->lock);
return rc;
}
示例15: cvm_oct_set_settings
static int cvm_oct_set_settings(struct net_device *dev, struct ethtool_cmd *cmd)
{
struct octeon_ethernet *priv = netdev_priv(dev);
if (!capable(CAP_NET_ADMIN))
return -EPERM;
if (priv->phydev)
return phy_ethtool_sset(priv->phydev, cmd);
return -EINVAL;
}