[PATCH 06/13] tools/power turbostat: Cleanup print helper functions

From: Len Brown

Date: Sat Apr 25 2026 - 14:48:41 EST


From: Artem Bityutskiy <artem.bityutskiy@xxxxxxxxxxxxxxx>

Make printer helper functions more readable by factoring
out a local 'sep' variable.

Remove the redundant parentheses around sprintf() calls.

Remove an unnecessary cast to "unsigned int" by using the '%08llx' instead
of '%08x'.

No functional changes.

[lenb: fix typos, simplify]
Signed-off-by: Artem Bityutskiy <artem.bityutskiy@xxxxxxxxxxxxxxx>
Signed-off-by: Len Brown <len.brown@xxxxxxxxx>
---
tools/power/x86/turbostat/turbostat.c | 19 +++++++++++++------
1 file changed, 13 insertions(+), 6 deletions(-)

diff --git a/tools/power/x86/turbostat/turbostat.c b/tools/power/x86/turbostat/turbostat.c
index e609272ed80b..624f54ee1ad8 100644
--- a/tools/power/x86/turbostat/turbostat.c
+++ b/tools/power/x86/turbostat/turbostat.c
@@ -2866,31 +2866,38 @@ void bic_lookup(cpu_set_t *ret_set, char *name_list, enum show_hide_mode mode)
static inline int print_name(int width, int *printed, char *delim, char *name, enum counter_type type, enum counter_format format)
{
UNUSED(type);
+ char *sep = (*printed)++ ? delim : "";

if (format == FORMAT_RAW && width >= 64)
- return (sprintf(outp, "%s%-8s", ((*printed)++ ? delim : ""), name));
+ return sprintf(outp, "%s%-8s", sep, name);
else
- return (sprintf(outp, "%s%s", ((*printed)++ ? delim : ""), name));
+ return sprintf(outp, "%s%s", sep, name);
}

static inline int print_hex_value(int width, int *printed, char *delim, unsigned long long value)
{
+ char *sep = (*printed)++ ? delim : "";
+
if (width <= 32)
- return (sprintf(outp, "%s%08x", ((*printed)++ ? delim : ""), (unsigned int)value));
+ return sprintf(outp, "%s%08llx", sep, value);
else
- return (sprintf(outp, "%s%016llx", ((*printed)++ ? delim : ""), value));
+ return sprintf(outp, "%s%016llx", sep, value);
}

static inline int print_decimal_value(int width, int *printed, char *delim, unsigned long long value)
{
+ char *sep = (*printed)++ ? delim : "";
+
UNUSED(width);

- return (sprintf(outp, "%s%lld", ((*printed)++ ? delim : ""), value));
+ return sprintf(outp, "%s%lld", sep, value);
}

static inline int print_float_value(int *printed, char *delim, double value)
{
- return (sprintf(outp, "%s%0.2f", ((*printed)++ ? delim : ""), value));
+ char *sep = (*printed)++ ? delim : "";
+
+ return sprintf(outp, "%s%0.2f", sep, value);
}

void print_header(char *delim)
--
2.45.2