Re: [PATCH next v2 1/3] ethtool: Implement ethtool_puts()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Oct 26, 2023 at 3:02 PM Vladimir Oltean <olteanv@xxxxxxxxx> wrote:
>
> 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@xxxxxxxxxx>
> > ---
> >  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.

Ah, I did have a conflict and resolved by simply moving the hunks
out of each other's way. Trivial resolution.

Should I undo this? I want my patch against next since it's targeting
some stuff in-flight over there. BUT, I also want ethtool_puts() to be
directly below ethtool_sprintf() in the source code. What to do?

>
> Please wait for at least 24 hours to pass before posting a new version,
> to allow for more comments to come in.

Ok :)

Thanks
Justin





[Index of Archives]     [Linux Samsung SoC]     [Linux Rockchip SoC]     [Linux Actions SoC]     [Linux for Synopsys ARC Processors]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]


  Powered by Linux