irqchip: s3c24xx: add missing __init annotations
authorArnd Bergmann <arnd@arndb.de>
Thu, 25 Apr 2013 14:49:05 +0000 (16:49 +0200)
committerArnd Bergmann <arnd@arndb.de>
Mon, 29 Apr 2013 14:34:34 +0000 (16:34 +0200)
The s3c24xx_init_intc and s3c2412_init_irq functions are only called
at init time, and they call functions already marked __init, so they
should be marked in the same way. This was reported as

WARNING: vmlinux.o(.text+0x19e0b4): Section mismatch in reference from the function s3c2412_init_irq() to the function .init.text:s3c24xx_init_intc.constprop.8()
The function s3c2412_init_irq() references
the function __init s3c24xx_init_intc.constprop.8().
This is often because s3c2412_init_irq lacks a __init
annotation or the annotation of s3c24xx_init_intc.constprop.8 is wrong.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Heiko Stuebner <heiko@sntech.de>
Cc: Kukjin Kim <kgene.kim@samsung.com>
drivers/irqchip/irq-s3c24xx.c

index 5e40b34..f750f55 100644 (file)
@@ -534,7 +534,7 @@ static void s3c24xx_clear_intc(struct s3c_irq_intc *intc)
        }
 }
 
-static struct s3c_irq_intc *s3c24xx_init_intc(struct device_node *np,
+static struct s3c_irq_intc * __init s3c24xx_init_intc(struct device_node *np,
                                       struct s3c_irq_data *irq_data,
                                       struct s3c_irq_intc *parent,
                                       unsigned long address)
@@ -794,7 +794,7 @@ static struct s3c_irq_data init_s3c2412subint[32] = {
        { .type = S3C_IRQTYPE_LEVEL, .parent_irq = 21 }, /* CF */
 };
 
-void s3c2412_init_irq(void)
+void __init s3c2412_init_irq(void)
 {
        pr_info("S3C2412: IRQ Support\n");