]> git.proxmox.com Git - mirror_ubuntu-disco-kernel.git/commit
ARM: EXYNOS: Fix low level debug support
authorYadwinder Singh Brar <yadi.brar@samsung.com>
Wed, 24 Jul 2013 08:05:32 +0000 (17:05 +0900)
committerKukjin Kim <kgene.kim@samsung.com>
Wed, 24 Jul 2013 08:05:32 +0000 (17:05 +0900)
commit7ed76e089a645a12c53bc35936574f710aa11549
treebda6450f06dc159836785204cd7e52e052a18592
parent7bdc84fb82627f34d9e13c37926f70fcde38e4c4
ARM: EXYNOS: Fix low level debug support

Presently, using exynos_defconfig with CONFIG_DEBUG_LL and CONFIG_EARLY_PRIN
on, kernel is not booting, we are getting following:

[    0.000000] ------------[ cut here ]------------
[    0.000000] kernel BUG at mm/vmalloc.c:1134!
[    0.000000] Internal error: Oops - BUG: 0 [#1] PREEMPT SMP ARM
[    0.000000] Modules linked in:
[    0.000000] CPU: 0 PID: 0 Comm: swapper Not tainted 3.11.0-rc1 #633
[    0.000000] task: c052ec48 ti: c0524000 task.ti: c0524000
[    0.000000] PC is at vm_area_add_early+0x54/0x94
[    0.000000] LR is at add_static_vm_early+0xc/0x60

Its because exynos[4/5]_map_io() function ioremaps a single 512KB memory
size for all the four uart ports which envelopes the mapping created by
debug_ll_io_init(), called earlier in exynos_init_io().

This patch removes iodesc entries for UART controller for all Samsung SoC's,
since now the Samsung uart driver does a ioremap during probe and any needed
iomapping for earlyprintk will be handled by debug_ll_io_init().

Tested on smdk4412 and smdk5250.

Signed-off-by: Yadwinder Singh Brar <yadi.brar@samsung.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
arch/arm/mach-exynos/common.c