irq_domain: fix type mismatch in debugfs output format
authorGrant Likely <grant.likely@secretlab.ca>
Thu, 12 Apr 2012 20:42:15 +0000 (14:42 -0600)
committerGrant Likely <grant.likely@secretlab.ca>
Thu, 12 Apr 2012 22:25:48 +0000 (16:25 -0600)
sizeof(void*) returns an unsigned long, but it was being used as a width parameter to a "%-*s" format string which requires an int.  On 64 bit platforms this causes a type mismatch:

    linux/kernel/irq/irqdomain.c:575: warning: field width should have type
    'int', but argument 6 has type 'long unsigned int'

This change casts the size to an int so printf gets the right data type.

Reported-by: Andreas Schwab <schwab@linux-m68k.org>
Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
Cc: David Daney <david.daney@cavium.com>
kernel/irq/irqdomain.c

index d34413e78628281f13d08bb8cd99cf7c544413fb..0e0ba5f840b26c84affc8fe813ce4a89b51753bf 100644 (file)
@@ -629,7 +629,8 @@ static int virq_debug_show(struct seq_file *m, void *private)
        int i;
 
        seq_printf(m, "%-5s  %-7s  %-15s  %-*s  %s\n", "irq", "hwirq",
-                     "chip name", 2 * sizeof(void *) + 2, "chip data", "domain name");
+                     "chip name", (int)(2 * sizeof(void *) + 2), "chip data",
+                     "domain name");
 
        for (i = 1; i < nr_irqs; i++) {
                desc = irq_to_desc(i);