Hi Emil,
Sorry for the too late response. Checking the patch against freescale kernel 3.0.35 Which should be similar in this case to kernel 2.6.x i found the following:
1)When the uart drivers prints the IO address is not different when i enable the CONFIG_LL_DEBUG or when i disable it. It always the same.
CONFIG_LL_DEBUG =y
imx-uart.1: ttymxc1 at MMIO 0x21e8000 (irq = 59) is a IMX
imx-uart.2: ttymxc2 at MMIO 0x21ec000 (irq = 60) is a IMX
imx-uart.3: ttymxc3 at MMIO 0x21f0000 (irq = 61) is a IMX
#CONFIG_LL_DEBUG
imx-uart.1: ttymxc1 at MMIO 0x21e8000 (irq = 59) is a IMX
imx-uart.2: ttymxc2 at MMIO 0x21ec000 (irq = 60) is a IMX
imx-uart.3: ttymxc3 at MMIO 0x21f0000 (irq = 61) is a IMX
2) With your patches when i disable LL_DEBUG compiles and the IO address printed is the same as before(with no patch apply).
PATCH && #CONFIG_LL_DEBUG
Serial: IMX driver
imx-uart.1: ttymxc1 at MMIO 0x21e8000 (irq = 59) is a IMX
imx-uart.2: ttymxc2 at MMIO 0x21ec000 (irq = 60) is a IMX
imx-uart.3: ttymxc3 at MMIO 0x21f0000 (irq = 61) is a IMX
3) With your patch and LL_DEBUG enable i got a compile error in a macro expansion.
arch/arm/kernel/debug.S: Assembler messages:
arch/arm/kernel/debug.S:157: Error: missing ')'
arch/arm/kernel/debug.S:157: Error: missing ')'
arch/arm/kernel/debug.S:157: Error: garbage following instruction -- `ldr r2,=((void __force __iomem*)((((0x02100000+0x80000)+0x70000))+0xF2000000))'
arch/arm/kernel/debug.S:173: Error: missing ')'
arch/arm/kernel/debug.S:173: Error: missing ')'
arch/arm/kernel/debug.S:173: Error: garbage following instruction -- `ldr r2,=((void __force __iomem*)((((0x02100000+0x80000)+0x70000))+0xF2000000))'
make[1]: *** [arch/arm/kernel/debug.o] Error 1
Regards,
-Israel.