From 442f56d917959cbc3fd7a56c5eb43b0d728cad26 Mon Sep 17 00:00:00 2001 From: Paul Mundt Date: Mon, 18 Apr 2011 11:45:08 +0900 Subject: [PATCH 1/2] sh: intc: Set virtual IRQs as nothread. Signed-off-by: Paul Mundt --- drivers/sh/intc/virq.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/drivers/sh/intc/virq.c b/drivers/sh/intc/virq.c index ce5f81d7cc6b..1e6e2d0353ea 100644 --- a/drivers/sh/intc/virq.c +++ b/drivers/sh/intc/virq.c @@ -235,6 +235,11 @@ restart: irq_set_handler_data(irq, (void *)entry->handle); + /* + * Set the virtual IRQ as non-threadable. + */ + irq_set_nothread(irq); + irq_set_chained_handler(entry->pirq, intc_virq_handler); add_virq_to_pirq(entry->pirq, irq); From ed170924dd0db14b135a388966e0b6fd5188c3e5 Mon Sep 17 00:00:00 2001 From: Paul Mundt Date: Mon, 18 Apr 2011 11:45:27 +0900 Subject: [PATCH 2/2] sh: select IRQ_FORCED_THREADING. With virtual IRQs fixed up with the genirq nothread infrastructure, IRQ threads can be enabled across the board. Signed-off-by: Paul Mundt --- arch/sh/Kconfig | 1 + 1 file changed, 1 insertion(+) diff --git a/arch/sh/Kconfig b/arch/sh/Kconfig index 4b89da248d17..dd4bf55094b2 100644 --- a/arch/sh/Kconfig +++ b/arch/sh/Kconfig @@ -21,6 +21,7 @@ config SUPERH select HAVE_REGS_AND_STACK_ACCESS_API select HAVE_GENERIC_HARDIRQS select HAVE_SPARSE_IRQ + select IRQ_FORCED_THREADING select RTC_LIB select GENERIC_ATOMIC64 select GENERIC_IRQ_SHOW