linux/arch/arm/mach-exynos
Doug Anderson 5b7897db00 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>
2012-11-28 09:24:22 -08:00
..
include/mach ARM: EXYNOS: add support for EXYNOS5440 SoC 2012-11-22 13:09:18 +09:00
clock-exynos4.c ARM: EXYNOS: Put PCM, Slimbus, Spdif clocks to off state 2012-09-21 11:06:00 +09:00
clock-exynos4.h ARM: EXYNOS: Move G2D clock entries to clock-exynos4210.c file 2012-07-17 07:52:03 +09:00
clock-exynos5.c Merge branch 'next/dt2' into HEAD 2012-10-01 14:37:01 -07:00
clock-exynos4210.c ARM: EXYNOS: Move G2D clock entries to clock-exynos4210.c file 2012-07-17 07:52:03 +09:00
clock-exynos4212.c ARM: EXYNOS: Add G2D related clock entries for SMDK4X12 2012-07-17 07:52:03 +09:00
common.c ARM: EXYNOS: Avoid early use of of_machine_is_compatible() 2012-11-28 09:24:22 -08:00
common.h ARM: SoC: convert Exynos4 to SMP operations 2012-09-14 11:14:50 +02:00
cpuidle.c Merge branch 'late/soc' into devel-late 2012-05-30 16:06:46 -07:00
dev-ahci.c
dev-audio.c ARM: samsung: move platform_data definitions 2012-09-19 17:42:18 +02:00
dev-drm.c
dev-dwmci.c
dev-ohci.c ARM: samsung: move platform_data definitions 2012-09-19 17:42:18 +02:00
dev-sysmmu.c
dev-uart.c
dma.c ARM: EXYNOS: Set the capability of pdm0 and pdm1 as DMA_PRIVATE 2012-09-14 08:42:08 +05:30
headsmp.S
hotplug.c ARM: consolidate pen_release instead of having per platform definitions 2012-09-14 11:15:01 +02:00
Kconfig ARM: EXYNOS: add support for EXYNOS5440 SoC 2012-11-22 13:09:18 +09:00
mach-armlex4210.c ARM: SoC: convert Exynos4 to SMP operations 2012-09-14 11:14:50 +02:00
mach-exynos4-dt.c ARM: EXYNOS: Set .smp field of machine descriptor for exynos4-dt 2012-10-22 08:16:44 +09:00
mach-exynos5-dt.c ARM: EXYNOS: Avoid early use of of_machine_is_compatible() 2012-11-28 09:24:22 -08:00
mach-nuri.c Merge branch 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media 2012-10-12 12:39:17 +09:00
mach-origen.c Merge branch 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media 2012-10-12 12:39:17 +09:00
mach-smdk4x12.c fbdev updates for 3.7 2012-10-12 10:21:02 +09:00
mach-smdkv310.c fbdev updates for 3.7 2012-10-12 10:21:02 +09:00
mach-universal_c210.c Merge branch 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media 2012-10-12 12:39:17 +09:00
Makefile ARM: EXYNOS: add support for EXYNOS5440 SoC 2012-11-22 13:09:18 +09:00
Makefile.boot ARM: dts: Add basic dts file for Samsung Trats board 2012-09-21 10:50:27 +09:00
mct.c ARM: EXYNOS: add support for EXYNOS5440 SoC 2012-11-22 13:09:18 +09:00
platsmp.c Merge branch 'for-linus' of git://git.linaro.org/people/rmk/linux-arm 2012-10-07 21:20:57 +09:00
pm_domains.c ARM: exynos: exynos_pm_add_dev_to_genpd may be unused 2012-08-10 12:27:34 +02:00
pm.c ARM: EXYNOS: Support suspend and resume for EXYNOS5250 2012-05-20 03:14:36 +09:00
pmu.c ARM: EXYNOS: Add missing static storage class specifier in pmu.c file 2012-07-13 06:46:08 +09:00
setup-fimc.c
setup-fimd0.c include/video: move fimd register headers from platform to include/video 2012-08-08 09:44:49 +09:00
setup-i2c0.c ARM: EXYNOS: add support for EXYNOS5440 SoC 2012-11-22 13:09:18 +09:00
setup-i2c1.c ARM: samsung: move platform_data definitions 2012-09-19 17:42:18 +02:00
setup-i2c2.c ARM: samsung: move platform_data definitions 2012-09-19 17:42:18 +02:00
setup-i2c3.c ARM: samsung: move platform_data definitions 2012-09-19 17:42:18 +02:00
setup-i2c4.c ARM: samsung: move platform_data definitions 2012-09-19 17:42:18 +02:00
setup-i2c5.c ARM: samsung: move platform_data definitions 2012-09-19 17:42:18 +02:00
setup-i2c6.c ARM: samsung: move platform_data definitions 2012-09-19 17:42:18 +02:00
setup-i2c7.c ARM: samsung: move platform_data definitions 2012-09-19 17:42:18 +02:00
setup-keypad.c
setup-sdhci-gpio.c
setup-spi.c ARM: SAMSUNG: Remove pdev pointer parameter from spi gpio setup functions 2012-07-13 15:23:46 +09:00
setup-usb-phy.c ARM: EXYNOS: Update HSOTG PHY clock setting for EXYNOS4X12 2012-07-13 06:45:55 +09:00