Re: [PATCH v1 1/1] lib/vsprintf: define special_hex_number_unsigned_long()

From: Andrew Morton
Date: Tue Jan 26 2016 - 23:43:22 EST


On Thu, 14 Jan 2016 14:34:49 +0200 Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> wrote:

> Define a macro for convenient use with values of unsigned long type.
>
> The value in symbol_string() is type of unsigned long. Use it instead of void *
> when getting sizeof() of it.
>
> ...
>
> --- a/lib/vsprintf.c
> +++ b/lib/vsprintf.c
> @@ -529,6 +529,9 @@ char *special_hex_number(char *buf, char *end, unsigned long long num, int size)
> return number(buf, end, num, spec);
> }
>
> +#define special_hex_number_unsigned_long(buf, end, n) \
> + special_hex_number(buf, end, (unsigned long)n, sizeof(unsigned long))
> +
> static void move_right(char *buf, char *end, unsigned len, unsigned spaces)
> {
> size_t size;
> @@ -684,7 +687,7 @@ char *symbol_string(char *buf, char *end, void *ptr,
>
> return string(buf, end, sym, spec);
> #else
> - return special_hex_number(buf, end, value, sizeof(void *));
> + return special_hex_number_unsigned_long(buf, end, value);
> #endif
> }
>
> @@ -1446,7 +1449,7 @@ char *clock(char *buf, char *end, struct clk *clk, struct printf_spec spec,
> #ifdef CONFIG_COMMON_CLK
> return string(buf, end, __clk_get_name(clk), spec);
> #else
> - return special_hex_number(buf, end, (unsigned long)clk, sizeof(unsigned long));
> + return special_hex_number_unsigned_long(buf, end, clk);
> #endif
> }
> }

I'm not sure this is worth the effort.