On 9/28/2011 9:21 PM, Nicolas Pitre wrote: > On Wed, 28 Sep 2011, Stephen Boyd wrote: > > >> .macro senduart,rd,rx >> +#ifdef CONFIG_MSM_HAS_DEBUG_UART_HS >> + @ Clear TX_READY by writing to the UARTDM_CR register >> + mov r12, #0x300 >> + str r12, [\rx, #0x10] >> + @ Write 0x1 to NCF register >> + mov r12, #0x1 >> + str r12, [\rx, #0x40] >> + @ UARTDM reg. Read to induce delay >> + ldr r12, [\rx, #0x08] >> + @ Write the 1 character to UARTDM_TF >> + str \rd, [\rx, #0x70] > This is a really bad idea to pick a register (r12) when the calling code > is completely unaware of that. This _will_ break on you someday. > > Except for the last line, why didn't you simply fold this code into the > waituart macro instead? We need to configure the uart to be ready for a write and it didn't seem appropriate to put that in the waituart macro because it isn't actually waiting for anything. I suppose putting it after the waiting is fine though and avoids future breakage. Thanks. -- Sent by an employee of the Qualcomm Innovation Center, Inc. The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum. -- To unsubscribe from this list: send the line "unsubscribe linux-arm-msm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html