Commit 5f35dc47 authored by Ivaylo Dimitrov's avatar Ivaylo Dimitrov Committed by Tony Lindgren

ARM: OMAP2+: Set system_rev from ATAGS for n900

This fixed a regression with DT boot compared to legacy boot.
Reviewed-by: default avatarPali Rohár <pali.rohar@gmail.com>
Tested-by: default avatarPali Rohár <pali.rohar@gmail.com>
Signed-off-by: default avatarIvaylo Dimitrov <ivo.g.dimitrov.75@gmail.com>
[tony@atomide.com: edited patch subject to follow standard]
Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
parent 388f7b1d
...@@ -18,6 +18,7 @@ ...@@ -18,6 +18,7 @@
#include <asm/setup.h> #include <asm/setup.h>
#include <asm/mach/arch.h> #include <asm/mach/arch.h>
#include <asm/system_info.h>
#include "common.h" #include "common.h"
...@@ -77,12 +78,31 @@ static const char *const n900_boards_compat[] __initconst = { ...@@ -77,12 +78,31 @@ static const char *const n900_boards_compat[] __initconst = {
NULL, NULL,
}; };
/* Set system_rev from atags */
static void __init rx51_set_system_rev(const struct tag *tags)
{
const struct tag *tag;
if (tags->hdr.tag != ATAG_CORE)
return;
for_each_tag(tag, tags) {
if (tag->hdr.tag == ATAG_REVISION) {
system_rev = tag->u.revision.rev;
break;
}
}
}
/* Legacy userspace on Nokia N900 needs ATAGS exported in /proc/atags, /* Legacy userspace on Nokia N900 needs ATAGS exported in /proc/atags,
* save them while the data is still not overwritten * save them while the data is still not overwritten
*/ */
static void __init rx51_reserve(void) static void __init rx51_reserve(void)
{ {
save_atags((const struct tag *)(PAGE_OFFSET + 0x100)); const struct tag *tags = (const struct tag *)(PAGE_OFFSET + 0x100);
save_atags(tags);
rx51_set_system_rev(tags);
omap_reserve(); omap_reserve();
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment