mirror of
				git://git.openwrt.org/openwrt/openwrt.git
				synced 2025-10-31 05:54:26 -04:00 
			
		
		
		
	
		
			
				
	
	
		
			41 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			41 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
| From accc558f334662c8b16c121b4819931c028e8eb0 Mon Sep 17 00:00:00 2001
 | |
| From: Maxime Bizon <mbizon@freebox.fr>
 | |
| Date: Mon, 8 Jun 2009 16:12:10 +0200
 | |
| Subject: [PATCH 27/63] bcm63xx_enet: implement reset_autoneg ethtool.
 | |
| 
 | |
| ---
 | |
|  drivers/net/ethernet/broadcom/bcm63xx_enet.c |   15 +++++++++++++++
 | |
|  1 files changed, 15 insertions(+), 0 deletions(-)
 | |
| 
 | |
| --- a/drivers/net/ethernet/broadcom/bcm63xx_enet.c
 | |
| +++ b/drivers/net/ethernet/broadcom/bcm63xx_enet.c
 | |
| @@ -1290,6 +1290,20 @@ static void bcm_enet_get_ethtool_stats(s
 | |
|  	mutex_unlock(&priv->mib_update_lock);
 | |
|  }
 | |
|  
 | |
| +static int bcm_enet_nway_reset(struct net_device *dev)
 | |
| +{
 | |
| +	struct bcm_enet_priv *priv;
 | |
| +
 | |
| +	priv = netdev_priv(dev);
 | |
| +	if (priv->has_phy) {
 | |
| +		if (!priv->phydev)
 | |
| +			return -ENODEV;
 | |
| +		return genphy_restart_aneg(priv->phydev);
 | |
| +	}
 | |
| +
 | |
| +	return -EOPNOTSUPP;
 | |
| +}
 | |
| +
 | |
|  static int bcm_enet_get_settings(struct net_device *dev,
 | |
|  				 struct ethtool_cmd *cmd)
 | |
|  {
 | |
| @@ -1432,6 +1446,7 @@ static const struct ethtool_ops bcm_enet
 | |
|  	.get_strings		= bcm_enet_get_strings,
 | |
|  	.get_sset_count		= bcm_enet_get_sset_count,
 | |
|  	.get_ethtool_stats      = bcm_enet_get_ethtool_stats,
 | |
| +	.nway_reset		= bcm_enet_nway_reset,
 | |
|  	.get_settings		= bcm_enet_get_settings,
 | |
|  	.set_settings		= bcm_enet_set_settings,
 | |
|  	.get_drvinfo		= bcm_enet_get_drvinfo,
 |