[PATCH 1/5] powerpc/xive: simplify xive_spapr_debug_show()

Yury Norov
2026-03-03T20:09:12Z

The function creates temporary buffer to convert xibm->bitmap to a
human-readable list before passing it to seq_printf. Drop it and print
the list by seq_printf() directly with the "%*pbl" specifier.

Reviewed-by: Shrikanth Hegde <sshegde@linux.ibm.com>
Signed-off-by: Yury Norov <ynorov@nvidia.com>
---
arch/powerpc/sysdev/xive/spapr.c | 12 ++----------
1 file changed, 2 insertions(+), 10 deletions(-)

diff --git a/arch/powerpc/sysdev/xive/spapr.c b/arch/powerpc/sysdev/xive/spapr.c
index 61f8a8acf81f..fdf52c78ac02 100644
--- a/arch/powerpc/sysdev/xive/spapr.c
+++ b/arch/powerpc/sysdev/xive/spapr.c
@@ -667,17 +667,9 @@ static void xive_spapr_sync_source(u32 hw_irq)
static int xive_spapr_debug_show(struct seq_file *m, void *private)
{
struct xive_irq_bitmap *xibm;
- char *buf = kmalloc(PAGE_SIZE, GFP_KERNEL);

- if (!buf)
- return -ENOMEM;
-
- list_for_each_entry(xibm, &xive_irq_bitmaps, list) {
- memset(buf, 0, PAGE_SIZE);
- bitmap_print_to_pagebuf(true, buf, xibm->bitmap, xibm->count);
- seq_printf(m, "bitmap #%d: %s", xibm->count, buf);
- }
- kfree(buf);
+ list_for_each_entry(xibm, &xive_irq_bitmaps, list)
+ seq_printf(m, "bitmap #%d: %*pbl\n", xibm->count, xibm->count, xibm->bitmap);

return 0;
}
--
2.43.0