Re: [PATCH V3 3/5] ARM: tegra: decouple uncompress.h and debug-macro.S

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 10/22/2012 02:18 AM, Peter De Schrijver wrote:
>> +
>> +#define checkuart(rp, rv, lhu, bit, uart) \
>> +               /* Load address of CLK_RST register */ \
>> +               movw    rp, #TEGRA_CLK_RST_DEVICES_##lhu & 0xffff ; \
>> +               movt    rp, #TEGRA_CLK_RST_DEVICES_##lhu >> 16 ; \
>> +               /* Load value from CLK_RST register */ \
>> +               ldr     rp, [rp, #0] ; \
>> +               /* Test UART's reset bit */ \
>> +               tst     rp, #(1 << bit) ; \
>> +               /* If set, can't use UART; jump to save no UART */ \
>> +               bne     90f ; \
>> +               /* Load address of CLK_OUT_ENB register */ \
>> +               movw    rp, #TEGRA_CLK_OUT_ENB_##lhu & 0xffff ; \
>> +               movt    rp, #TEGRA_CLK_OUT_ENB_##lhu >> 16 ; \
>> +               /* Load value from CLK_OUT_ENB register */ \
>> +               ldr     rp, [rp, #0] ; \
>> +               /* Test UART's clock enable bit */ \
>> +               tst     rp, #(1 << bit) ; \
>> +               /* If clear, can't use UART; jump to save no UART */ \
>> +               beq     90f ; \
>> +               /* Passed all tests, load address of UART registers */ \
>> +               movw    rp, #TEGRA_UART##uart##_BASE & 0xffff ; \
>> +               movt    rp, #TEGRA_UART##uart##_BASE >> 16 ; \
>> +               /* Jump to save UART address */ \
>> +               b 91f
>>
> 
> Maybe make this a subroutine?

The addruart macro (which in turn uses the checkuart macro) is only
allowed to use 3 registers; rp, rv, rtmp. I'm also not 100% sure if the
stack is guaranteed to be set up when addruart is called either. So, I
don't think making this a function is possible.
--
To unsubscribe from this list: send the line "unsubscribe linux-tegra" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [ARM Kernel]     [Linux ARM]     [Linux ARM MSM]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux