Thread (7 messages) 7 messages, 5 authors, 2006-11-20

Re: [PATCH] serial: Use real irq on UART0 (IRQ = 0) on PPC4xx systems

flat view

From: Sergei Shtylyov <hidden>
Date: 2006-11-20 13:26:40
Also in: lkml

Hello.

Stefan Roese wrote:
This patch fixes a problem seen on multiple 4xx platforms, where
the UART0 interrupt number is 0. The macro "is_real_interrupt" lead
on those systems to not use an real interrupt but the timer based
implementation.
This problem was detected and fixed by
Charles Gales [off-list ref] and John Baxter [off-list ref]
from AMCC.
Signed-off-by: Stefan Roese <sr@denx.de>
---
commit f83094acd3258575c9a5cdb1d65e241c16eff03a
tree 72582c5eeb2a9c8ea57287616d51e42fff8ed641
parent f56f68c4e1977f0e884a304af4c617bed4909417
author Stefan Roese [off-list ref] Sat, 18 Nov 2006 10:28:50 +0100
committer Stefan Roese [off-list ref] Sat, 18 Nov 2006 10:28:50 +0100
 drivers/serial/8250.c |   22 ++++++++++++++--------
 1 files changed, 14 insertions(+), 8 deletions(-)
quoted hunk ↗ jump to hunk
diff --git a/drivers/serial/8250.c b/drivers/serial/8250.c
index e34bd03..a51679e 100644
--- a/drivers/serial/8250.c
+++ b/drivers/serial/8250.c
@@ -76,8 +76,14 @@ static unsigned int nr_uarts = CONFIG_SE
  * We default to IRQ0 for the "no irq" hack.   Some
  * machine types want others as well - they're free
  * to redefine this in their header file.
+ * NOTE:  Some PPC4xx use IRQ0 for a UART Interrupt, so
+ * we will assume that the IRQ is always real
  */
+#ifdef CONFIG_4xx
+#define is_real_interrupt(irq)	(1)
+#else
 #define is_real_interrupt(irq)	((irq) != 0)
+#endif
   This should have been done in <asm/serial.h> instead, like this:

#undef is_real_interrupt(irq)
#define is_real_interrupt(irq)	1

   Not too smart as well,but at least this wasy you won't be pulluting the generic code...

WBR, Sergei
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help