diff options
author | Takashi Iwai <tiwai@suse.de> | 2013-01-10 17:41:54 +0100 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2013-01-10 17:41:54 +0100 |
commit | c18ab0bac4c377b22e03f9cd4efafa1316b76552 (patch) | |
tree | 57049641755e7e01d6da9a902ac662a28b688b0b /arch/arm/common/vic.c | |
parent | 065380f0880dd651eb405430745926dc4747b759 (diff) | |
parent | 49a170bcf28af5ef372cdbed7750ba8d4162bb0e (diff) |
Merge tag 'asoc-fix-3.8-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-linus
ASoC: Fixes for v3.8
Nothing terribly exciting here except for the DOUBLE_RANGE fix which
just hadn't worked before, nobody noticed due to lack of use.
Diffstat (limited to 'arch/arm/common/vic.c')
-rw-r--r-- | arch/arm/common/vic.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/arch/arm/common/vic.c b/arch/arm/common/vic.c index e4df17ca90c..8f324b99416 100644 --- a/arch/arm/common/vic.c +++ b/arch/arm/common/vic.c @@ -206,6 +206,7 @@ static void __init vic_register(void __iomem *base, unsigned int irq, struct device_node *node) { struct vic_device *v; + int i; if (vic_id >= ARRAY_SIZE(vic_devices)) { printk(KERN_ERR "%s: too few VICs, increase CONFIG_ARM_VIC_NR\n", __func__); @@ -220,6 +221,10 @@ static void __init vic_register(void __iomem *base, unsigned int irq, vic_id++; v->domain = irq_domain_add_simple(node, fls(valid_sources), irq, &vic_irqdomain_ops, v); + /* create an IRQ mapping for each valid IRQ */ + for (i = 0; i < fls(valid_sources); i++) + if (valid_sources & (1 << i)) + irq_create_mapping(v->domain, i); } static void vic_ack_irq(struct irq_data *d) @@ -416,9 +421,9 @@ int __init vic_of_init(struct device_node *node, struct device_node *parent) return -EIO; /* - * Passing -1 as first IRQ makes the simple domain allocate descriptors + * Passing 0 as first IRQ makes the simple domain allocate descriptors */ - __vic_init(regs, -1, ~0, ~0, node); + __vic_init(regs, 0, ~0, ~0, node); return 0; } |