summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Thomson <david.thomson@alliedtelesis.co.nz>2015-07-10 04:56:54 +0300
committerDavid S. Miller <davem@davemloft.net>2015-07-11 09:17:32 +0300
commit634ec36cc0ab9d8dda0f2c101fa28d2e2a61b9eb (patch)
tree77787306c4bc5b6d4937dd5e705b42a96fee5ac4
parenta4e2405cc5d20ed6d58c4874325856e80e76a7f8 (diff)
downloadlinux-634ec36cc0ab9d8dda0f2c101fa28d2e2a61b9eb.tar.xz
net: phy: Pass mdix ethtool setting through to phy driver
Pass the mdix setting from ethtool down to the phy driver, to allow driver specific implementations of manually setting the polarity. Signed-off-by: David Thomson <david.thomson@alliedtelesis.co.nz> Reviewed-by: Florian Fainelli <f.fainelli@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r--drivers/net/phy/phy.c2
-rw-r--r--include/linux/phy.h2
2 files changed, 4 insertions, 0 deletions
diff --git a/drivers/net/phy/phy.c b/drivers/net/phy/phy.c
index b2197b506acb..47693a9ebd3a 100644
--- a/drivers/net/phy/phy.c
+++ b/drivers/net/phy/phy.c
@@ -353,6 +353,8 @@ int phy_ethtool_sset(struct phy_device *phydev, struct ethtool_cmd *cmd)
phydev->duplex = cmd->duplex;
+ phydev->mdix = cmd->eth_tp_mdix_ctrl;
+
/* Restart the PHY */
phy_start_aneg(phydev);
diff --git a/include/linux/phy.h b/include/linux/phy.h
index a26c3f84b8dd..e5fb1d415961 100644
--- a/include/linux/phy.h
+++ b/include/linux/phy.h
@@ -424,6 +424,8 @@ struct phy_device {
struct net_device *attached_dev;
+ u8 mdix;
+
void (*adjust_link)(struct net_device *dev);
};
#define to_phy_device(d) container_of(d, struct phy_device, dev)