diff options
author | Sascha Hauer <s.hauer@pengutronix.de> | 2013-08-15 09:02:17 +0200 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2013-08-16 08:40:55 +0200 |
commit | 068bed22a6154aec1fe689603b8a8eaa27c0f350 (patch) | |
tree | 5cebcbbbcd486ee49552253d27d079b7f6703fd4 /arch/arm/boards/vexpress/init.c | |
parent | 774580c2bde4c8b126eed0a80d00cb22cbfb3193 (diff) | |
download | barebox-068bed22a6154aec1fe689603b8a8eaa27c0f350.tar.gz barebox-068bed22a6154aec1fe689603b8a8eaa27c0f350.tar.xz |
Set model and hostname at boardlevel
With multiboard support the compiletime generated BOARDINFO string
gets more and more meaningless. This removes it from Kconfig and
replaces it with a variable that can be set at boardlevel.
Also many boards have a standard setting for the hostname in the
environment. This patch also moves the standard to C code by calling
barebox_set_hostname().
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'arch/arm/boards/vexpress/init.c')
-rw-r--r-- | arch/arm/boards/vexpress/init.c | 19 |
1 files changed, 10 insertions, 9 deletions
diff --git a/arch/arm/boards/vexpress/init.c b/arch/arm/boards/vexpress/init.c index 6e4fa7248f..48bc11efec 100644 --- a/arch/arm/boards/vexpress/init.c +++ b/arch/arm/boards/vexpress/init.c @@ -22,7 +22,6 @@ struct vexpress_init { void (*mem_init)(void); void (*console_init)(void); void (*devices_init)(void); - char *hostname; }; struct vexpress_init *v2m_init; @@ -87,7 +86,6 @@ struct vexpress_init vexpress_init_a9_legacy = { .mem_init = vexpress_a9_legacy_mem_init, .console_init = vexpress_a9_legacy_console_init, .devices_init = vexpress_a9_legacy_devices_init, - .hostname = "vexpress-a9-legacy", }; static int vexpress_mem_init(void) @@ -106,9 +104,6 @@ static int vexpress_devices_init(void) devfs_add_partition("nor0", 0x00000, 0x40000, DEVFS_PARTITION_FIXED, "self"); devfs_add_partition("nor0", 0x40000, 0x20000, DEVFS_PARTITION_FIXED, "env0"); - - globalvar_add_simple("hostname", v2m_init->hostname); - return 0; } device_initcall(vexpress_devices_init); @@ -123,20 +118,26 @@ console_initcall(vexpress_console_init); static int vexpress_core_init(void) { + char *hostname; + if (amba_is_arm_sp804(IOMEM(0x10011000))) { v2m_init = &vexpress_init_a9_legacy; + hostname = "vexpress-a9-legacy"; } else { v2m_init = &vexpress_init_ax; if (cpu_is_cortex_a5()) - v2m_init->hostname = "vexpress-a5"; + hostname = "vexpress-a5"; else if (cpu_is_cortex_a7()) - v2m_init->hostname = "vexpress-a7"; + hostname = "vexpress-a7"; else if (cpu_is_cortex_a9()) - v2m_init->hostname = "vexpress-a9"; + hostname = "vexpress-a9"; else if (cpu_is_cortex_a15()) - v2m_init->hostname = "vexpress-a15"; + hostname = "vexpress-a15"; } + barebox_set_model("ARM Vexpress"); + barebox_set_hostname(hostname); + v2m_init->core_init(); return 0; |