aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPeter Zijlstra <peterz@infradead.org>2014-09-06 09:43:02 -0400
committerFrederic Weisbecker <fweisbec@gmail.com>2014-09-13 12:38:07 -0400
commitc5c38ef3d70377dc504a6a3f611a3ec814bc757b (patch)
treea2ff73cef2176bc5a94b7ed4944915102428b52e
parenta80e49e2cc3145af014a8ae44f575829cc236192 (diff)
irq_work: Introduce arch_irq_work_has_interrupt()
The nohz full code needs irq work to trigger its own interrupt so that the subsystem can work even when the tick is stopped. Lets introduce arch_irq_work_has_interrupt() that archs can override to tell about their support for this ability. Signed-off-by: Peter Zijlstra <peterz@infradead.org> Cc: Ingo Molnar <mingo@kernel.org> Cc: Paul E. McKenney <paulmck@linux.vnet.ibm.com> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com>
-rw-r--r--arch/alpha/include/asm/Kbuild1
-rw-r--r--arch/arc/include/asm/Kbuild1
-rw-r--r--arch/arm/include/asm/Kbuild1
-rw-r--r--arch/arm64/include/asm/Kbuild3
-rw-r--r--arch/avr32/include/asm/Kbuild1
-rw-r--r--arch/blackfin/include/asm/Kbuild1
-rw-r--r--arch/c6x/include/asm/Kbuild1
-rw-r--r--arch/cris/include/asm/Kbuild1
-rw-r--r--arch/frv/include/asm/Kbuild1
-rw-r--r--arch/hexagon/include/asm/Kbuild1
-rw-r--r--arch/ia64/include/asm/Kbuild1
-rw-r--r--arch/m32r/include/asm/Kbuild1
-rw-r--r--arch/m68k/include/asm/Kbuild1
-rw-r--r--arch/metag/include/asm/Kbuild1
-rw-r--r--arch/microblaze/include/asm/Kbuild1
-rw-r--r--arch/mips/include/asm/Kbuild1
-rw-r--r--arch/mn10300/include/asm/Kbuild1
-rw-r--r--arch/openrisc/include/asm/Kbuild1
-rw-r--r--arch/parisc/include/asm/Kbuild1
-rw-r--r--arch/powerpc/include/asm/Kbuild1
-rw-r--r--arch/s390/include/asm/Kbuild1
-rw-r--r--arch/score/include/asm/Kbuild1
-rw-r--r--arch/sh/include/asm/Kbuild1
-rw-r--r--arch/sparc/include/asm/Kbuild1
-rw-r--r--arch/tile/include/asm/Kbuild1
-rw-r--r--arch/um/include/asm/Kbuild1
-rw-r--r--arch/unicore32/include/asm/Kbuild1
-rw-r--r--arch/x86/include/asm/Kbuild1
-rw-r--r--arch/xtensa/include/asm/Kbuild1
-rw-r--r--include/asm-generic/irq_work.h10
-rw-r--r--include/linux/irq_work.h2
31 files changed, 42 insertions, 1 deletions
diff --git a/arch/alpha/include/asm/Kbuild b/arch/alpha/include/asm/Kbuild
index e858aa0ad8af..a52cbf178c3a 100644
--- a/arch/alpha/include/asm/Kbuild
+++ b/arch/alpha/include/asm/Kbuild
@@ -4,6 +4,7 @@ generic-y += clkdev.h
4generic-y += cputime.h 4generic-y += cputime.h
5generic-y += exec.h 5generic-y += exec.h
6generic-y += hash.h 6generic-y += hash.h
7generic-y += irq_work.h
7generic-y += mcs_spinlock.h 8generic-y += mcs_spinlock.h
8generic-y += preempt.h 9generic-y += preempt.h
9generic-y += scatterlist.h 10generic-y += scatterlist.h
diff --git a/arch/arc/include/asm/Kbuild b/arch/arc/include/asm/Kbuild
index e76fd79f32b0..b8fffc1a2ac2 100644
--- a/arch/arc/include/asm/Kbuild
+++ b/arch/arc/include/asm/Kbuild
@@ -18,6 +18,7 @@ generic-y += ioctl.h
18generic-y += ioctls.h 18generic-y += ioctls.h
19generic-y += ipcbuf.h 19generic-y += ipcbuf.h
20generic-y += irq_regs.h 20generic-y += irq_regs.h
21generic-y += irq_work.h
21generic-y += kmap_types.h 22generic-y += kmap_types.h
22generic-y += kvm_para.h 23generic-y += kvm_para.h
23generic-y += local.h 24generic-y += local.h
diff --git a/arch/arm/include/asm/Kbuild b/arch/arm/include/asm/Kbuild
index 70cd84eb7fda..202905e7ea0c 100644
--- a/arch/arm/include/asm/Kbuild
+++ b/arch/arm/include/asm/Kbuild
@@ -11,6 +11,7 @@ generic-y += hash.h
11generic-y += ioctl.h 11generic-y += ioctl.h
12generic-y += ipcbuf.h 12generic-y += ipcbuf.h
13generic-y += irq_regs.h 13generic-y += irq_regs.h
14generic-y += irq_work.h
14generic-y += kdebug.h 15generic-y += kdebug.h
15generic-y += local.h 16generic-y += local.h
16generic-y += local64.h 17generic-y += local64.h
diff --git a/arch/arm64/include/asm/Kbuild b/arch/arm64/include/asm/Kbuild
index 0b3fcf86e6ba..d617789b1ebd 100644
--- a/arch/arm64/include/asm/Kbuild
+++ b/arch/arm64/include/asm/Kbuild
@@ -9,8 +9,8 @@ generic-y += current.h
9generic-y += delay.h 9generic-y += delay.h
10generic-y += div64.h 10generic-y += div64.h
11generic-y += dma.h 11generic-y += dma.h
12generic-y += emergency-restart.h
13generic-y += early_ioremap.h 12generic-y += early_ioremap.h
13generic-y += emergency-restart.h
14generic-y += errno.h 14generic-y += errno.h
15generic-y += ftrace.h 15generic-y += ftrace.h
16generic-y += hash.h 16generic-y += hash.h
@@ -19,6 +19,7 @@ generic-y += ioctl.h
19generic-y += ioctls.h 19generic-y += ioctls.h
20generic-y += ipcbuf.h 20generic-y += ipcbuf.h
21generic-y += irq_regs.h 21generic-y += irq_regs.h
22generic-y += irq_work.h
22generic-y += kdebug.h 23generic-y += kdebug.h
23generic-y += kmap_types.h 24generic-y += kmap_types.h
24generic-y += kvm_para.h 25generic-y += kvm_para.h
diff --git a/arch/avr32/include/asm/Kbuild b/arch/avr32/include/asm/Kbuild
index 00a0f3ccd6eb..2a71b1cb9848 100644
--- a/arch/avr32/include/asm/Kbuild
+++ b/arch/avr32/include/asm/Kbuild
@@ -9,6 +9,7 @@ generic-y += exec.h
9generic-y += futex.h 9generic-y += futex.h
10generic-y += hash.h 10generic-y += hash.h
11generic-y += irq_regs.h 11generic-y += irq_regs.h
12generic-y += irq_work.h
12generic-y += local.h 13generic-y += local.h
13generic-y += local64.h 14generic-y += local64.h
14generic-y += mcs_spinlock.h 15generic-y += mcs_spinlock.h
diff --git a/arch/blackfin/include/asm/Kbuild b/arch/blackfin/include/asm/Kbuild
index 0d93b9a79ca9..46ed6bb9c679 100644
--- a/arch/blackfin/include/asm/Kbuild
+++ b/arch/blackfin/include/asm/Kbuild
@@ -15,6 +15,7 @@ generic-y += hw_irq.h
15generic-y += ioctl.h 15generic-y += ioctl.h
16generic-y += ipcbuf.h 16generic-y += ipcbuf.h
17generic-y += irq_regs.h 17generic-y += irq_regs.h
18generic-y += irq_work.h
18generic-y += kdebug.h 19generic-y += kdebug.h
19generic-y += kmap_types.h 20generic-y += kmap_types.h
20generic-y += kvm_para.h 21generic-y += kvm_para.h
diff --git a/arch/c6x/include/asm/Kbuild b/arch/c6x/include/asm/Kbuild
index 8dbdce8421b0..e77e0c1dbe75 100644
--- a/arch/c6x/include/asm/Kbuild
+++ b/arch/c6x/include/asm/Kbuild
@@ -22,6 +22,7 @@ generic-y += ioctl.h
22generic-y += ioctls.h 22generic-y += ioctls.h
23generic-y += ipcbuf.h 23generic-y += ipcbuf.h
24generic-y += irq_regs.h 24generic-y += irq_regs.h
25generic-y += irq_work.h
25generic-y += kdebug.h 26generic-y += kdebug.h
26generic-y += kmap_types.h 27generic-y += kmap_types.h
27generic-y += local.h 28generic-y += local.h
diff --git a/arch/cris/include/asm/Kbuild b/arch/cris/include/asm/Kbuild
index 31742dfadff9..802b94c4ca86 100644
--- a/arch/cris/include/asm/Kbuild
+++ b/arch/cris/include/asm/Kbuild
@@ -8,6 +8,7 @@ generic-y += clkdev.h
8generic-y += cputime.h 8generic-y += cputime.h
9generic-y += exec.h 9generic-y += exec.h
10generic-y += hash.h 10generic-y += hash.h
11generic-y += irq_work.h
11generic-y += kvm_para.h 12generic-y += kvm_para.h
12generic-y += linkage.h 13generic-y += linkage.h
13generic-y += mcs_spinlock.h 14generic-y += mcs_spinlock.h
diff --git a/arch/frv/include/asm/Kbuild b/arch/frv/include/asm/Kbuild
index 5b73921b6e9d..3caf05cabfc5 100644
--- a/arch/frv/include/asm/Kbuild
+++ b/arch/frv/include/asm/Kbuild
@@ -3,6 +3,7 @@ generic-y += clkdev.h
3generic-y += cputime.h 3generic-y += cputime.h
4generic-y += exec.h 4generic-y += exec.h
5generic-y += hash.h 5generic-y += hash.h
6generic-y += irq_work.h
6generic-y += mcs_spinlock.h 7generic-y += mcs_spinlock.h
7generic-y += preempt.h 8generic-y += preempt.h
8generic-y += scatterlist.h 9generic-y += scatterlist.h
diff --git a/arch/hexagon/include/asm/Kbuild b/arch/hexagon/include/asm/Kbuild
index 0e69796b58c7..5f234a5a2320 100644
--- a/arch/hexagon/include/asm/Kbuild
+++ b/arch/hexagon/include/asm/Kbuild
@@ -23,6 +23,7 @@ generic-y += ioctls.h
23generic-y += iomap.h 23generic-y += iomap.h
24generic-y += ipcbuf.h 24generic-y += ipcbuf.h
25generic-y += irq_regs.h 25generic-y += irq_regs.h
26generic-y += irq_work.h
26generic-y += kdebug.h 27generic-y += kdebug.h
27generic-y += kmap_types.h 28generic-y += kmap_types.h
28generic-y += local.h 29generic-y += local.h
diff --git a/arch/ia64/include/asm/Kbuild b/arch/ia64/include/asm/Kbuild
index e8317d2d6c8d..747320be9d0e 100644
--- a/arch/ia64/include/asm/Kbuild
+++ b/arch/ia64/include/asm/Kbuild
@@ -2,6 +2,7 @@
2generic-y += clkdev.h 2generic-y += clkdev.h
3generic-y += exec.h 3generic-y += exec.h
4generic-y += hash.h 4generic-y += hash.h
5generic-y += irq_work.h
5generic-y += kvm_para.h 6generic-y += kvm_para.h
6generic-y += mcs_spinlock.h 7generic-y += mcs_spinlock.h
7generic-y += preempt.h 8generic-y += preempt.h
diff --git a/arch/m32r/include/asm/Kbuild b/arch/m32r/include/asm/Kbuild
index accc10a3dc78..e02448b0648b 100644
--- a/arch/m32r/include/asm/Kbuild
+++ b/arch/m32r/include/asm/Kbuild
@@ -3,6 +3,7 @@ generic-y += clkdev.h
3generic-y += cputime.h 3generic-y += cputime.h
4generic-y += exec.h 4generic-y += exec.h
5generic-y += hash.h 5generic-y += hash.h
6generic-y += irq_work.h
6generic-y += mcs_spinlock.h 7generic-y += mcs_spinlock.h
7generic-y += module.h 8generic-y += module.h
8generic-y += preempt.h 9generic-y += preempt.h
diff --git a/arch/m68k/include/asm/Kbuild b/arch/m68k/include/asm/Kbuild
index c67c94a2d672..dbaf9f3065e8 100644
--- a/arch/m68k/include/asm/Kbuild
+++ b/arch/m68k/include/asm/Kbuild
@@ -11,6 +11,7 @@ generic-y += hw_irq.h
11generic-y += ioctl.h 11generic-y += ioctl.h
12generic-y += ipcbuf.h 12generic-y += ipcbuf.h
13generic-y += irq_regs.h 13generic-y += irq_regs.h
14generic-y += irq_work.h
14generic-y += kdebug.h 15generic-y += kdebug.h
15generic-y += kmap_types.h 16generic-y += kmap_types.h
16generic-y += kvm_para.h 17generic-y += kvm_para.h
diff --git a/arch/metag/include/asm/Kbuild b/arch/metag/include/asm/Kbuild
index c29ead89a317..7b8111c8f937 100644
--- a/arch/metag/include/asm/Kbuild
+++ b/arch/metag/include/asm/Kbuild
@@ -19,6 +19,7 @@ generic-y += ioctl.h
19generic-y += ioctls.h 19generic-y += ioctls.h
20generic-y += ipcbuf.h 20generic-y += ipcbuf.h
21generic-y += irq_regs.h 21generic-y += irq_regs.h
22generic-y += irq_work.h
22generic-y += kdebug.h 23generic-y += kdebug.h
23generic-y += kmap_types.h 24generic-y += kmap_types.h
24generic-y += kvm_para.h 25generic-y += kvm_para.h
diff --git a/arch/microblaze/include/asm/Kbuild b/arch/microblaze/include/asm/Kbuild
index 27a3acda6c19..448143b8cabd 100644
--- a/arch/microblaze/include/asm/Kbuild
+++ b/arch/microblaze/include/asm/Kbuild
@@ -5,6 +5,7 @@ generic-y += cputime.h
5generic-y += device.h 5generic-y += device.h
6generic-y += exec.h 6generic-y += exec.h
7generic-y += hash.h 7generic-y += hash.h
8generic-y += irq_work.h
8generic-y += mcs_spinlock.h 9generic-y += mcs_spinlock.h
9generic-y += preempt.h 10generic-y += preempt.h
10generic-y += scatterlist.h 11generic-y += scatterlist.h
diff --git a/arch/mips/include/asm/Kbuild b/arch/mips/include/asm/Kbuild
index 335e5290ec75..57012ef1f51e 100644
--- a/arch/mips/include/asm/Kbuild
+++ b/arch/mips/include/asm/Kbuild
@@ -3,6 +3,7 @@ generic-y += cputime.h
3generic-y += current.h 3generic-y += current.h
4generic-y += emergency-restart.h 4generic-y += emergency-restart.h
5generic-y += hash.h 5generic-y += hash.h
6generic-y += irq_work.h
6generic-y += local64.h 7generic-y += local64.h
7generic-y += mcs_spinlock.h 8generic-y += mcs_spinlock.h
8generic-y += mutex.h 9generic-y += mutex.h
diff --git a/arch/mn10300/include/asm/Kbuild b/arch/mn10300/include/asm/Kbuild
index ecbd6676bd33..77eb1a68d13b 100644
--- a/arch/mn10300/include/asm/Kbuild
+++ b/arch/mn10300/include/asm/Kbuild
@@ -4,6 +4,7 @@ generic-y += clkdev.h
4generic-y += cputime.h 4generic-y += cputime.h
5generic-y += exec.h 5generic-y += exec.h
6generic-y += hash.h 6generic-y += hash.h
7generic-y += irq_work.h
7generic-y += mcs_spinlock.h 8generic-y += mcs_spinlock.h
8generic-y += preempt.h 9generic-y += preempt.h
9generic-y += scatterlist.h 10generic-y += scatterlist.h
diff --git a/arch/openrisc/include/asm/Kbuild b/arch/openrisc/include/asm/Kbuild
index 480af0d9c2f5..89b61d7dc790 100644
--- a/arch/openrisc/include/asm/Kbuild
+++ b/arch/openrisc/include/asm/Kbuild
@@ -31,6 +31,7 @@ generic-y += ioctl.h
31generic-y += ioctls.h 31generic-y += ioctls.h
32generic-y += ipcbuf.h 32generic-y += ipcbuf.h
33generic-y += irq_regs.h 33generic-y += irq_regs.h
34generic-y += irq_work.h
34generic-y += kdebug.h 35generic-y += kdebug.h
35generic-y += kmap_types.h 36generic-y += kmap_types.h
36generic-y += kvm_para.h 37generic-y += kvm_para.h
diff --git a/arch/parisc/include/asm/Kbuild b/arch/parisc/include/asm/Kbuild
index ecf25e6678ad..ffb024b8423f 100644
--- a/arch/parisc/include/asm/Kbuild
+++ b/arch/parisc/include/asm/Kbuild
@@ -10,6 +10,7 @@ generic-y += exec.h
10generic-y += hash.h 10generic-y += hash.h
11generic-y += hw_irq.h 11generic-y += hw_irq.h
12generic-y += irq_regs.h 12generic-y += irq_regs.h
13generic-y += irq_work.h
13generic-y += kdebug.h 14generic-y += kdebug.h
14generic-y += kvm_para.h 15generic-y += kvm_para.h
15generic-y += local.h 16generic-y += local.h
diff --git a/arch/powerpc/include/asm/Kbuild b/arch/powerpc/include/asm/Kbuild
index 7f23f162ce9c..31e8f59aff38 100644
--- a/arch/powerpc/include/asm/Kbuild
+++ b/arch/powerpc/include/asm/Kbuild
@@ -1,6 +1,7 @@
1 1
2generic-y += clkdev.h 2generic-y += clkdev.h
3generic-y += hash.h 3generic-y += hash.h
4generic-y += irq_work.h
4generic-y += mcs_spinlock.h 5generic-y += mcs_spinlock.h
5generic-y += preempt.h 6generic-y += preempt.h
6generic-y += rwsem.h 7generic-y += rwsem.h
diff --git a/arch/s390/include/asm/Kbuild b/arch/s390/include/asm/Kbuild
index b3fea0722ff1..773f86676588 100644
--- a/arch/s390/include/asm/Kbuild
+++ b/arch/s390/include/asm/Kbuild
@@ -2,6 +2,7 @@
2 2
3generic-y += clkdev.h 3generic-y += clkdev.h
4generic-y += hash.h 4generic-y += hash.h
5generic-y += irq_work.h
5generic-y += mcs_spinlock.h 6generic-y += mcs_spinlock.h
6generic-y += preempt.h 7generic-y += preempt.h
7generic-y += scatterlist.h 8generic-y += scatterlist.h
diff --git a/arch/score/include/asm/Kbuild b/arch/score/include/asm/Kbuild
index aad209199f7e..1909d2a5b82f 100644
--- a/arch/score/include/asm/Kbuild
+++ b/arch/score/include/asm/Kbuild
@@ -6,6 +6,7 @@ generic-y += barrier.h
6generic-y += clkdev.h 6generic-y += clkdev.h
7generic-y += cputime.h 7generic-y += cputime.h
8generic-y += hash.h 8generic-y += hash.h
9generic-y += irq_work.h
9generic-y += mcs_spinlock.h 10generic-y += mcs_spinlock.h
10generic-y += preempt.h 11generic-y += preempt.h
11generic-y += scatterlist.h 12generic-y += scatterlist.h
diff --git a/arch/sh/include/asm/Kbuild b/arch/sh/include/asm/Kbuild
index c19e47dacb31..5a6c9acff0d2 100644
--- a/arch/sh/include/asm/Kbuild
+++ b/arch/sh/include/asm/Kbuild
@@ -12,6 +12,7 @@ generic-y += hash.h
12generic-y += ioctl.h 12generic-y += ioctl.h
13generic-y += ipcbuf.h 13generic-y += ipcbuf.h
14generic-y += irq_regs.h 14generic-y += irq_regs.h
15generic-y += irq_work.h
15generic-y += kvm_para.h 16generic-y += kvm_para.h
16generic-y += local.h 17generic-y += local.h
17generic-y += local64.h 18generic-y += local64.h
diff --git a/arch/sparc/include/asm/Kbuild b/arch/sparc/include/asm/Kbuild
index cdd1b447bb6c..f5f94ce1692c 100644
--- a/arch/sparc/include/asm/Kbuild
+++ b/arch/sparc/include/asm/Kbuild
@@ -8,6 +8,7 @@ generic-y += emergency-restart.h
8generic-y += exec.h 8generic-y += exec.h
9generic-y += hash.h 9generic-y += hash.h
10generic-y += irq_regs.h 10generic-y += irq_regs.h
11generic-y += irq_work.h
11generic-y += linkage.h 12generic-y += linkage.h
12generic-y += local.h 13generic-y += local.h
13generic-y += local64.h 14generic-y += local64.h
diff --git a/arch/tile/include/asm/Kbuild b/arch/tile/include/asm/Kbuild
index 0aa5675e7025..e6462b8a6284 100644
--- a/arch/tile/include/asm/Kbuild
+++ b/arch/tile/include/asm/Kbuild
@@ -17,6 +17,7 @@ generic-y += ioctl.h
17generic-y += ioctls.h 17generic-y += ioctls.h
18generic-y += ipcbuf.h 18generic-y += ipcbuf.h
19generic-y += irq_regs.h 19generic-y += irq_regs.h
20generic-y += irq_work.h
20generic-y += local.h 21generic-y += local.h
21generic-y += local64.h 22generic-y += local64.h
22generic-y += mcs_spinlock.h 23generic-y += mcs_spinlock.h
diff --git a/arch/um/include/asm/Kbuild b/arch/um/include/asm/Kbuild
index 7bd64aa2e94a..244b12c8cb39 100644
--- a/arch/um/include/asm/Kbuild
+++ b/arch/um/include/asm/Kbuild
@@ -14,6 +14,7 @@ generic-y += hash.h
14generic-y += hw_irq.h 14generic-y += hw_irq.h
15generic-y += io.h 15generic-y += io.h
16generic-y += irq_regs.h 16generic-y += irq_regs.h
17generic-y += irq_work.h
17generic-y += kdebug.h 18generic-y += kdebug.h
18generic-y += mcs_spinlock.h 19generic-y += mcs_spinlock.h
19generic-y += mutex.h 20generic-y += mutex.h
diff --git a/arch/unicore32/include/asm/Kbuild b/arch/unicore32/include/asm/Kbuild
index 1e5fb872a4aa..5a2bb53faa42 100644
--- a/arch/unicore32/include/asm/Kbuild
+++ b/arch/unicore32/include/asm/Kbuild
@@ -22,6 +22,7 @@ generic-y += ioctl.h
22generic-y += ioctls.h 22generic-y += ioctls.h
23generic-y += ipcbuf.h 23generic-y += ipcbuf.h
24generic-y += irq_regs.h 24generic-y += irq_regs.h
25generic-y += irq_work.h
25generic-y += kdebug.h 26generic-y += kdebug.h
26generic-y += kmap_types.h 27generic-y += kmap_types.h
27generic-y += local.h 28generic-y += local.h
diff --git a/arch/x86/include/asm/Kbuild b/arch/x86/include/asm/Kbuild
index 3bf000fab0ae..8fa909cc6553 100644
--- a/arch/x86/include/asm/Kbuild
+++ b/arch/x86/include/asm/Kbuild
@@ -7,5 +7,6 @@ genhdr-y += unistd_x32.h
7generic-y += clkdev.h 7generic-y += clkdev.h
8generic-y += cputime.h 8generic-y += cputime.h
9generic-y += early_ioremap.h 9generic-y += early_ioremap.h
10generic-y += irq_work.h
10generic-y += mcs_spinlock.h 11generic-y += mcs_spinlock.h
11generic-y += scatterlist.h 12generic-y += scatterlist.h
diff --git a/arch/xtensa/include/asm/Kbuild b/arch/xtensa/include/asm/Kbuild
index c3d20ba6eb86..105d38922c44 100644
--- a/arch/xtensa/include/asm/Kbuild
+++ b/arch/xtensa/include/asm/Kbuild
@@ -12,6 +12,7 @@ generic-y += hardirq.h
12generic-y += hash.h 12generic-y += hash.h
13generic-y += ioctl.h 13generic-y += ioctl.h
14generic-y += irq_regs.h 14generic-y += irq_regs.h
15generic-y += irq_work.h
15generic-y += kdebug.h 16generic-y += kdebug.h
16generic-y += kmap_types.h 17generic-y += kmap_types.h
17generic-y += kvm_para.h 18generic-y += kvm_para.h
diff --git a/include/asm-generic/irq_work.h b/include/asm-generic/irq_work.h
new file mode 100644
index 000000000000..a44f452c6590
--- /dev/null
+++ b/include/asm-generic/irq_work.h
@@ -0,0 +1,10 @@
1#ifndef __ASM_IRQ_WORK_H
2#define __ASM_IRQ_WORK_H
3
4static inline bool arch_irq_work_has_interrupt(void)
5{
6 return false;
7}
8
9#endif /* __ASM_IRQ_WORK_H */
10
diff --git a/include/linux/irq_work.h b/include/linux/irq_work.h
index bf9422c3aefe..6b47b2ede405 100644
--- a/include/linux/irq_work.h
+++ b/include/linux/irq_work.h
@@ -42,6 +42,8 @@ void irq_work_run(void);
42void irq_work_sync(struct irq_work *work); 42void irq_work_sync(struct irq_work *work);
43 43
44#ifdef CONFIG_IRQ_WORK 44#ifdef CONFIG_IRQ_WORK
45#include <asm/irq_work.h>
46
45bool irq_work_needs_cpu(void); 47bool irq_work_needs_cpu(void);
46#else 48#else
47static inline bool irq_work_needs_cpu(void) { return false; } 49static inline bool irq_work_needs_cpu(void) { return false; }