IRQ: Change __softirq_pending to unsigned int in asm-generic/hardirq.h.
authorRalf Baechle <ralf@linux-mips.org>
Fri, 9 Oct 2009 10:41:30 +0000 (12:41 +0200)
committerLinus Torvalds <torvalds@linux-foundation.org>
Fri, 9 Oct 2009 20:38:21 +0000 (13:38 -0700)
Since the beginnings in aafe4dbed0bf6cbdb2e9f03e1d42f8a540d8541d
("asm-generic: add generic versions of common headers") the generic
version of <asm/hardirq.h> defined __softirq_pending as unsigned long.

Which is different from other architectures for no apparent good reason
and was causing the following warning:

  kernel/time/tick-sched.c: In function 'tick_nohz_stop_sched_tick':
  kernel/time/tick-sched.c:261: warning: format '%02x' expects type 'unsigned int', but argument 2 has type 'long unsigned int'

Reported and initial patch by Wu Zhangjin <wuzhangjin@gmail.com>.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Acked-by: Arnd Bergmann <arnd@arndb.de>
[ Arnd points out that we really should make sure parisc and alpha are
  ok with this, since they have also been converted to use the generic
  hardirq.h file. But neither seems to use it, although parisc does
  build a IRQSTAT_SIRQ_PEND #define into asm-offsets - but that also
  appears unused..    - Linus ]
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
include/asm-generic/hardirq.h

index 23bb4da..62f5908 100644 (file)
@@ -6,7 +6,7 @@
 #include <linux/irq.h>
 
 typedef struct {
 #include <linux/irq.h>
 
 typedef struct {
-       unsigned long __softirq_pending;
+       unsigned int __softirq_pending;
 } ____cacheline_aligned irq_cpustat_t;
 
 #include <linux/irq_cpustat.h> /* Standard mappings for irq_cpustat_t above */
 } ____cacheline_aligned irq_cpustat_t;
 
 #include <linux/irq_cpustat.h> /* Standard mappings for irq_cpustat_t above */