net: ipv6: Enable IPv6 typeconversion specifier

Add the possibility to recognize IPv6 address in print function.
To output IPv6 address use %pI6 specifier.

Series-changes: 3
- Substituted #if (...) for if (...) to get better readability

Signed-off-by: Viacheslav Mitrofanov <v.v.mitrofanov@yadro.com>
Reviewed-by: Ramon Fried <rfried.dev@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
Viacheslav Mitrofanov 2022-12-02 12:18:03 +03:00 committed by Tom Rini
parent 2f7f2f2aa9
commit d807199da7

View File

@ -450,10 +450,6 @@ static char *uuid_string(char *buf, char *end, u8 *addr, int field_width,
* decimal for v4 and colon separated network-order 16 bit hex for v6)
* - 'i' [46] for 'raw' IPv4/IPv6 addresses, IPv6 omits the colons, IPv4 is
* currently the same
*
* Note: IPv6 support is currently if(0)'ed out. If you ever need
* %pI6, please add an IPV6 Kconfig knob, make your code select or
* depend on that, and change the 0 below to CONFIG_IS_ENABLED(IPV6).
*/
static char *pointer(const char *fmt, char *buf, char *end, void *ptr,
int field_width, int precision, int flags)
@ -498,8 +494,7 @@ static char *pointer(const char *fmt, char *buf, char *end, void *ptr,
flags |= SPECIAL;
/* Fallthrough */
case 'I':
/* %pI6 currently unused */
if (0 && fmt[1] == '6')
if (IS_ENABLED(CONFIG_IPV6) && fmt[1] == '6')
return ip6_addr_string(buf, end, ptr, field_width,
precision, flags);
if (fmt[1] == '4')