diff options
author | Mark Salter <msalter@redhat.com> | 2012-12-12 15:36:37 +0000 |
---|---|---|
committer | David Howells <dhowells@redhat.com> | 2012-12-12 15:46:14 +0000 |
commit | 7d361cb754720d69695a3efc973e9a1a51e46b21 (patch) | |
tree | 4db3debac5fc6f6a78f0f185c4dcc5d9ddf01249 /arch/mn10300/kernel/mn10300-serial.c | |
parent | c98c406eb2c518c7c5bc922fafa1f9fdcb7b76f4 (diff) | |
download | blackbird-op-linux-7d361cb754720d69695a3efc973e9a1a51e46b21.tar.gz blackbird-op-linux-7d361cb754720d69695a3efc973e9a1a51e46b21.zip |
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.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/arch/mn10300/kernel/mn10300-serial.c b/arch/mn10300/kernel/mn10300-serial.c index 131b81f9d6c8..4968cfe66c06 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); |