diff options
Diffstat (limited to 'arch/arm/mach-exynos/exynos.c')
| -rw-r--r-- | arch/arm/mach-exynos/exynos.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/arch/arm/mach-exynos/exynos.c b/arch/arm/mach-exynos/exynos.c index 8b48326be9fd..2e8099479ffa 100644 --- a/arch/arm/mach-exynos/exynos.c +++ b/arch/arm/mach-exynos/exynos.c @@ -50,11 +50,13 @@ void __init exynos_sysram_init(void) struct device_node *node; for_each_compatible_node(node, NULL, "samsung,exynos4210-sysram") { + struct resource res; if (!of_device_is_available(node)) continue; - sysram_base_addr = of_iomap(node, 0); - sysram_base_phys = of_translate_address(node, - of_get_address(node, 0, NULL, NULL)); + + of_address_to_resource(node, 0, &res); + sysram_base_addr = ioremap(res.start, resource_size(&res)); + sysram_base_phys = res.start; of_node_put(node); break; } @@ -149,6 +151,7 @@ static void exynos_map_pmu(void) np = of_find_matching_node(NULL, exynos_dt_pmu_match); if (np) pmu_base_addr = of_iomap(np, 0); + of_node_put(np); } static void __init exynos_init_irq(void) @@ -177,6 +180,7 @@ static void __init exynos_dt_machine_init(void) exynos_cpuidle.dev.platform_data = &cpuidle_coupled_exynos_data; #endif if (of_machine_is_compatible("samsung,exynos4210") || + of_machine_is_compatible("samsung,exynos4212") || (of_machine_is_compatible("samsung,exynos4412") && (of_machine_is_compatible("samsung,trats2") || of_machine_is_compatible("samsung,midas") || @@ -191,6 +195,7 @@ static char const *const exynos_dt_compat[] __initconst = { "samsung,exynos3250", "samsung,exynos4", "samsung,exynos4210", + "samsung,exynos4212", "samsung,exynos4412", "samsung,exynos5", "samsung,exynos5250", |
