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

Steven Rostedt
2020-07-31T15:15:16Z

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.

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>

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));