Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1444661

[PATCH 2/2] net: ethernet: octeon: use phy_ethtool_{get|set}_link_ksettings

Path csiph.com!news.mixmin.net!aioe.org!bofh.it!news.nic.it!robomod
From Philippe Reynes <tremyfr@gmail.com>
Newsgroups linux.kernel
Subject [PATCH 2/2] net: ethernet: octeon: use phy_ethtool_{get|set}_link_ksettings
Date Sat, 16 Jul 2016 01:20:02 +0200
Message-ID <rVkyK-4CK-3@gated-at.bofh.it> (permalink)
References <rVkyK-4CK-5@gated-at.bofh.it>
X-Original-To gregkh@linuxfoundation.org, aaro.koskinen@iki.fi, nevola@gmail.com, andrew@lunn.ch, davem@davemloft.net, bhumirks@gmail.com, okash.khawaja@gmail.com, david.daney@cavium.com, cristina.moraru09@gmail.com, aybuke.147@gmail.com, kevin@darbyshire-bryant.me.uk, bhaktipriya96@gmail.com, joe@perches.com
Dkim-Signature v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=Is1lYVJ7+fdTczZ5LhjNP5Gsg4+uC6CckT7PdlOvHEw=; b=SigWGbkrpfI/EwY5pgqPg+z68jt8SnwR5p3yT9WUD+QalMatx4vx+QOMWCxDHw2HBb DXOZEDBi2GU8EdczhLCMEGY6upMFieqUnnkEWDqYYjnl0pccw6jB1rZdzzPxJtT+tUT5 VyWL1BGDEFX4UUH+JMEdMRvPuyMxQj372AcVS7dR/IZwshGnMwmK/OgkHHTcqO335dOg NJ1IjYJzjbgzAEEs/u7ApXStboi+srfftjl2lZL40iVC0XaGC6MpLdmKBGxMSavWP7z3 rIWmG2P7g2clLHO/7qKDxaPNFTAQu7mJMabZ3jEYFRLZ07ofDRiJJL3QuR/c0hFMPJ4P f+NA==
X-Google-Dkim-Signature v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=Is1lYVJ7+fdTczZ5LhjNP5Gsg4+uC6CckT7PdlOvHEw=; b=QzWJEhqliNZMqrEgDkRdmPU2ZZy1c41HnZs/GG0DBAMSpysWCG+3rBFrnb+fE2AhS0 AydOQ0c/YRABRvFmsnLObLcz3v/s3PkXpsBCXjTKOeqQJplonYdSOwo0BVolG08jDbiE F400n7XgVv0VsRonzlKcjw5ZkV15BFOZWTQFopLV5ksMdg+YZyna7XsEytQY7veWYWs7 t3MdA0vU4wkjKPXmCDWBbNCWtquhtRXTXGpRF3oAzrbtn0MGIliUGEmyrrDlay/VOkKx 7wnILRhaa/szSQtr+Wje0r5h7KFCIwyUBfsZ5PHLKUUVmFFrEHPH2Gt5SLzQEAyrqMGW Baww==
X-Gm-Message-State ALyK8tIiN4jYxxZ97V9goaVCHVZ5d8Nkxaff/X+3nj0Ia45wbkWwozZylVQMToSr6wKA5g==
X-Received by 10.194.164.170 with SMTP id yr10mr2623759wjb.88.1468624424439; Fri, 15 Jul 2016 16:13:44 -0700 (PDT)
X-Mailer git-send-email 1.7.4.4
Sender robomod@news.nic.it
List-ID <linux-kernel.vger.kernel.org>
X-Mailing-List linux-kernel@vger.kernel.org
Approved robomod@news.nic.it
Lines 57
Organization linux.* mail to news gateway
X-Original-Cc devel@driverdev.osuosl.org, linux-kernel@vger.kernel.org, Philippe Reynes <tremyfr@gmail.com>
X-Original-Date Sat, 16 Jul 2016 01:13:35 +0200
X-Original-Message-ID <1468624415-29346-2-git-send-email-tremyfr@gmail.com>
X-Original-References <1468624415-29346-1-git-send-email-tremyfr@gmail.com>
X-Original-Sender linux-kernel-owner@vger.kernel.org
Xref csiph.com linux.kernel:1444661

Show key headers only | View raw


There are two generics functions phy_ethtool_{get|set}_link_ksettings,
so we can use them instead of defining the same code in the driver.

There was a check on CAP_NET_ADMIN in cvm_oct_set_settings, but this
check is already done in dev_ethtool, so no need to repeat it before
calling the generic function.

Signed-off-by: Philippe Reynes <tremyfr@gmail.com>
---
 drivers/staging/octeon/ethernet-mdio.c |   23 ++---------------------
 1 files changed, 2 insertions(+), 21 deletions(-)

diff --git a/drivers/staging/octeon/ethernet-mdio.c b/drivers/staging/octeon/ethernet-mdio.c
index 661b97b..1fde9c8 100644
--- a/drivers/staging/octeon/ethernet-mdio.c
+++ b/drivers/staging/octeon/ethernet-mdio.c
@@ -34,25 +34,6 @@ static void cvm_oct_get_drvinfo(struct net_device *dev,
 	strlcpy(info->bus_info, "Builtin", sizeof(info->bus_info));
 }
 
-static int cvm_oct_get_settings(struct net_device *dev, struct ethtool_cmd *cmd)
-{
-	if (dev->phydev)
-		return phy_ethtool_gset(dev->phydev, cmd);
-
-	return -EINVAL;
-}
-
-static int cvm_oct_set_settings(struct net_device *dev, struct ethtool_cmd *cmd)
-{
-	if (!capable(CAP_NET_ADMIN))
-		return -EPERM;
-
-	if (dev->phydev)
-		return phy_ethtool_sset(dev->phydev, cmd);
-
-	return -EINVAL;
-}
-
 static int cvm_oct_nway_reset(struct net_device *dev)
 {
 	if (!capable(CAP_NET_ADMIN))
@@ -66,10 +47,10 @@ static int cvm_oct_nway_reset(struct net_device *dev)
 
 const struct ethtool_ops cvm_oct_ethtool_ops = {
 	.get_drvinfo = cvm_oct_get_drvinfo,
-	.get_settings = cvm_oct_get_settings,
-	.set_settings = cvm_oct_set_settings,
 	.nway_reset = cvm_oct_nway_reset,
 	.get_link = ethtool_op_get_link,
+	.get_link_ksettings = phy_ethtool_get_link_ksettings,
+	.set_link_ksettings = phy_ethtool_set_link_ksettings,
 };
 
 /**
-- 
1.7.4.4

Back to linux.kernel | Previous | Next — Previous in thread | Find similar | Unroll thread


Thread

[PATCH 1/2] net: ethernet: octeon: use phydev from struct net_device Philippe Reynes <tremyfr@gmail.com> - 2016-07-16 01:20 +0200
  [PATCH 2/2] net: ethernet: octeon: use phy_ethtool_{get|set}_link_ksettings Philippe Reynes <tremyfr@gmail.com> - 2016-07-16 01:20 +0200

csiph-web