diff options
Diffstat (limited to 'drivers/irqchip/irq-vic.c')
-rw-r--r-- | drivers/irqchip/irq-vic.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/drivers/irqchip/irq-vic.c b/drivers/irqchip/irq-vic.c index 2bbb00404cf5..8e21ae0bab46 100644 --- a/drivers/irqchip/irq-vic.c +++ b/drivers/irqchip/irq-vic.c | |||
@@ -469,6 +469,8 @@ void __init vic_init(void __iomem *base, unsigned int irq_start, | |||
469 | int __init vic_of_init(struct device_node *node, struct device_node *parent) | 469 | int __init vic_of_init(struct device_node *node, struct device_node *parent) |
470 | { | 470 | { |
471 | void __iomem *regs; | 471 | void __iomem *regs; |
472 | u32 interrupt_mask = ~0; | ||
473 | u32 wakeup_mask = ~0; | ||
472 | 474 | ||
473 | if (WARN(parent, "non-root VICs are not supported")) | 475 | if (WARN(parent, "non-root VICs are not supported")) |
474 | return -EINVAL; | 476 | return -EINVAL; |
@@ -477,10 +479,13 @@ int __init vic_of_init(struct device_node *node, struct device_node *parent) | |||
477 | if (WARN_ON(!regs)) | 479 | if (WARN_ON(!regs)) |
478 | return -EIO; | 480 | return -EIO; |
479 | 481 | ||
482 | of_property_read_u32(node, "valid-mask", &interrupt_mask); | ||
483 | of_property_read_u32(node, "valid-wakeup-mask", &wakeup_mask); | ||
484 | |||
480 | /* | 485 | /* |
481 | * Passing 0 as first IRQ makes the simple domain allocate descriptors | 486 | * Passing 0 as first IRQ makes the simple domain allocate descriptors |
482 | */ | 487 | */ |
483 | __vic_init(regs, 0, ~0, ~0, node); | 488 | __vic_init(regs, 0, interrupt_mask, wakeup_mask, node); |
484 | 489 | ||
485 | return 0; | 490 | return 0; |
486 | } | 491 | } |