summaryrefslogtreecommitdiff
path: root/net/ethtool
diff options
context:
space:
mode:
authorAlexander Duyck <alexanderduyck@fb.com>2021-03-17 03:30:36 +0300
committerDavid S. Miller <davem@davemloft.net>2021-03-17 21:42:30 +0300
commit7888fe53b7066c284e172d98d98d1865d6a9e5a0 (patch)
tree7774816ad11687302b0fc973e93179e3eda1e586 /net/ethtool
parent0c88eda9f5590eac0ac7e1963dd1f35b25b39c62 (diff)
downloadlinux-7888fe53b7066c284e172d98d98d1865d6a9e5a0.tar.xz
ethtool: Add common function for filling out strings
Add a function to handle the common pattern of printing a string into the ethtool strings interface and incrementing the string pointer by the ETH_GSTRING_LEN. Most of the drivers end up doing this and several have implemented their own versions of this function so it would make sense to consolidate on one implementation. Signed-off-by: Alexander Duyck <alexanderduyck@fb.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ethtool')
-rw-r--r--net/ethtool/ioctl.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/net/ethtool/ioctl.c b/net/ethtool/ioctl.c
index 24783b71c584..0788cc3b3114 100644
--- a/net/ethtool/ioctl.c
+++ b/net/ethtool/ioctl.c
@@ -1844,6 +1844,18 @@ out:
return ret;
}
+__printf(2, 3) void ethtool_sprintf(u8 **data, const char *fmt, ...)
+{
+ va_list args;
+
+ va_start(args, fmt);
+ vsnprintf(*data, ETH_GSTRING_LEN, fmt, args);
+ va_end(args);
+
+ *data += ETH_GSTRING_LEN;
+}
+EXPORT_SYMBOL(ethtool_sprintf);
+
static int ethtool_phys_id(struct net_device *dev, void __user *useraddr)
{
struct ethtool_value id;