diff options
author | Jamie Iles <jamie@jamieiles.com> | 2011-12-01 05:16:46 -0500 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2011-12-11 04:56:57 -0500 |
commit | ad622671a4da0b6db1c1382e6345e1361c5fbab8 (patch) | |
tree | bba2a369e1c1cccc910485355ef1f797360891b3 /arch/arm/common | |
parent | 6ae25a5b9d7ba86d6ac19c403dfa57dae6caa73d (diff) |
ARM: 7183/1: vic: register the VIC for ST-modified VIC's
When probing the VIC, the ST variant has a different probing method to
account for the extra interrupts which meant we didn't previously call
vic_register() which registered the irq_domain.
Acked-by: Linus Walleij <linus.walleij@stericsson.com>
Cc: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Jamie Iles <jamie@jamieiles.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch/arm/common')
-rw-r--r-- | arch/arm/common/vic.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/arch/arm/common/vic.c b/arch/arm/common/vic.c index 6ed41ec2bbf5..77287504c8b4 100644 --- a/arch/arm/common/vic.c +++ b/arch/arm/common/vic.c | |||
@@ -318,7 +318,7 @@ static void __init vic_set_irq_sources(void __iomem *base, | |||
318 | * and 020 within the page. We call this "second block". | 318 | * and 020 within the page. We call this "second block". |
319 | */ | 319 | */ |
320 | static void __init vic_init_st(void __iomem *base, unsigned int irq_start, | 320 | static void __init vic_init_st(void __iomem *base, unsigned int irq_start, |
321 | u32 vic_sources) | 321 | u32 vic_sources, struct device_node *node) |
322 | { | 322 | { |
323 | unsigned int i; | 323 | unsigned int i; |
324 | int vic_2nd_block = ((unsigned long)base & ~PAGE_MASK) != 0; | 324 | int vic_2nd_block = ((unsigned long)base & ~PAGE_MASK) != 0; |
@@ -345,6 +345,7 @@ static void __init vic_init_st(void __iomem *base, unsigned int irq_start, | |||
345 | } | 345 | } |
346 | 346 | ||
347 | vic_set_irq_sources(base, irq_start, vic_sources); | 347 | vic_set_irq_sources(base, irq_start, vic_sources); |
348 | vic_register(base, irq_start, 0, node); | ||
348 | } | 349 | } |
349 | 350 | ||
350 | static void __init __vic_init(void __iomem *base, unsigned int irq_start, | 351 | static void __init __vic_init(void __iomem *base, unsigned int irq_start, |
@@ -367,7 +368,7 @@ static void __init __vic_init(void __iomem *base, unsigned int irq_start, | |||
367 | 368 | ||
368 | switch(vendor) { | 369 | switch(vendor) { |
369 | case AMBA_VENDOR_ST: | 370 | case AMBA_VENDOR_ST: |
370 | vic_init_st(base, irq_start, vic_sources); | 371 | vic_init_st(base, irq_start, vic_sources, node); |
371 | return; | 372 | return; |
372 | default: | 373 | default: |
373 | printk(KERN_WARNING "VIC: unknown vendor, continuing anyways\n"); | 374 | printk(KERN_WARNING "VIC: unknown vendor, continuing anyways\n"); |