mirror of https://gitee.com/openkylin/linux.git
ARM: appropriate __init annotation for const data
Init data marked const should be annotated with __initconst for correctness and not __initdata. In some cases the array gathering references to that data has to be marked const as well. This fixes LTO builds that otherwise fail with section mismatch errors. Signed-off-by: Nicolas Pitre <nico@linaro.org> Signed-off-by: Olof Johansson <olof@lixom.net>
This commit is contained in:
parent
a115681460
commit
19c233b79d
|
@ -278,7 +278,7 @@ static int psci_0_1_init(struct device_node *np)
|
|||
return err;
|
||||
}
|
||||
|
||||
static const struct of_device_id psci_of_match[] __initconst = {
|
||||
static const struct of_device_id const psci_of_match[] __initconst = {
|
||||
{ .compatible = "arm,psci", .data = psci_0_1_init},
|
||||
{ .compatible = "arm,psci-0.2", .data = psci_0_2_init},
|
||||
{},
|
||||
|
|
|
@ -38,7 +38,7 @@ static void __init at91rm9200_dt_device_init(void)
|
|||
at91rm9200_pm_init();
|
||||
}
|
||||
|
||||
static const char *at91rm9200_dt_board_compat[] __initconst = {
|
||||
static const char *const at91rm9200_dt_board_compat[] __initconst = {
|
||||
"atmel,at91rm9200",
|
||||
NULL
|
||||
};
|
||||
|
|
|
@ -72,7 +72,7 @@ static void __init at91sam9_dt_device_init(void)
|
|||
at91sam9260_pm_init();
|
||||
}
|
||||
|
||||
static const char *at91_dt_board_compat[] __initconst = {
|
||||
static const char *const at91_dt_board_compat[] __initconst = {
|
||||
"atmel,at91sam9",
|
||||
NULL
|
||||
};
|
||||
|
@ -89,7 +89,7 @@ static void __init at91sam9g45_dt_device_init(void)
|
|||
at91sam9g45_pm_init();
|
||||
}
|
||||
|
||||
static const char *at91sam9g45_board_compat[] __initconst = {
|
||||
static const char *const at91sam9g45_board_compat[] __initconst = {
|
||||
"atmel,at91sam9g45",
|
||||
NULL
|
||||
};
|
||||
|
@ -106,7 +106,7 @@ static void __init at91sam9x5_dt_device_init(void)
|
|||
at91sam9x5_pm_init();
|
||||
}
|
||||
|
||||
static const char *at91sam9x5_board_compat[] __initconst = {
|
||||
static const char *const at91sam9x5_board_compat[] __initconst = {
|
||||
"atmel,at91sam9x5",
|
||||
"atmel,at91sam9n12",
|
||||
NULL
|
||||
|
|
|
@ -311,7 +311,7 @@ static void at91sam9_sdram_standby(void)
|
|||
at91_ramc_write(1, AT91_SDRAMC_LPR, saved_lpr1);
|
||||
}
|
||||
|
||||
static const struct of_device_id ramc_ids[] __initconst = {
|
||||
static const struct of_device_id const ramc_ids[] __initconst = {
|
||||
{ .compatible = "atmel,at91rm9200-sdramc", .data = at91rm9200_standby },
|
||||
{ .compatible = "atmel,at91sam9260-sdramc", .data = at91sam9_sdram_standby },
|
||||
{ .compatible = "atmel,at91sam9g45-ddramc", .data = at91_ddr_standby },
|
||||
|
|
|
@ -52,7 +52,7 @@ static void __init sama5_dt_device_init(void)
|
|||
at91sam9x5_pm_init();
|
||||
}
|
||||
|
||||
static const char *sama5_dt_board_compat[] __initconst = {
|
||||
static const char *const sama5_dt_board_compat[] __initconst = {
|
||||
"atmel,sama5",
|
||||
NULL
|
||||
};
|
||||
|
@ -63,7 +63,7 @@ DT_MACHINE_START(sama5_dt, "Atmel SAMA5")
|
|||
.dt_compat = sama5_dt_board_compat,
|
||||
MACHINE_END
|
||||
|
||||
static const char *sama5_alt_dt_board_compat[] __initconst = {
|
||||
static const char *const sama5_alt_dt_board_compat[] __initconst = {
|
||||
"atmel,sama5d4",
|
||||
NULL
|
||||
};
|
||||
|
|
|
@ -44,7 +44,7 @@ static void __init bcm5301x_init_early(void)
|
|||
"imprecise external abort");
|
||||
}
|
||||
|
||||
static const char __initconst *bcm5301x_dt_compat[] = {
|
||||
static const char *const bcm5301x_dt_compat[] __initconst = {
|
||||
"brcm,bcm4708",
|
||||
NULL,
|
||||
};
|
||||
|
|
|
@ -33,7 +33,7 @@ struct bcm_kona_smc_data {
|
|||
unsigned result;
|
||||
};
|
||||
|
||||
static const struct of_device_id bcm_kona_smc_ids[] __initconst = {
|
||||
static const struct of_device_id const bcm_kona_smc_ids[] __initconst = {
|
||||
{.compatible = "brcm,kona-smc"},
|
||||
{.compatible = "bcm,kona-smc"}, /* deprecated name */
|
||||
{},
|
||||
|
|
|
@ -160,7 +160,7 @@ static struct platform_device autcpu12_mmgpio_pdev __initdata = {
|
|||
},
|
||||
};
|
||||
|
||||
static const struct gpio autcpu12_gpios[] __initconst = {
|
||||
static const struct gpio const autcpu12_gpios[] __initconst = {
|
||||
{ AUTCPU12_DPOT_CS, GPIOF_OUT_INIT_HIGH, "DPOT CS" },
|
||||
{ AUTCPU12_DPOT_CLK, GPIOF_OUT_INIT_LOW, "DPOT CLK" },
|
||||
{ AUTCPU12_DPOT_UD, GPIOF_OUT_INIT_LOW, "DPOT UD" },
|
||||
|
|
|
@ -346,7 +346,7 @@ static struct usb_ohci_pdata cns3xxx_usb_ohci_pdata = {
|
|||
.power_off = csn3xxx_usb_power_off,
|
||||
};
|
||||
|
||||
static struct of_dev_auxdata cns3xxx_auxdata[] __initconst = {
|
||||
static const struct of_dev_auxdata const cns3xxx_auxdata[] __initconst = {
|
||||
{ "intel,usb-ehci", CNS3XXX_USB_BASE, "ehci-platform", &cns3xxx_usb_ehci_pdata },
|
||||
{ "intel,usb-ohci", CNS3XXX_USB_OHCI_BASE, "ohci-platform", &cns3xxx_usb_ohci_pdata },
|
||||
{ "cavium,cns3420-ahci", CNS3XXX_SATA2_BASE, "ahci", NULL },
|
||||
|
@ -399,7 +399,7 @@ static void __init cns3xxx_init(void)
|
|||
cns3xxx_auxdata, NULL);
|
||||
}
|
||||
|
||||
static const char *cns3xxx_dt_compat[] __initdata = {
|
||||
static const char *const cns3xxx_dt_compat[] __initconst = {
|
||||
"cavium,cns3410",
|
||||
"cavium,cns3420",
|
||||
NULL,
|
||||
|
|
|
@ -715,7 +715,7 @@ const short da850_lcdcntl_pins[] __initconst = {
|
|||
-1
|
||||
};
|
||||
|
||||
const short da850_vpif_capture_pins[] __initdata = {
|
||||
const short da850_vpif_capture_pins[] __initconst = {
|
||||
DA850_VPIF_DIN0, DA850_VPIF_DIN1, DA850_VPIF_DIN2, DA850_VPIF_DIN3,
|
||||
DA850_VPIF_DIN4, DA850_VPIF_DIN5, DA850_VPIF_DIN6, DA850_VPIF_DIN7,
|
||||
DA850_VPIF_DIN8, DA850_VPIF_DIN9, DA850_VPIF_DIN10, DA850_VPIF_DIN11,
|
||||
|
@ -725,7 +725,7 @@ const short da850_vpif_capture_pins[] __initdata = {
|
|||
-1
|
||||
};
|
||||
|
||||
const short da850_vpif_display_pins[] __initdata = {
|
||||
const short da850_vpif_display_pins[] __initconst = {
|
||||
DA850_VPIF_DOUT0, DA850_VPIF_DOUT1, DA850_VPIF_DOUT2, DA850_VPIF_DOUT3,
|
||||
DA850_VPIF_DOUT4, DA850_VPIF_DOUT5, DA850_VPIF_DOUT6, DA850_VPIF_DOUT7,
|
||||
DA850_VPIF_DOUT8, DA850_VPIF_DOUT9, DA850_VPIF_DOUT10,
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
|
||||
#define DA8XX_NUM_UARTS 3
|
||||
|
||||
static const struct of_device_id da8xx_irq_match[] __initconst = {
|
||||
static const struct of_device_id const da8xx_irq_match[] __initconst = {
|
||||
{ .compatible = "ti,cp-intc", .data = cp_intc_of_init, },
|
||||
{ }
|
||||
};
|
||||
|
@ -59,7 +59,7 @@ static void __init da850_init_machine(void)
|
|||
|
||||
}
|
||||
|
||||
static const char *da850_boards_compat[] __initdata = {
|
||||
static const char *const da850_boards_compat[] __initconst = {
|
||||
"enbw,cmc",
|
||||
"ti,da850-evm",
|
||||
"ti,da850",
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
|
||||
#include <asm/mach/arch.h>
|
||||
|
||||
static const char *digicolor_dt_compat[] __initconst = {
|
||||
static const char *const digicolor_dt_compat[] __initconst = {
|
||||
"cnxt,cx92755",
|
||||
NULL,
|
||||
};
|
||||
|
|
|
@ -31,7 +31,7 @@ static void __init imx7d_init_irq(void)
|
|||
irqchip_init();
|
||||
}
|
||||
|
||||
static const char *imx7d_dt_compat[] __initconst = {
|
||||
static const char *const imx7d_dt_compat[] __initconst = {
|
||||
"fsl,imx7d",
|
||||
NULL,
|
||||
};
|
||||
|
|
|
@ -212,7 +212,7 @@ static struct lpc32xx_mlc_platform_data lpc32xx_mlc_data = {
|
|||
.dma_filter = pl08x_filter_id,
|
||||
};
|
||||
|
||||
static const struct of_dev_auxdata lpc32xx_auxdata_lookup[] __initconst = {
|
||||
static const struct of_dev_auxdata const lpc32xx_auxdata_lookup[] __initconst = {
|
||||
OF_DEV_AUXDATA("arm,pl022", 0x20084000, "dev:ssp0", NULL),
|
||||
OF_DEV_AUXDATA("arm,pl022", 0x2008C000, "dev:ssp1", NULL),
|
||||
OF_DEV_AUXDATA("arm,pl110", 0x31040000, "dev:clcd", &lpc32xx_clcd_data),
|
||||
|
@ -248,7 +248,7 @@ static void __init lpc3250_machine_init(void)
|
|||
lpc32xx_auxdata_lookup, NULL);
|
||||
}
|
||||
|
||||
static char const *lpc32xx_dt_compat[] __initdata = {
|
||||
static const char *const lpc32xx_dt_compat[] __initconst = {
|
||||
"nxp,lpc3220",
|
||||
"nxp,lpc3230",
|
||||
"nxp,lpc3240",
|
||||
|
|
|
@ -20,12 +20,12 @@
|
|||
|
||||
extern void __init mmp_dt_init_timer(void);
|
||||
|
||||
static const char *pxa168_dt_board_compat[] __initdata = {
|
||||
static const char *const pxa168_dt_board_compat[] __initconst = {
|
||||
"mrvl,pxa168-aspenite",
|
||||
NULL,
|
||||
};
|
||||
|
||||
static const char *pxa910_dt_board_compat[] __initdata = {
|
||||
static const char *const pxa910_dt_board_compat[] __initconst = {
|
||||
"mrvl,pxa910-dkb",
|
||||
NULL,
|
||||
};
|
||||
|
|
|
@ -30,7 +30,7 @@ static void __init mmp_init_time(void)
|
|||
of_clk_init(NULL);
|
||||
}
|
||||
|
||||
static const char *mmp2_dt_board_compat[] __initdata = {
|
||||
static const char *const mmp2_dt_board_compat[] __initconst = {
|
||||
"mrvl,mmp2-brownstone",
|
||||
NULL,
|
||||
};
|
||||
|
|
|
@ -282,7 +282,7 @@ static void __init apx4devkit_init(void)
|
|||
#define TX28_FEC_PHY_RESET MXS_GPIO_NR(4, 13)
|
||||
#define TX28_FEC_nINT MXS_GPIO_NR(4, 5)
|
||||
|
||||
static const struct gpio tx28_gpios[] __initconst = {
|
||||
static const struct gpio const tx28_gpios[] __initconst = {
|
||||
{ ENET0_MDC__GPIO_4_0, GPIOF_OUT_INIT_LOW, "GPIO_4_0" },
|
||||
{ ENET0_MDIO__GPIO_4_1, GPIOF_OUT_INIT_LOW, "GPIO_4_1" },
|
||||
{ ENET0_RX_EN__GPIO_4_2, GPIOF_OUT_INIT_LOW, "GPIO_4_2" },
|
||||
|
@ -528,7 +528,7 @@ static void mxs_restart(enum reboot_mode mode, const char *cmd)
|
|||
soft_restart(0);
|
||||
}
|
||||
|
||||
static const char *mxs_dt_compat[] __initdata = {
|
||||
static const char *const mxs_dt_compat[] __initconst = {
|
||||
"fsl,imx28",
|
||||
"fsl,imx23",
|
||||
NULL,
|
||||
|
|
|
@ -705,7 +705,7 @@ static struct omap_prcm_init_data scrm_data __initdata = {
|
|||
};
|
||||
#endif
|
||||
|
||||
static const struct of_device_id omap_prcm_dt_match_table[] __initconst = {
|
||||
static const struct of_device_id const omap_prcm_dt_match_table[] __initconst = {
|
||||
#ifdef CONFIG_SOC_AM33XX
|
||||
{ .compatible = "ti,am3-prcm", .data = &am3_prm_data },
|
||||
#endif
|
||||
|
|
|
@ -563,7 +563,7 @@ struct i2c_init_data {
|
|||
u8 hsscll_12;
|
||||
};
|
||||
|
||||
static const __initdata struct i2c_init_data omap4_i2c_timing_data[] = {
|
||||
static const struct i2c_init_data const omap4_i2c_timing_data[] __initconst = {
|
||||
{
|
||||
.load = 50,
|
||||
.loadbits = 0x3,
|
||||
|
|
|
@ -95,7 +95,7 @@ static struct voltagedomain *voltagedomains_am35xx[] __initdata = {
|
|||
};
|
||||
|
||||
|
||||
static const char *sys_clk_name __initdata = "sys_ck";
|
||||
static const char *const sys_clk_name __initconst = "sys_ck";
|
||||
|
||||
void __init omap3xxx_voltagedomains_init(void)
|
||||
{
|
||||
|
|
|
@ -92,7 +92,7 @@ static struct voltagedomain *voltagedomains_omap4[] __initdata = {
|
|||
NULL,
|
||||
};
|
||||
|
||||
static const char *sys_clk_name __initdata = "sys_clkin_ck";
|
||||
static const char *const sys_clk_name __initconst = "sys_clkin_ck";
|
||||
|
||||
void __init omap44xx_voltagedomains_init(void)
|
||||
{
|
||||
|
|
|
@ -78,7 +78,7 @@ static struct voltagedomain *voltagedomains_omap5[] __initdata = {
|
|||
NULL,
|
||||
};
|
||||
|
||||
static const char *sys_clk_name __initdata = "sys_clkin";
|
||||
static const char *const sys_clk_name __initconst = "sys_clkin";
|
||||
|
||||
void __init omap54xx_voltagedomains_init(void)
|
||||
{
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
#include "generic.h"
|
||||
|
||||
#ifdef CONFIG_PXA3xx
|
||||
static const struct of_dev_auxdata pxa3xx_auxdata_lookup[] __initconst = {
|
||||
static const struct of_dev_auxdata const pxa3xx_auxdata_lookup[] __initconst = {
|
||||
OF_DEV_AUXDATA("mrvl,pxa-uart", 0x40100000, "pxa2xx-uart.0", NULL),
|
||||
OF_DEV_AUXDATA("mrvl,pxa-uart", 0x40200000, "pxa2xx-uart.1", NULL),
|
||||
OF_DEV_AUXDATA("mrvl,pxa-uart", 0x40700000, "pxa2xx-uart.2", NULL),
|
||||
|
@ -39,7 +39,7 @@ static void __init pxa3xx_dt_init(void)
|
|||
pxa3xx_auxdata_lookup, NULL);
|
||||
}
|
||||
|
||||
static const char *pxa3xx_dt_board_compat[] __initdata = {
|
||||
static const char *const pxa3xx_dt_board_compat[] __initconst = {
|
||||
"marvell,pxa300",
|
||||
"marvell,pxa310",
|
||||
"marvell,pxa320",
|
||||
|
|
|
@ -13,7 +13,7 @@
|
|||
#include <asm/hardware/cache-l2x0.h>
|
||||
#include "core.h"
|
||||
|
||||
static const char *realview_dt_platform_compat[] __initconst = {
|
||||
static const char *const realview_dt_platform_compat[] __initconst = {
|
||||
"arm,realview-eb",
|
||||
"arm,realview-pb1176",
|
||||
"arm,realview-pb11mp",
|
||||
|
|
|
@ -39,7 +39,7 @@ static void __init s3c2416_dt_machine_init(void)
|
|||
s3c_pm_init();
|
||||
}
|
||||
|
||||
static char const *s3c2416_dt_compat[] __initdata = {
|
||||
static const char *const s3c2416_dt_compat[] __initconst = {
|
||||
"samsung,s3c2416",
|
||||
"samsung,s3c2450",
|
||||
NULL
|
||||
|
|
|
@ -61,7 +61,7 @@ static void s3c64xx_dt_restart(enum reboot_mode mode, const char *cmd)
|
|||
soft_restart(0);
|
||||
}
|
||||
|
||||
static char const *s3c64xx_dt_compat[] __initdata = {
|
||||
static const char *const s3c64xx_dt_compat[] __initconst = {
|
||||
"samsung,s3c6400",
|
||||
"samsung,s3c6410",
|
||||
NULL
|
||||
|
|
|
@ -72,7 +72,7 @@ static void __init bockw_init(void)
|
|||
of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL);
|
||||
}
|
||||
|
||||
static const char *bockw_boards_compat_dt[] __initdata = {
|
||||
static const char *const bockw_boards_compat_dt[] __initconst = {
|
||||
"renesas,bockw-reference",
|
||||
NULL,
|
||||
};
|
||||
|
|
|
@ -723,7 +723,7 @@ static void __init bockw_init_late(void)
|
|||
ADD_USB_FUNC_DEVICE_IF_POSSIBLE();
|
||||
}
|
||||
|
||||
static const char *bockw_boards_compat_dt[] __initdata = {
|
||||
static const char *const bockw_boards_compat_dt[] __initconst = {
|
||||
"renesas,bockw",
|
||||
NULL,
|
||||
};
|
||||
|
|
|
@ -38,7 +38,7 @@ static void __init marzen_init(void)
|
|||
r8a7779_init_irq_extpin_dt(1); /* IRQ1 as individual interrupt */
|
||||
}
|
||||
|
||||
static const char *marzen_boards_compat_dt[] __initdata = {
|
||||
static const char *const marzen_boards_compat_dt[] __initconst = {
|
||||
"renesas,marzen",
|
||||
"renesas,marzen-reference",
|
||||
NULL,
|
||||
|
|
|
@ -330,7 +330,7 @@ static void __init marzen_init(void)
|
|||
platform_add_devices(marzen_devices, ARRAY_SIZE(marzen_devices));
|
||||
}
|
||||
|
||||
static const char *marzen_boards_compat_dt[] __initdata = {
|
||||
static const char *const marzen_boards_compat_dt[] __initconst = {
|
||||
"renesas,marzen",
|
||||
NULL,
|
||||
};
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
|
||||
#include "common.h"
|
||||
|
||||
static const char *r7s72100_boards_compat_dt[] __initdata = {
|
||||
static const char *const r7s72100_boards_compat_dt[] __initconst = {
|
||||
"renesas,r7s72100",
|
||||
NULL,
|
||||
};
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
|
||||
#include "common.h"
|
||||
|
||||
static const char *r8a73a4_boards_compat_dt[] __initdata = {
|
||||
static const char *const r8a73a4_boards_compat_dt[] __initconst = {
|
||||
"renesas,r8a73a4",
|
||||
NULL,
|
||||
};
|
||||
|
|
|
@ -117,7 +117,7 @@ static void __init r8a7740_generic_init(void)
|
|||
of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL);
|
||||
}
|
||||
|
||||
static const char *r8a7740_boards_compat_dt[] __initdata = {
|
||||
static const char *const r8a7740_boards_compat_dt[] __initconst = {
|
||||
"renesas,r8a7740",
|
||||
NULL,
|
||||
};
|
||||
|
|
|
@ -615,7 +615,7 @@ void __init r8a7778_init_irq_dt(void)
|
|||
iounmap(base);
|
||||
}
|
||||
|
||||
static const char *r8a7778_compat_dt[] __initdata = {
|
||||
static const char *const r8a7778_compat_dt[] __initconst = {
|
||||
"renesas,r8a7778",
|
||||
NULL,
|
||||
};
|
||||
|
|
|
@ -756,7 +756,7 @@ u32 __init r8a7779_read_mode_pins(void)
|
|||
return mode;
|
||||
}
|
||||
|
||||
static const char *r8a7779_compat_dt[] __initdata = {
|
||||
static const char *const r8a7779_compat_dt[] __initconst = {
|
||||
"renesas,r8a7779",
|
||||
NULL,
|
||||
};
|
||||
|
|
|
@ -23,7 +23,7 @@
|
|||
#include "r8a7791.h"
|
||||
#include "rcar-gen2.h"
|
||||
|
||||
static const char *r8a7791_boards_compat_dt[] __initdata = {
|
||||
static const char *const r8a7791_boards_compat_dt[] __initconst = {
|
||||
"renesas,r8a7791",
|
||||
NULL,
|
||||
};
|
||||
|
|
|
@ -58,7 +58,7 @@ static void __init sh73a0_generic_init(void)
|
|||
of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL);
|
||||
}
|
||||
|
||||
static const char *sh73a0_boards_compat_dt[] __initdata = {
|
||||
static const char *const sh73a0_boards_compat_dt[] __initconst = {
|
||||
"renesas,sh73a0",
|
||||
NULL,
|
||||
};
|
||||
|
|
|
@ -204,7 +204,7 @@ static void __init spear_clockevent_init(int irq)
|
|||
setup_irq(irq, &spear_timer_irq);
|
||||
}
|
||||
|
||||
const static struct of_device_id timer_of_match[] __initconst = {
|
||||
static const struct of_device_id const timer_of_match[] __initconst = {
|
||||
{ .compatible = "st,spear-timer", },
|
||||
{ },
|
||||
};
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
|
||||
#include "smp.h"
|
||||
|
||||
static const char *stih41x_dt_match[] __initdata = {
|
||||
static const char *const stih41x_dt_match[] __initconst = {
|
||||
"st,stih415",
|
||||
"st,stih416",
|
||||
"st,stih407",
|
||||
|
|
|
@ -13,7 +13,7 @@
|
|||
#include <linux/of_address.h>
|
||||
#include <linux/of_platform.h>
|
||||
|
||||
static const char *zx296702_dt_compat[] __initconst = {
|
||||
static const char *const zx296702_dt_compat[] __initconst = {
|
||||
"zte,zx296702",
|
||||
NULL,
|
||||
};
|
||||
|
|
Loading…
Reference in New Issue