summaryrefslogtreecommitdiff
path: root/arch/arc/plat-arcfpga/irq.c
diff options
context:
space:
mode:
authorJiri Kosina <jkosina@suse.cz>2013-03-27 14:02:27 +0100
committerJiri Kosina <jkosina@suse.cz>2013-03-27 14:02:27 +0100
commitb3fecf8cab6441527ab057c99d7e6a6d7f6713e5 (patch)
treed327499840a25fbd1f81e49d5cb6769bdad382f5 /arch/arc/plat-arcfpga/irq.c
parent5b62efd8250d6a751c31d1972e96bfccd19c4679 (diff)
parent83a44ac8bf4a8e6cbbf0c00ff281a482778f708a (diff)
downloadlwn-b3fecf8cab6441527ab057c99d7e6a6d7f6713e5.tar.gz
lwn-b3fecf8cab6441527ab057c99d7e6a6d7f6713e5.zip
Merge branch 'for-3.10/hid-driver-transport-cleanups' into for-3.10/mt-hybrid-finger-pen
Diffstat (limited to 'arch/arc/plat-arcfpga/irq.c')
-rw-r--r--arch/arc/plat-arcfpga/irq.c25
1 files changed, 25 insertions, 0 deletions
diff --git a/arch/arc/plat-arcfpga/irq.c b/arch/arc/plat-arcfpga/irq.c
new file mode 100644
index 000000000000..d2215fd889c2
--- /dev/null
+++ b/arch/arc/plat-arcfpga/irq.c
@@ -0,0 +1,25 @@
+/*
+ * ARC FPGA Platform IRQ hookups
+ *
+ * Copyright (C) 2012 Synopsys, Inc. (www.synopsys.com)
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ */
+
+#include <linux/interrupt.h>
+#include <plat/irq.h>
+
+void __init plat_fpga_init_IRQ(void)
+{
+ /*
+ * SMP Hack because UART IRQ hardwired to cpu0 (boot-cpu) but if the
+ * request_irq() comes from any other CPU, the low level IRQ unamsking
+ * essential for getting Interrupts won't be enabled on cpu0, locking
+ * up the UART state machine.
+ */
+#ifdef CONFIG_SMP
+ arch_unmask_irq(UART0_IRQ);
+#endif
+}