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


Groups > linux.kernel > #1602877 > unrolled thread

[PATCH 01/11] net: usb: usbnet: add new api ethtool_{get|set}_link_ksettings

Started byPhilippe Reynes <tremyfr@gmail.com>
First post2017-03-16 23:30 +0100
Last post2017-03-22 00:20 +0100
Articles 4 — 3 participants

Back to article view | Back to linux.kernel

This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by below is the oldest one visible, not the original post.


Contents

  [PATCH 01/11] net: usb: usbnet: add new api ethtool_{get|set}_link_ksettings Philippe Reynes <tremyfr@gmail.com> - 2017-03-16 23:30 +0100
    Re: [PATCH 01/11] net: usb: usbnet: add new api  ethtool_{get|set}_link_ksettings Oliver Neukum <oneukum@suse.com> - 2017-03-20 07:50 +0100
    Re: [PATCH 01/11] net: usb: usbnet: add new api  ethtool_{get|set}_link_ksettings Oliver Neukum <oneukum@suse.com> - 2017-03-21 12:40 +0100
      Re: [PATCH 01/11] net: usb: usbnet: add new api  ethtool_{get|set}_link_ksettings David Miller <davem@davemloft.net> - 2017-03-22 00:20 +0100

#1602877 — [PATCH 01/11] net: usb: usbnet: add new api ethtool_{get|set}_link_ksettings

FromPhilippe Reynes <tremyfr@gmail.com>
Date2017-03-16 23:30 +0100
Subject[PATCH 01/11] net: usb: usbnet: add new api ethtool_{get|set}_link_ksettings
Message-ID<tlM49-4UO-15@gated-at.bofh.it>
The ethtool api {get|set}_settings is deprecated.
We add the new api {get|set}_link_ksettings to this driver.

As I don't have the hardware, I'd be very pleased if
someone may test this patch.

Signed-off-by: Philippe Reynes <tremyfr@gmail.com>
---
 drivers/net/usb/usbnet.c   |   36 ++++++++++++++++++++++++++++++++++++
 include/linux/usb/usbnet.h |    4 ++++
 2 files changed, 40 insertions(+), 0 deletions(-)

diff --git a/drivers/net/usb/usbnet.c b/drivers/net/usb/usbnet.c
index 3de65ea..1b40b18 100644
--- a/drivers/net/usb/usbnet.c
+++ b/drivers/net/usb/usbnet.c
@@ -980,6 +980,40 @@ int usbnet_set_settings (struct net_device *net, struct ethtool_cmd *cmd)
 }
 EXPORT_SYMBOL_GPL(usbnet_set_settings);
 
+int usbnet_get_link_ksettings(struct net_device *net,
+			      struct ethtool_link_ksettings *cmd)
+{
+	struct usbnet *dev = netdev_priv(net);
+
+	if (!dev->mii.mdio_read)
+		return -EOPNOTSUPP;
+
+	return mii_ethtool_get_link_ksettings(&dev->mii, cmd);
+}
+EXPORT_SYMBOL_GPL(usbnet_get_link_ksettings);
+
+int usbnet_set_link_ksettings(struct net_device *net,
+			      const struct ethtool_link_ksettings *cmd)
+{
+	struct usbnet *dev = netdev_priv(net);
+	int retval;
+
+	if (!dev->mii.mdio_write)
+		return -EOPNOTSUPP;
+
+	retval = mii_ethtool_set_link_ksettings(&dev->mii, cmd);
+
+	/* link speed/duplex might have changed */
+	if (dev->driver_info->link_reset)
+		dev->driver_info->link_reset(dev);
+
+	/* hard_mtu or rx_urb_size may change in link_reset() */
+	usbnet_update_max_qlen(dev);
+
+	return retval;
+}
+EXPORT_SYMBOL_GPL(usbnet_set_link_ksettings);
+
 u32 usbnet_get_link (struct net_device *net)
 {
 	struct usbnet *dev = netdev_priv(net);
@@ -1046,6 +1080,8 @@ void usbnet_set_msglevel (struct net_device *net, u32 level)
 	.get_msglevel		= usbnet_get_msglevel,
 	.set_msglevel		= usbnet_set_msglevel,
 	.get_ts_info		= ethtool_op_get_ts_info,
+	.get_link_ksettings	= usbnet_get_link_ksettings,
+	.set_link_ksettings	= usbnet_set_link_ksettings,
 };
 
 /*-------------------------------------------------------------------------*/
diff --git a/include/linux/usb/usbnet.h b/include/linux/usb/usbnet.h
index 6e0ce8c..5bd8007 100644
--- a/include/linux/usb/usbnet.h
+++ b/include/linux/usb/usbnet.h
@@ -265,6 +265,10 @@ extern int usbnet_get_settings(struct net_device *net,
 			       struct ethtool_cmd *cmd);
 extern int usbnet_set_settings(struct net_device *net,
 			       struct ethtool_cmd *cmd);
+extern int usbnet_get_link_ksettings(struct net_device *net,
+				     struct ethtool_link_ksettings *cmd);
+extern int usbnet_set_link_ksettings(struct net_device *net,
+				     const struct ethtool_link_ksettings *cmd);
 extern u32 usbnet_get_link(struct net_device *net);
 extern u32 usbnet_get_msglevel(struct net_device *);
 extern void usbnet_set_msglevel(struct net_device *, u32);
-- 
1.7.4.4

[toc] | [next] | [standalone]


#1604204 — Re: [PATCH 01/11] net: usb: usbnet: add new api ethtool_{get|set}_link_ksettings

FromOliver Neukum <oneukum@suse.com>
Date2017-03-20 07:50 +0100
SubjectRe: [PATCH 01/11] net: usb: usbnet: add new api ethtool_{get|set}_link_ksettings
Message-ID<tmZiG-RH-15@gated-at.bofh.it>
In reply to#1602877
Am Donnerstag, den 16.03.2017, 23:18 +0100 schrieb Philippe Reynes:
> The ethtool api {get|set}_settings is deprecated.
> We add the new api {get|set}_link_ksettings to this driver.
> 
> As I don't have the hardware, I'd be very pleased if
> someone may test this patch.
> 
> Signed-off-by: Philippe Reynes <tremyfr@gmail.com>
Acked-by: Oliver Neukum <oneukum@suse.com>

[toc] | [prev] | [next] | [standalone]


#1605516 — Re: [PATCH 01/11] net: usb: usbnet: add new api ethtool_{get|set}_link_ksettings

FromOliver Neukum <oneukum@suse.com>
Date2017-03-21 12:40 +0100
SubjectRe: [PATCH 01/11] net: usb: usbnet: add new api ethtool_{get|set}_link_ksettings
Message-ID<tnqiR-2Gb-9@gated-at.bofh.it>
In reply to#1602877
Am Donnerstag, den 16.03.2017, 23:18 +0100 schrieb Philippe Reynes:
> The ethtool api {get|set}_settings is deprecated.
> We add the new api {get|set}_link_ksettings to this driver.
> 
> As I don't have the hardware, I'd be very pleased if
> someone may test this patch.
> 

Unfortunately I lack hardware to test.
Phillipe and I had a patch collision. David, please take his
patch for the next merge window. It looks good and is comprehensive and
nobody has reported issues. We will never find testers for all those
drivers on this list.

	Regards
		Oliver

[toc] | [prev] | [next] | [standalone]


#1606068 — Re: [PATCH 01/11] net: usb: usbnet: add new api ethtool_{get|set}_link_ksettings

FromDavid Miller <davem@davemloft.net>
Date2017-03-22 00:20 +0100
SubjectRe: [PATCH 01/11] net: usb: usbnet: add new api ethtool_{get|set}_link_ksettings
Message-ID<tnBei-1OD-17@gated-at.bofh.it>
In reply to#1605516
From: Oliver Neukum <oneukum@suse.com>
Date: Tue, 21 Mar 2017 12:33:03 +0100

> Am Donnerstag, den 16.03.2017, 23:18 +0100 schrieb Philippe Reynes:
>> The ethtool api {get|set}_settings is deprecated.
>> We add the new api {get|set}_link_ksettings to this driver.
>> 
>> As I don't have the hardware, I'd be very pleased if
>> someone may test this patch.
>> 
> 
> Unfortunately I lack hardware to test.
> Phillipe and I had a patch collision. David, please take his
> patch for the next merge window. It looks good and is comprehensive and
> nobody has reported issues. We will never find testers for all those
> drivers on this list.

Ok.

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web