summaryrefslogtreecommitdiff
path: root/arch/mn10300/kernel/mn10300-serial.c
diff options
context:
space:
mode:
authorMark Salter <msalter@redhat.com>2012-12-12 15:36:37 (GMT)
committerDavid Howells <dhowells@redhat.com>2012-12-12 15:46:14 (GMT)
commit7d361cb754720d69695a3efc973e9a1a51e46b21 (patch)
tree4db3debac5fc6f6a78f0f185c4dcc5d9ddf01249 /arch/mn10300/kernel/mn10300-serial.c
parentc98c406eb2c518c7c5bc922fafa1f9fdcb7b76f4 (diff)
downloadlinux-fsl-qoriq-7d361cb754720d69695a3efc973e9a1a51e46b21.tar.xz
MN10300: cleanup IRQ affinity setting
The irq_set_affinity handler for the mn10300 cpu pic had some hard-coded IRQs which were not to be migrated from one cpu to another. This patch cleans those up by using a combination of IRQF_NOBALANCING and specialized irq chips with no irq_set_affinity handler. This maintains the previous behavior by using generic IRQ interfaces rather than hard coding IRQ numbers in the default irq_set_affinity handler. Signed-off-by: Mark Salter <msalter@redhat.com> Signed-off-by: David Howells <dhowells@redhat.com>
Diffstat (limited to 'arch/mn10300/kernel/mn10300-serial.c')
-rw-r--r--arch/mn10300/kernel/mn10300-serial.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/arch/mn10300/kernel/mn10300-serial.c b/arch/mn10300/kernel/mn10300-serial.c
index 131b81f..4968cfe 100644
--- a/arch/mn10300/kernel/mn10300-serial.c
+++ b/arch/mn10300/kernel/mn10300-serial.c
@@ -936,15 +936,18 @@ static int mn10300_serial_startup(struct uart_port *_port)
irq_set_chip(port->tm_irq, &mn10300_serial_pic);
if (request_irq(port->rx_irq, mn10300_serial_interrupt,
- IRQF_DISABLED, port->rx_name, port) < 0)
+ IRQF_DISABLED | IRQF_NOBALANCING,
+ port->rx_name, port) < 0)
goto error;
if (request_irq(port->tx_irq, mn10300_serial_interrupt,
- IRQF_DISABLED, port->tx_name, port) < 0)
+ IRQF_DISABLED | IRQF_NOBALANCING,
+ port->tx_name, port) < 0)
goto error2;
if (request_irq(port->tm_irq, mn10300_serial_interrupt,
- IRQF_DISABLED, port->tm_name, port) < 0)
+ IRQF_DISABLED | IRQF_NOBALANCING,
+ port->tm_name, port) < 0)
goto error3;
mn10300_serial_mask_ack(port->tm_irq);