[PATCH] ARM: exynos: move sysram info to exynos.c
From: Tomasz Figa <hidden>
Date: 2014-06-10 12:49:18
Also in:
linux-samsung-soc
Hi Olof, On 03.06.2014 06:47, Olof Johansson wrote:
This solves a problem with building with CONFIG_SMP=n due to missing sysram_base_addr (or sysram_ns_base_addr) variables. The new setup method is more awkward than I'd like for it to be, but it can't be done in init_early() since ioremap is not yet available, but it needs to happen before SMP. Reported-by: Russell King <redacted> Cc: Kukjin Kim <redacted> Cc: Tomasz Figa <redacted> Cc: Daniel Lezcano <redacted> Signed-off-by: Olof Johansson <redacted> --- I'm not entirely happy with the solution here, especially the dual call path. The platsmp.c->exynos.c call isn't ideal either but I'm less worried about that. Seemed overkill to create a new c file just for this. I've tested to make sure this still works on arndale, and the build errors as reported by Russell are definitely gone.
In general, I'm okay with this patch, so if nobody is willing to find a better way feel free to add my Reviewed-by.
Better ideas welcome.
Probably the best idea would be to find a way to always call
exynos_sysram_init() after DT unflattening and before SMP
initialization. Some platforms (e.g. tegra) abuse .init_irq callback for
this, e.g.:
mach-tegra/tegra.c:
static void __init tegra_dt_init_irq(void)
{
tegra_pmc_init_irq();
tegra_init_irq();
irqchip_init();
tegra_legacy_irq_syscore_init();
}
We could do the same on Exynos if this is considered better.
Best regards,
Tomasz