Re: [PATCH] iqrdomain: Improve formatting in debugfs.

From: Grant Likely
Date: Wed Apr 11 2012 - 03:03:34 EST


On Mon, 9 Apr 2012 17:06:57 -0700, David Daney <ddaney.cavm@xxxxxxxxx> wrote:
> From: David Daney <david.daney@xxxxxxxxxx>
>
> The irq_domain_mapping file has some interesting output when chip_data
> contains leading zeros:
>
> virq hwirq chip name chip data domain name
> .
> .
> .
> 103 0x00000 CIU2-W 0x 5e0000000000000 none
> 104 0x00000 CIU2-W 0x 5f0000000000000 none
> 105 0x00000 CIU2-M 0x (null) none
> 113 0x00000 CIU2-E 0x1080000000000000 none
> .
> .
> .
>
> I think there should be no space in there between the "0x" and the
> rest. Also the '(null)' entry doesn't make much sense at all with a
> "0x".

Yeah, it doesn't make much sense with the '0x', but I don't want to
supress the (null) output because it is really important to highlight
when a domain isn't assigned to an active irq.

Fixing the zero pad is trivial to fix though. Just remove the
precision from the %p format. Here's my counter-patch:

---

diff --git a/kernel/irq/irqdomain.c b/kernel/irq/irqdomain.c
index 9310a8d..eb05e40 100644
--- a/kernel/irq/irqdomain.c
+++ b/kernel/irq/irqdomain.c
@@ -643,8 +643,8 @@ static int virq_debug_show(struct seq_file *m, void *private)
void *data;
int i;

- seq_printf(m, "%-5s %-7s %-15s %-18s %s\n", "virq", "hwirq",
- "chip name", "chip data", "domain name");
+ seq_printf(m, "%-5s %-7s %-15s %-*s %s\n", "irq", "hwirq",
+ "chip name", 2 * sizeof(void *) + 2, "chip data", "domain name");

for (i = 1; i < nr_irqs; i++) {
desc = irq_to_desc(i);
@@ -667,7 +667,7 @@ static int virq_debug_show(struct seq_file *m, void *private)
seq_printf(m, "%-15s ", p);

data = irq_desc_get_chip_data(desc);
- seq_printf(m, "0x%16p ", data);
+ seq_printf(m, data ? "0x%p " : " %p ", data);

if (desc->irq_data.domain && desc->irq_data.domain->of_node)
p = desc->irq_data.domain->of_node->full_name;
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/