[PATCH next v2 1/3] ethtool: Implement ethtool_puts()
Vladimir Oltean
olteanv at gmail.com
Thu Oct 26 15:02:48 PDT 2023
Hi Justin,
On Thu, Oct 26, 2023 at 09:56:07PM +0000, Justin Stitt wrote:
> 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: Justin Stitt <justinstitt at google.com>
> ---
> include/linux/ethtool.h | 34 +++++++++++++++++++++++-----------
> net/ethtool/ioctl.c | 7 +++++++
> 2 files changed, 30 insertions(+), 11 deletions(-)
>
> diff --git a/include/linux/ethtool.h b/include/linux/ethtool.h
> index 226a36ed5aa1..7129dd2e227c 100644
> --- a/include/linux/ethtool.h
> +++ b/include/linux/ethtool.h
> @@ -1053,22 +1053,34 @@ static inline int ethtool_mm_frag_size_min_to_add(u32 val_min, u32 *val_add,
> */
> extern __printf(2, 3) void ethtool_sprintf(u8 **data, const char *fmt, ...);
>
> +/**
> + * ethtool_puts - Write string to ethtool string data
> + * @data: Pointer to start of string to update
> + * @str: String to write
> + *
> + * Write string to data. 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;
> + u32 speed;
> __ETHTOOL_DECLARE_LINK_MODE_MASK(caps);
>
> - const u32 *cap_arr;
> - u32 arr_size;
> + const u32 *cap_arr;
> + u32 arr_size;
> };
>
> -#define ETHTOOL_FORCED_SPEED_MAP(prefix, value) \
> -{ \
> - .speed = SPEED_##value, \
> - .cap_arr = prefix##_##value, \
> - .arr_size = ARRAY_SIZE(prefix##_##value), \
> -}
> +#define ETHTOOL_FORCED_SPEED_MAP(prefix, value) \
> + { \
> + .speed = SPEED_##value, .cap_arr = prefix##_##value, \
> + .arr_size = ARRAY_SIZE(prefix##_##value), \
> + }
>
> -void
> -ethtool_forced_speed_maps_init(struct ethtool_forced_speed_map *maps, u32 size);
> +void ethtool_forced_speed_maps_init(struct ethtool_forced_speed_map *maps,
> + u32 size);
> #endif /* _LINUX_ETHTOOL_H */
Maybe this is due to an incorrect rebase conflict resolution, but you
shouldn't have touched any of the ethtool force speed maps.
Please wait for at least 24 hours to pass before posting a new version,
to allow for more comments to come in.
More information about the Linux-mediatek
mailing list