genirq: Correct fuzzy and fragile IRQ_RETVAL() definition
authorGeert Uytterhoeven <geert@linux-m68k.org>
Fri, 15 Nov 2013 22:15:07 +0000 (14:15 -0800)
committerThomas Gleixner <tglx@linutronix.de>
Tue, 19 Nov 2013 18:06:41 +0000 (19:06 +0100)
commit6bab2c613d7fa70bb8514f89ab7455ede717142b
tree444873d38abef1005be025a7ae2962d0ba52818e
parent00d1a39e69d5afa7523dad515a05b21abd17c389
genirq: Correct fuzzy and fragile IRQ_RETVAL() definition

commit bedd30d986a0 ("genirq: make irqreturn_t an enum") blindly replaced
"0" by "IRQ_NONE" in the "IRQ_RETVAL(x)" macro definition.

However, as "x" is a condition, "0" meant "boolean false", not an
irqreturn_t value.

All of this worked, and kept working after the addition of IRQ_WAKE_THREAD,
as
  - both "boolean false" and "IRQ_NONE" are "0" (for the comparison),
  - "boolean true" and "boolean false" nicely map to the correct values of
    "IRQ_HANDLED" and "IRQ_NONE" (for the return value).

Correct the macro definition for clarity and future-proofness.

Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
include/linux/irqreturn.h
This page took 0.025293 seconds and 5 git commands to generate.