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>
		
	
			
		
			
				
	
	
		
			65 lines
		
	
	
	
		
			1.5 KiB
			
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			65 lines
		
	
	
	
		
			1.5 KiB
			
		
	
	
	
		
			C
		
	
	
	
	
	
/*
 | 
						|
 * Defines machines for CSR SiRFprimaII
 | 
						|
 *
 | 
						|
 * Copyright (c) 2011 Cambridge Silicon Radio Limited, a CSR plc group company.
 | 
						|
 *
 | 
						|
 * Licensed under GPLv2 or later.
 | 
						|
 */
 | 
						|
 | 
						|
#include <linux/init.h>
 | 
						|
#include <linux/kernel.h>
 | 
						|
#include <asm/sizes.h>
 | 
						|
#include <asm/mach-types.h>
 | 
						|
#include <asm/mach/arch.h>
 | 
						|
#include <linux/of.h>
 | 
						|
#include <linux/of_platform.h>
 | 
						|
#include "common.h"
 | 
						|
 | 
						|
static void __init sirfsoc_init_late(void)
 | 
						|
{
 | 
						|
	sirfsoc_pm_init();
 | 
						|
}
 | 
						|
 | 
						|
#ifdef CONFIG_ARCH_ATLAS6
 | 
						|
static const char *const atlas6_dt_match[] __initconst = {
 | 
						|
	"sirf,atlas6",
 | 
						|
	NULL
 | 
						|
};
 | 
						|
 | 
						|
DT_MACHINE_START(ATLAS6_DT, "Generic ATLAS6 (Flattened Device Tree)")
 | 
						|
	/* Maintainer: Barry Song <baohua.song@csr.com> */
 | 
						|
	.l2c_aux_val	= 0,
 | 
						|
	.l2c_aux_mask	= ~0,
 | 
						|
	.init_late	= sirfsoc_init_late,
 | 
						|
	.dt_compat      = atlas6_dt_match,
 | 
						|
MACHINE_END
 | 
						|
#endif
 | 
						|
 | 
						|
#ifdef CONFIG_ARCH_PRIMA2
 | 
						|
static const char *const prima2_dt_match[] __initconst = {
 | 
						|
	"sirf,prima2",
 | 
						|
	NULL
 | 
						|
};
 | 
						|
 | 
						|
DT_MACHINE_START(PRIMA2_DT, "Generic PRIMA2 (Flattened Device Tree)")
 | 
						|
	/* Maintainer: Barry Song <baohua.song@csr.com> */
 | 
						|
	.l2c_aux_val	= 0,
 | 
						|
	.l2c_aux_mask	= ~0,
 | 
						|
	.dma_zone_size	= SZ_256M,
 | 
						|
	.init_late	= sirfsoc_init_late,
 | 
						|
	.dt_compat      = prima2_dt_match,
 | 
						|
MACHINE_END
 | 
						|
#endif
 | 
						|
 | 
						|
#ifdef CONFIG_ARCH_ATLAS7
 | 
						|
static const char *const atlas7_dt_match[] __initconst = {
 | 
						|
	"sirf,atlas7",
 | 
						|
	NULL
 | 
						|
};
 | 
						|
 | 
						|
DT_MACHINE_START(ATLAS7_DT, "Generic ATLAS7 (Flattened Device Tree)")
 | 
						|
	/* Maintainer: Barry Song <baohua.song@csr.com> */
 | 
						|
	.smp            = smp_ops(sirfsoc_smp_ops),
 | 
						|
	.dt_compat      = atlas7_dt_match,
 | 
						|
MACHINE_END
 | 
						|
#endif
 |