[PATCH] Revert "ARM: pxa: call debug_ll_io_init for earlyprintk"
Robert Jarzmik
robert.jarzmik at free.fr
Mon Oct 6 14:44:52 PDT 2014
Arnd Bergmann <arnd at arndb.de> writes:
> On Monday 06 October 2014 16:02:09 Andrew Ruder wrote:
>> On Mon, Oct 06, 2014 at 09:29:36PM +0200, Robert Jarzmik wrote:
>> > Actually, I have a question for Andrew : was your commit aimed at the 3 or 4
>> > available UARTs (ie. in peripheral address space), or is it a case where an
>> > external UART is mapped on the system bus (if that is possible) ?
>>
>> My apologies! I'm actually on a really long-term project of getting my
>> board (similar to zeus board already in the kernel) fully running off of
>> devicetree. For this particular board, all of the UARTS are on the
>> system bus and not the built in ones. But yes - I do see how the
>> built-in UARTS would overlap and hit the BUG_ON on other boards. Any
>> thoughts on a better way of solving this than just reverting the patch
>> back into only working on the built-in UARTs?
>
> I think the best way forward is to make the built-in UARTs work with
> debug_ll_io_init and then apply your patch again.
Yes, and that means revert, right ?
The best approach I'd see for pxa_map_io() would be to call debug_ll_io_init()
conditionally, when the CONFIG_DEBUG_UART_PHYS is defined and is not within the
peripheral bus range, ie. within [ PERIPH_PHYS .. PERIPH_PHYS + PERIPH_SIZE ].
I don't see how to do it without ugly ifdefery though such as :
#if defined(CONFIG_DEBUG_UART_PHYS) && \
((CONFIG_DEBUG_UART_PHYS < PERIPH_PHYS) || (CONFIG_DEBUG_UART_PHYS >=
PERIPH_PHYS + PERIPH_SIZE))
debug_ll_io_init();
#endif
But that's awfull, there should be another better way ...
--
Robert
More information about the linux-arm-kernel
mailing list