ARM: make arrays containing machine compatible strings const
authorUwe Kleine-König <u.kleine-koenig@pengutronix.de>
Wed, 18 Feb 2015 20:01:45 +0000 (21:01 +0100)
committerArnd Bergmann <arnd@arndb.de>
Thu, 19 Feb 2015 08:44:17 +0000 (09:44 +0100)
The definition

static const char *axxia_dt_match[] __initconst = {
...

defines a changable array of constant strings. That is you must not do:

*axxia_dt_match[0] = 'k';

but

axxia_dt_match[0] = "different string";

is fine. So the annotation __initconst is wrong and yields a compiler
error when other really const variables are added with __initconst.

As the struct machine_desc member dt_compat is declared as

const char *const *dt_compat;

making the arrays const is the better alternative over changing all
annotations to __initdata.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
arch/arm/mach-axxia/axxia.c
arch/arm/mach-bcm/brcmstb.c
arch/arm/mach-exynos/exynos.c
arch/arm/mach-highbank/highbank.c
arch/arm/mach-hisi/hisilicon.c
arch/arm/mach-keystone/keystone.c
arch/arm/mach-nspire/nspire.c
arch/arm/mach-prima2/common.c
arch/arm/mach-s5pv210/s5pv210.c
arch/arm/mach-shmobile/setup-emev2.c
arch/arm/mach-versatile/versatile_dt.c

index 19e5a1d..4db76a4 100644 (file)
@@ -16,7 +16,7 @@
 #include <linux/init.h>
 #include <asm/mach/arch.h>
 
-static const char *axxia_dt_match[] __initconst = {
+static const char *const axxia_dt_match[] __initconst = {
        "lsi,axm5516",
        "lsi,axm5516-sim",
        "lsi,axm5516-emu",
index 60a5afa..3a60f7e 100644 (file)
@@ -17,7 +17,7 @@
 #include <asm/mach-types.h>
 #include <asm/mach/arch.h>
 
-static const char *brcmstb_match[] __initconst = {
+static const char *const brcmstb_match[] __initconst = {
        "brcm,bcm7445",
        "brcm,brcmstb",
        NULL
index 2013f73..9e9dfdf 100644 (file)
@@ -227,7 +227,7 @@ static void __init exynos_dt_machine_init(void)
        of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL);
 }
 
-static char const *exynos_dt_compat[] __initconst = {
+static char const *const exynos_dt_compat[] __initconst = {
        "samsung,exynos3",
        "samsung,exynos3250",
        "samsung,exynos4",
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge