ARM: EXYNOS: Avoid early use of of_machine_is_compatible()
The recent commit "ARM: EXYNOS: add support for EXYNOS5440 SoC" broke
support for exynos5250 because of_machine_is_compatible() was used too
early in the boot process. It also probably meant that the exynos5440
failed to use the proper iotable. Switch to use
of_flat_dt_is_compatible() in both of these cases.
The failure I was seeing in exynos5250 because of this was:
Division by zero in kernel.
[<
80015ed4>] (unwind_backtrace+0x0/0xec) from [<
8045c7a4>] (dump_stack+0x20/0x24)
[<
8045c7a4>] (dump_stack+0x20/0x24) from [<
80012990>] (__div0+0x20/0x28)
[<
80012990>] (__div0+0x20/0x28) from [<
8021ab04>] (Ldiv0_64+0x8/0x18)
[<
8021ab04>] (Ldiv0_64+0x8/0x18) from [<
80068560>] (__clocksource_updatefreq_scale+0x54/0x134)
[<
80068560>] (__clocksource_updatefreq_scale+0x54/0x134) from [<
8006865c>] (__clocksource_register_scale+0x1c/0x54)
[<
8006865c>] (__clocksource_register_scale+0x1c/0x54) from [<
80612a18>] (exynos_timer_init+0x100/0x1e8)
[<
80612a18>] (exynos_timer_init+0x100/0x1e8) from [<
8060d184>] (time_init+0x28/0x38)
[<
8060d184>] (time_init+0x28/0x38) from [<
8060a754>] (start_kernel+0x1e0/0x3c8)
[<
8060a754>] (start_kernel+0x1e0/0x3c8) from [<
40008078>] (0x40008078)
Signed-off-by: Doug Anderson <dianders@chromium.org>
Acked-by: Kukjin Kim <kgene.kim@samsung.com>
[olofj: fixed two build errors, one missing include and one !CONFIG_OF failure]
Signed-off-by: Olof Johansson <olof@lixom.net>