irqchip: Appropriate __init annotation for const data
authorNicolas Pitre <nicolas.pitre@linaro.org>
Fri, 24 Jul 2015 19:24:45 +0000 (15:24 -0400)
committerThomas Gleixner <tglx@linutronix.de>
Mon, 27 Jul 2015 06:09:38 +0000 (08:09 +0200)
Init data marked const should be annotated with __initconst for
correctness and not __initdata.  And for those already __initconst,
they should be qualified as const at the compiler level too.
This also fixes LTO builds that otherwise fail with section mismatch
errors.

Signed-off-by: Nicolas Pitre <nico@linaro.org>
Cc: Jason Cooper <jason@lakedaemon.net>
Link: http://lkml.kernel.org/r/alpine.LFD.2.20.1507241511551.1806@knanqh.ubzr
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
drivers/irqchip/irq-atmel-aic.c
drivers/irqchip/irq-atmel-aic5.c
drivers/irqchip/irq-bcm2835.c

index dbbf30aee27801734fe860921d14c693058addd4..8a0c7f28819841a83e1afb0e3eccf71d4aa287a7 100644 (file)
@@ -225,7 +225,7 @@ static void __init at91sam9g45_aic_irq_fixup(struct device_node *root)
        aic_common_rtt_irq_fixup(root);
 }
 
-static const struct of_device_id __initdata aic_irq_fixups[] = {
+static const struct of_device_id aic_irq_fixups[] __initconst = {
        { .compatible = "atmel,at91rm9200", .data = at91rm9200_aic_irq_fixup },
        { .compatible = "atmel,at91sam9g45", .data = at91sam9g45_aic_irq_fixup },
        { .compatible = "atmel,at91sam9n12", .data = at91rm9200_aic_irq_fixup },
index ff2e832af10dd8778b86b41c4f15fd4ec36faac1..9da9942ac83c9e4ce861e193061f0f29df8b5700 100644 (file)
@@ -290,7 +290,7 @@ static void __init sama5d3_aic_irq_fixup(struct device_node *root)
        aic_common_rtc_irq_fixup(root);
 }
 
-static const struct of_device_id __initdata aic5_irq_fixups[] = {
+static const struct of_device_id aic5_irq_fixups[] __initconst = {
        { .compatible = "atmel,sama5d3", .data = sama5d3_aic_irq_fixup },
        { .compatible = "atmel,sama5d4", .data = sama5d3_aic_irq_fixup },
        { /* sentinel */ },
index a36ba96e14481169db72a9cfc58d39d1df942e0c..ca35171e8afc511a0c033e851f4bc1f30d0c80b6 100644 (file)
 #define NR_BANKS               3
 #define IRQS_PER_BANK          32
 
-static int reg_pending[] __initconst = { 0x00, 0x04, 0x08 };
-static int reg_enable[] __initconst = { 0x18, 0x10, 0x14 };
-static int reg_disable[] __initconst = { 0x24, 0x1c, 0x20 };
-static int bank_irqs[] __initconst = { 8, 32, 32 };
+static const int reg_pending[] __initconst = { 0x00, 0x04, 0x08 };
+static const int reg_enable[] __initconst = { 0x18, 0x10, 0x14 };
+static const int reg_disable[] __initconst = { 0x24, 0x1c, 0x20 };
+static const int bank_irqs[] __initconst = { 8, 32, 32 };
 
 static const int shortcuts[] = {
        7, 9, 10, 18, 19,               /* Bank 1 */