Re: [PATCH v1 2/3] lib/vsprintf: Replace custom spec to print decimals with generic one

Andy Shevchenko
2020-07-31T15:48:35Z

On Fri, Jul 31, 2020 at 6:17 PM Steven Rostedt <rostedt@goodmis.org> wrote:
>
> On Fri, 31 Jul 2020 15:31:44 +0300
> Andy Shevchenko <andriy.shevchenko@linux.intel.com> wrote:
>
> > When printing phandle in %pOF the custom spec is used. First of all,
> > it has SMALL flag which makes no sense for decimal numbers. Second,
> > we have already default spec for decimal numbers. Use the latter in
> > %pOF case as well.
>
> The change log threw me off, as this is specifically for %pOFp. This
> only affects the phandle ('p') portion. Please update the change log to
> reflect that.

I think phandle implies this, but I update for sake of clarification.

> Also, I would add in Cc those that added this code and looked it over:
>
> Cc: Pantelis Antoniou <pantelis.antoniou@konsulko.com>
> Cc: Joe Perches <joe@perches.com>
> Cc: Rob Herring <robh@kernel.org>
>
> And mentioned in that code's change log:
>
> Cc: Grant Likely <grant.likely@arm.com>

Okay, will do.
Also I have to mention that this (actually entire series) has been
tested against test_printf and OF unittest modules.

> Otherwise,
>
> Reviewed-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
>
> -- Steve
>
>
>
> >
> > Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
> > ---
> > lib/vsprintf.c | 8 +-------
> > 1 file changed, 1 insertion(+), 7 deletions(-)
> >
> > diff --git a/lib/vsprintf.c b/lib/vsprintf.c
> > index 8a8ac7ce0289..90d818ef03c5 100644
> > --- a/lib/vsprintf.c
> > +++ b/lib/vsprintf.c
> > @@ -1979,12 +1979,6 @@ char *device_node_string(char *buf, char *end, struct device_node *dn,
> > char *buf_start = buf;
> > struct property *prop;
> > bool has_mult, pass;
> > - static const struct printf_spec num_spec = {
> > - .flags = SMALL,
> > - .field_width = -1,
> > - .precision = -1,
> > - .base = 10,
> > - };
> >
> > struct printf_spec str_spec = spec;
> > str_spec.field_width = -1;
> > @@ -2024,7 +2018,7 @@ char *device_node_string(char *buf, char *end, struct device_node *dn,
> > str_spec.precision = precision;
> > break;
> > case 'p': /* phandle */
> > - buf = number(buf, end, (unsigned int)dn->phandle, num_spec);
> > + buf = number(buf, end, (unsigned int)dn->phandle, default_dec_spec);
> > break;
> > case 'P': /* path-spec */
> > p = fwnode_get_name(of_fwnode_handle(dn));
>

--
With Best Regards,
Andy Shevchenko