net: batman-adv: use new api ethtool_{get|set}_link_ksettings

Message ID 1490907687-11784-1-git-send-email-tremyfr@gmail.com (mailing list archive)
State Rejected, archived
Delegated to: Sven Eckelmann
Headers

Commit Message

Philippe Reynes March 30, 2017, 9:01 p.m. UTC
  The ethtool api {get|set}_settings is deprecated.
We move this driver to new api {get|set}_link_ksettings.

I've only compiled this change. If someone may test it,
it would be very nice.

Signed-off-by: Philippe Reynes <tremyfr@gmail.com>
---
 net/batman-adv/soft-interface.c |   25 ++++++++++++-------------
 1 files changed, 12 insertions(+), 13 deletions(-)
  

Comments

Sven Eckelmann March 31, 2017, 6:50 a.m. UTC | #1
On Donnerstag, 30. März 2017 23:01:27 CEST Philippe Reynes wrote:
> The ethtool api {get|set}_settings is deprecated.
> We move this driver to new api {get|set}_link_ksettings.
> 
> I've only compiled this change. If someone may test it,
> it would be very nice.
> 
> Signed-off-by: Philippe Reynes <tremyfr@gmail.com>
> ---
>  net/batman-adv/soft-interface.c |   25 ++++++++++++-------------
>  1 files changed, 12 insertions(+), 13 deletions(-)

Do you know if anyone already prepared the get_link_ksettings support for
kernels older than 4.6 for backports.git?

Kind regards,
	Sven
  
Philippe Reynes March 31, 2017, 8:33 p.m. UTC | #2
Hi Sven,

On 3/31/17, Sven Eckelmann <sven@narfation.org> wrote:
> On Donnerstag, 30. März 2017 23:01:27 CEST Philippe Reynes wrote:
>> The ethtool api {get|set}_settings is deprecated.
>> We move this driver to new api {get|set}_link_ksettings.
>>
>> I've only compiled this change. If someone may test it,
>> it would be very nice.
>>
>> Signed-off-by: Philippe Reynes <tremyfr@gmail.com>
>> ---
>>  net/batman-adv/soft-interface.c |   25 ++++++++++++-------------
>>  1 files changed, 12 insertions(+), 13 deletions(-)
>
> Do you know if anyone already prepared the get_link_ksettings support for
> kernels older than 4.6 for backports.git?

Sorry, I don't know this repo. Do you have an url please ?
But I suppose that nobody works on such backport.

> Kind regards,
> 	Sven

Regards,
Philippe
  
Sven Eckelmann April 1, 2017, 6:40 a.m. UTC | #3
On Freitag, 31. März 2017 22:33:34 CEST Philippe Reynes wrote:
> > Do you know if anyone already prepared the get_link_ksettings support for
> > kernels older than 4.6 for backports.git?
> 
> Sorry, I don't know this repo. Do you have an url please ?
> But I suppose that nobody works on such backport.

More information about it can be found at https://backports.wiki.kernel.org 
and https://git.kernel.org/pub/scm/linux/kernel/git/backports/backports.git/

Btw. the code you are modifying will most likely be dropped. Your patch will 
get rejected because of this. But thanks for submitting the api conversion 
patch (even when it will be rejected).

Kind regards,
	Sven
  
Sven Eckelmann April 3, 2017, 5 p.m. UTC | #4
On Samstag, 1. April 2017 08:40:54 CEST Sven Eckelmann wrote:
[...]
> Btw. the code you are modifying will most likely be dropped. Your patch will 
> get rejected because of this. But thanks for submitting the api conversion 
> patch (even when it will be rejected).

The patch was now marked as rejected because a conflicting patch [1]
was applied. The code, which your patch modified, doesn't exist anymore.

Kind regards,
	Sven

[1] https://git.open-mesh.org/linux-merge.git/commit/e2790a4b275d52e332e0ad71b5f2eff53fe21805
  

Patch

diff --git a/net/batman-adv/soft-interface.c b/net/batman-adv/soft-interface.c
index d042c99..07f6627 100644
--- a/net/batman-adv/soft-interface.c
+++ b/net/batman-adv/soft-interface.c
@@ -64,7 +64,8 @@ 
 #include "sysfs.h"
 #include "translation-table.h"
 
-static int batadv_get_settings(struct net_device *dev, struct ethtool_cmd *cmd);
+static int batadv_get_link_ksettings(struct net_device *dev,
+				     struct ethtool_link_ksettings *cmd);
 static void batadv_get_drvinfo(struct net_device *dev,
 			       struct ethtool_drvinfo *info);
 static u32 batadv_get_msglevel(struct net_device *dev);
@@ -76,7 +77,6 @@  static void batadv_get_ethtool_stats(struct net_device *dev,
 static int batadv_get_sset_count(struct net_device *dev, int stringset);
 
 static const struct ethtool_ops batadv_ethtool_ops = {
-	.get_settings = batadv_get_settings,
 	.get_drvinfo = batadv_get_drvinfo,
 	.get_msglevel = batadv_get_msglevel,
 	.set_msglevel = batadv_set_msglevel,
@@ -84,6 +84,7 @@  static void batadv_get_ethtool_stats(struct net_device *dev,
 	.get_strings = batadv_get_strings,
 	.get_ethtool_stats = batadv_get_ethtool_stats,
 	.get_sset_count = batadv_get_sset_count,
+	.get_link_ksettings = batadv_get_link_ksettings,
 };
 
 int batadv_skb_head_push(struct sk_buff *skb, unsigned int len)
@@ -1085,18 +1086,16 @@  struct rtnl_link_ops batadv_link_ops __read_mostly = {
 };
 
 /* ethtool */
-static int batadv_get_settings(struct net_device *dev, struct ethtool_cmd *cmd)
+static int batadv_get_link_ksettings(struct net_device *dev,
+				     struct ethtool_link_ksettings *cmd)
 {
-	cmd->supported = 0;
-	cmd->advertising = 0;
-	ethtool_cmd_speed_set(cmd, SPEED_10);
-	cmd->duplex = DUPLEX_FULL;
-	cmd->port = PORT_TP;
-	cmd->phy_address = 0;
-	cmd->transceiver = XCVR_INTERNAL;
-	cmd->autoneg = AUTONEG_DISABLE;
-	cmd->maxtxpkt = 0;
-	cmd->maxrxpkt = 0;
+	ethtool_link_ksettings_zero_link_mode(cmd, supported);
+	ethtool_link_ksettings_zero_link_mode(cmd, advertising);
+	cmd->base.speed = SPEED_10;
+	cmd->base.duplex = DUPLEX_FULL;
+	cmd->base.port = PORT_TP;
+	cmd->base.phy_address = 0;
+	cmd->base.autoneg = AUTONEG_DISABLE;
 
 	return 0;
 }