diff mbox series

[v2,3/3] lib/vsprintf.c: remove unused ip6_addr_string()

Message ID 20210527222046.1276246-4-rasmus.villemoes@prevas.dk
State Accepted
Commit 23b542aa3f9c663c98e1baa2732cce99c333f030
Delegated to: Tom Rini
Headers show
Series trivial printf patches | expand

Commit Message

Rasmus Villemoes May 27, 2021, 10:20 p.m. UTC
There's currently no user of %p[iI]6, so including ip6_addr_string()
in the image is a waste of bytes. It's easy enough to have the
compiler elide it without removing the code completely.

The closest I can find to anybody "handling" ipv6 in U-Boot currently
is in efi_net.c which does

        if (ipv6) {
                ret = EFI_UNSUPPORTED;

As indicated in the comment, it can easily be put back, but preferably
under a config knob.

Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Rasmus Villemoes <rasmus.villemoes@prevas.dk>
---
 lib/vsprintf.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

Comments

Tom Rini July 16, 2021, 3:52 p.m. UTC | #1
On Fri, May 28, 2021 at 12:20:46AM +0200, Rasmus Villemoes wrote:

> There's currently no user of %p[iI]6, so including ip6_addr_string()
> in the image is a waste of bytes. It's easy enough to have the
> compiler elide it without removing the code completely.
> 
> The closest I can find to anybody "handling" ipv6 in U-Boot currently
> is in efi_net.c which does
> 
>         if (ipv6) {
>                 ret = EFI_UNSUPPORTED;
> 
> As indicated in the comment, it can easily be put back, but preferably
> under a config knob.
> 
> Reviewed-by: Simon Glass <sjg@chromium.org>
> Signed-off-by: Rasmus Villemoes <rasmus.villemoes@prevas.dk>

Applied to u-boot/master, thanks!
diff mbox series

Patch

diff --git a/lib/vsprintf.c b/lib/vsprintf.c
index af0a6e1dcf..c14176dd39 100644
--- a/lib/vsprintf.c
+++ b/lib/vsprintf.c
@@ -434,6 +434,9 @@  static char *uuid_string(char *buf, char *end, u8 *addr, int field_width,
  * - '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)
@@ -478,7 +481,8 @@  static char *pointer(const char *fmt, char *buf, char *end, void *ptr,
 		flags |= SPECIAL;
 		/* Fallthrough */
 	case 'I':
-		if (fmt[1] == '6')
+		/* %pI6 currently unused */
+		if (0 && fmt[1] == '6')
 			return ip6_addr_string(buf, end, ptr, field_width,
 					       precision, flags);
 		if (fmt[1] == '4')