summaryrefslogtreecommitdiff
path: root/arch/arm/mach-keystone/keystone.c
diff options
context:
space:
mode:
authorRussell King <rmk+kernel@arm.linux.org.uk>2016-03-15 14:55:03 (GMT)
committerRussell King <rmk+kernel@arm.linux.org.uk>2016-05-03 10:13:54 (GMT)
commit981b6714dbd26609212536b9fed43e49db1459cf (patch)
treed1929db350c1ad747a5ff2ade1bc7b01c4fd39a2 /arch/arm/mach-keystone/keystone.c
parent61603016e2122bf95328321b2f1a64277202b6e3 (diff)
downloadlinux-981b6714dbd26609212536b9fed43e49db1459cf.tar.xz
ARM: provide improved virt_to_idmap() functionality
For kexec, we need more functionality from the IDMAP system. We need to be able to convert physical addresses to their identity mappped versions as well as virtual addresses. Convert the existing arch_virt_to_idmap() to deal with physical addresses instead. Acked-by: Santosh Shilimkar <ssantosh@kernel.org> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch/arm/mach-keystone/keystone.c')
-rw-r--r--arch/arm/mach-keystone/keystone.c7
1 files changed, 1 insertions, 6 deletions
diff --git a/arch/arm/mach-keystone/keystone.c b/arch/arm/mach-keystone/keystone.c
index e6b9cb1..a33a296 100644
--- a/arch/arm/mach-keystone/keystone.c
+++ b/arch/arm/mach-keystone/keystone.c
@@ -63,11 +63,6 @@ static void __init keystone_init(void)
of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL);
}
-static unsigned long keystone_virt_to_idmap(unsigned long x)
-{
- return (phys_addr_t)(x) - CONFIG_PAGE_OFFSET + KEYSTONE_LOW_PHYS_START;
-}
-
static long long __init keystone_pv_fixup(void)
{
long long offset;
@@ -91,7 +86,7 @@ static long long __init keystone_pv_fixup(void)
offset = KEYSTONE_HIGH_PHYS_START - KEYSTONE_LOW_PHYS_START;
/* Populate the arch idmap hook */
- arch_virt_to_idmap = keystone_virt_to_idmap;
+ arch_phys_to_idmap_offset = -offset;
return offset;
}