diff --git a/drivers/sh/intc.c b/drivers/sh/intc.c index 66594eb4477d..1da1edef2221 100644 --- a/drivers/sh/intc.c +++ b/drivers/sh/intc.c @@ -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) diff --git a/include/linux/sh_intc.h b/include/linux/sh_intc.h index 66b4b0c45e71..51d288d8ac88 100644 --- a/include/linux/sh_intc.h +++ b/include/linux/sh_intc.h @@ -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; };