aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/serial
diff options
context:
space:
mode:
authorPavel Pisa <ppisa4lists@pikron.com>2007-02-05 16:10:20 -0800
committerRussell King <rmk+kernel@arm.linux.org.uk>2007-02-11 16:46:23 +0000
commitd7ea10d9cbddd49bab282adef805203a36e43101 (patch)
tree749ee4224b139d9898dad6a3e1cd5406c00c3ea5 /drivers/serial
parent8c0b254b7efaa7941b3acfe790dd16597b0964b3 (diff)
downloadkernel_samsung_smdk4412-d7ea10d9cbddd49bab282adef805203a36e43101.zip
kernel_samsung_smdk4412-d7ea10d9cbddd49bab282adef805203a36e43101.tar.gz
kernel_samsung_smdk4412-d7ea10d9cbddd49bab282adef805203a36e43101.tar.bz2
[ARM] i.MX serial: fix IRQ allocation
If RTS interrupt is caused by RTS senzing logic inside i.MX UART module the IRQ type cannot be set. It applies only for interrupts going through GPIO layer. The problem has been noticed by Konstantin Kletschke some time ago. No IRQF_TRIGGER set_type function for IRQ 26 (MPU) I would not change type to fixed 0, because it could be possible to use different GPIO MX1 pin for RTS in the theory. On the other hand it is only for documentation purposes now, because RTS read code would have to be adjusted in such case. Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'drivers/serial')
-rw-r--r--drivers/serial/imx.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/serial/imx.c b/drivers/serial/imx.c
index 03b495c..04cc88c 100644
--- a/drivers/serial/imx.c
+++ b/drivers/serial/imx.c
@@ -403,7 +403,8 @@ static int imx_startup(struct uart_port *port)
if (retval) goto error_out2;
retval = request_irq(sport->rtsirq, imx_rtsint,
- IRQF_TRIGGER_FALLING | IRQF_TRIGGER_RISING,
+ (sport->rtsirq < IMX_IRQS) ? 0 :
+ IRQF_TRIGGER_FALLING | IRQF_TRIGGER_RISING,
DRIVER_NAME, sport);
if (retval) goto error_out3;