From mboxrd@z Thu Jan 1 00:00:00 1970 From: Soren Brinkmann Subject: [PATCH v2 4/7] tty: xuartps: Don't write IRQ disable register to enable interrupts Date: Mon, 10 Mar 2014 14:40:07 -0700 Message-ID: <1394487610-2419-5-git-send-email-soren.brinkmann@xilinx.com> References: <1394487610-2419-1-git-send-email-soren.brinkmann@xilinx.com> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: QUOTED-PRINTABLE Return-path: In-Reply-To: <1394487610-2419-1-git-send-email-soren.brinkmann@xilinx.com> Sender: linux-kernel-owner@vger.kernel.org To: Russell King , Greg Kroah-Hartman , Jiri Slaby , One Thousand Gnomes Cc: Michal Simek , Peter Crosthwaite , linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-serial@vger.kernel.org, Rob Herring , Pawel Moll , Mark Rutland , Ian Campbell , Kumar Gala , Rob Landley , Grant Likely , devicetree@vger.kernel.org, linux-doc@vger.kernel.org, Soren Brinkmann List-Id: devicetree@vger.kernel.org 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 woul= d 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 --- 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=C3=B6ren --- 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/xi= linx_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, =20 xuartps_writel(ctrl, XUARTPS_CR_OFFSET); =20 - /* 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); =20 if (locked) --=20 1.9.0.1.g4196000