fec: Add support to restart autonegotiate
Subsystems (3)
PATCH 1/1 fec: Add support to restart autonegotiate
From: Chris <[email protected]>
Add ethtool operation to restart autonegotiation via the PHY.
Also cleanup two whitespace errors that break kernel guidelines.
Tested on i.MX28EVK.
Signed-off-by Chris <[email protected]>
--- drivers/net/ethernet/freescale/fec_main.c | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-)
drivers/net/ethernet/freescale/fec_main.c +14 -3
@@ -150,7 +150,7 @@ MODULE_PARM_DESC(macaddr, "FEC Ethernet MAC address");#define FEC_FLASHMAC 0xf0006000#elif defined(CONFIG_CANCam)#define FEC_FLASHMAC 0xf0020000 -#elif defined (CONFIG_M5272C3 ) +#elif defined(CONFIG_M5272C3 )#define FEC_FLASHMAC (0xffe04000 + 4)#elif defined(CONFIG_MOD5272 )#define FEC_FLASHMAC 0xffc0406b
@@ -1206,8 +1206,7 @@ static int fec_enet_mii_probe(struct net_device *ndev)if (id_entry->driver_data &FEC_QUIRK_HAS_GBIT ) { phy_dev->supported &=PHY_GBIT_FEATURES ; phy_dev->supported |= SUPPORTED_Pause; - } -else + }else phy_dev->supported &=PHY_BASIC_FEATURES ; phy_dev->advertising = phy_dev->supported;
@@ -1436,6 +1435,17 @@ static int fec_enet_set_pauseparam(struct net_device *ndev,return 0 ; } +static int fec_enet_nway_reset (struct net_device *dev) +{ +struct fec_enet_private *fep =netdev_priv (dev); +struct phy_device *phydev = fep->phy_dev; + +if (!phydev) +return -ENODEV ; + +return genphy_restart_aneg (phydev); +} +static const struct ethtool_ops fec_enet_ethtool_ops = { .get_pauseparam = fec_enet_get_pauseparam, .set_pauseparam = fec_enet_set_pauseparam,
@@ -1444,6 +1454,7 @@ static const struct ethtool_ops fec_enet_ethtool_ops = { .get_drvinfo = fec_enet_get_drvinfo, .get_link = ethtool_op_get_link, .get_ts_info = fec_enet_get_ts_info, + .nway_reset = fec_enet_nway_reset, };static int fec_enet_ioctl (struct net_device *ndev,struct ifreq *rq,int cmd)
Signature · 1 line
1.8.1.2
Hello.
Quoted 5 lines · On 17-06-2013 4:04, [email protected] wrote:
From: Chris <[email protected]>
Add ethtool operation to restart autonegotiation via the PHY.
Also cleanup two whitespace errors that break kernel guidelines.
This "also" is asking for another patch.
Quoted 3 lines
Tested on i.MX28EVK.
Signed-off-by Chris <[email protected]>
You must specify your full name.
Quoted 18 lines
--- drivers/net/ethernet/freescale/fec_main.c | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-)drivers/net/ethernet/freescale/fec_main.c +1
-1@@ -150,7 +150,7 @@ MODULE_PARM_DESC(macaddr, "FEC Ethernet MAC address");#define FEC_FLASHMAC 0xf0006000#elif defined(CONFIG_CANCam)#define FEC_FLASHMAC 0xf0020000 -#elif defined (CONFIG_M5272C3 ) +#elif defined(CONFIG_M5272C3 )#define FEC_FLASHMAC (0xffe04000 + 4)#elif defined(CONFIG_MOD5272 )#define FEC_FLASHMAC 0xffc0406b
drivers/net/ethernet/freescale/fec_main.c static int fec_enet_mii_probe(struct net_device *ndev) · line 1210
Quoted 7 lines
drivers/net/ethernet/freescale/fec_main.c +1
-2@@ -1206,8 +1206,7 @@ static int fec_enet_mii_probe(struct net_device *ndev)if (id_entry->driver_data &FEC_QUIRK_HAS_GBIT ) { phy_dev->supported &=PHY_GBIT_FEATURES ; phy_dev->supported |= SUPPORTED_Pause; - } -else + }else phy_dev->supported &=PHY_BASIC_FEATURES ;
According to Documentation/CodingStyle, *else* branch should have
{}, as *if* branch has it.
WBR, Sergei