ARM: 7183/1: vic: register the VIC for ST-modified VIC's
authorJamie Iles <jamie@jamieiles.com>
Thu, 1 Dec 2011 10:16:46 +0000 (11:16 +0100)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Sun, 11 Dec 2011 09:56:57 +0000 (09:56 +0000)
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>
arch/arm/common/vic.c

index 6ed41ec2bbf5c3fa3635b4ef4d7ddaedba4fae5f..77287504c8b40e31e3789d1e27dcc824003b2af6 100644 (file)
@@ -318,7 +318,7 @@ static void __init vic_set_irq_sources(void __iomem *base,
  *  and 020 within the page. We call this "second block".
  */
 static void __init vic_init_st(void __iomem *base, unsigned int irq_start,
-                               u32 vic_sources)
+                              u32 vic_sources, struct device_node *node)
 {
        unsigned int i;
        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,
        }
 
        vic_set_irq_sources(base, irq_start, vic_sources);
+       vic_register(base, irq_start, 0, node);
 }
 
 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,
 
        switch(vendor) {
        case AMBA_VENDOR_ST:
-               vic_init_st(base, irq_start, vic_sources);
+               vic_init_st(base, irq_start, vic_sources, node);
                return;
        default:
                printk(KERN_WARNING "VIC: unknown vendor, continuing anyways\n");