OSDN Git Service

sh: extend INTC with force_disable
authorMagnus Damm <damm@opensource.se>
Mon, 15 Feb 2010 11:40:25 +0000 (11:40 +0000)
committerPaul Mundt <lethal@linux-sh.org>
Tue, 16 Feb 2010 04:38:56 +0000 (13:38 +0900)
Extend the shared INTC code with force_disable support to
allow keeping mask bits statically disabled. Needed for
SDHI support to mask out unsupported interrupt sources.

Signed-off-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
drivers/sh/intc.c
include/linux/sh_intc.h

index 66594eb..1da1ede 100644 (file)
@@ -851,6 +851,9 @@ void __init register_intc_controller(struct intc_desc *desc)
                d->chip.mask_ack = intc_mask_ack;
        }
 
+       /* disable bits matching force_disable before registering irqs */
+       if (desc->force_disable)
+               intc_enable_disable_enum(desc, d, desc->force_disable, 0);
 
        /* disable bits matching force_enable before registering irqs */
        if (desc->force_enable)
index 66b4b0c..51d288d 100644 (file)
@@ -72,6 +72,7 @@ struct intc_hw_desc {
 struct intc_desc {
        char *name;
        intc_enum force_enable;
+       intc_enum force_disable;
        struct intc_hw_desc hw;
 };