Commit 2a48c635 authored by justinstitt@google.com's avatar justinstitt@google.com Committed by David S. Miller

ethtool: Implement ethtool_puts()

Use strscpy() to implement ethtool_puts().

Functionally the same as ethtool_sprintf() when it's used with two
arguments or with just "%s" format specifier.
Signed-off-by: default avatarJustin Stitt <justinstitt@google.com>
Reviewed-by: default avatarPrzemek Kitszel <przemyslaw.kitszel@intel.com>
Reviewed-by: default avatarAndrew Lunn <andrew@lunn.ch>
Reviewed-by: default avatarMadhuri Sripada <madhuri.sripada@microchip.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 09b48947
......@@ -1061,6 +1061,19 @@ int ethtool_get_ts_info_by_layer(struct net_device *dev, struct ethtool_ts_info
*/
extern __printf(2, 3) void ethtool_sprintf(u8 **data, const char *fmt, ...);
/**
* ethtool_puts - Write string to ethtool string data
* @data: Pointer to a pointer to the start of string to update
* @str: String to write
*
* Write string to *data without a trailing newline. Update *data
* to point at start of next string.
*
* Prefer this function to ethtool_sprintf() when given only
* two arguments or if @fmt is just "%s".
*/
extern void ethtool_puts(u8 **data, const char *str);
/* Link mode to forced speed capabilities maps */
struct ethtool_forced_speed_map {
u32 speed;
......
......@@ -1994,6 +1994,13 @@ __printf(2, 3) void ethtool_sprintf(u8 **data, const char *fmt, ...)
}
EXPORT_SYMBOL(ethtool_sprintf);
void ethtool_puts(u8 **data, const char *str)
{
strscpy(*data, str, ETH_GSTRING_LEN);
*data += ETH_GSTRING_LEN;
}
EXPORT_SYMBOL(ethtool_puts);
static int ethtool_phys_id(struct net_device *dev, void __user *useraddr)
{
struct ethtool_value id;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment