[PATCH v2 4/7] tty: xuartps: Don't write IRQ disable register to enable interrupts

Soren Brinkmann
2014-03-10T21:40:07Z

A comment states, that, according to the data sheet, to enable
interrupts the disable register should be written, but the enable
register could be left untouched. And it suspsects a HW bug requiring
to write both.
Reviewing the data sheet, these statements seem wrong. Just as one would
expect. Writing to the enable/disable register enables/disables
interrupts.
Hence the misleading comment and needless write to the disable register
are removed from the enable sequence.

Signed-off-by: Soren Brinkmann <soren.brinkmann@xilinx.com>
---
I added a few lines to comment the change and altered the summary line.
In case this causes issues it should show up a little easier as a
candidate to revert.

S?ren
---
drivers/tty/serial/xilinx_uartps.c | 6 +-----
1 file changed, 1 insertion(+), 5 deletions(-)

diff --git a/drivers/tty/serial/xilinx_uartps.c b/drivers/tty/serial/xilinx_uartps.c
index a4bd6242e72d..a39c2d290902 100644
--- a/drivers/tty/serial/xilinx_uartps.c
+++ b/drivers/tty/serial/xilinx_uartps.c
@@ -1082,11 +1082,7 @@ static void xuartps_console_write(struct console *co, const char *s,

xuartps_writel(ctrl, XUARTPS_CR_OFFSET);

- /* restore interrupt state, it seems like there may be a h/w bug
- * in that the interrupt enable register should not need to be
- * written based on the data sheet
- */
- xuartps_writel(~imr, XUARTPS_IDR_OFFSET);
+ /* restore interrupt state */
xuartps_writel(imr, XUARTPS_IER_OFFSET);

if (locked)
--
1.9.0.1.g4196000