diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2013-09-13 10:31:38 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2013-09-13 10:31:38 -0400 |
commit | 399a946edbbe90bd03aec2e93ce58c9b3f18e70b (patch) | |
tree | b467f7225be817a6ee7cf7e3c64518825dfec4f1 | |
parent | 183c420323a9e45af0d995d7cbf416221698cbe4 (diff) | |
parent | 0244ad004a54e39308d495fee0a2e637f8b5c317 (diff) |
Merge branch 'genirq' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux
Pull generic hardirq option removal from Martin Schwidefsky:
"All architectures now use generic hardirqs, s390 has been last to
switch.
With that the code under !CONFIG_GENERIC_HARDIRQS and the related
HAVE_GENERIC_HARDIRQS and GENERIC_HARDIRQS config options can be
removed. Yay!"
* 'genirq' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux:
Remove GENERIC_HARDIRQ config option
81 files changed, 100 insertions, 337 deletions
diff --git a/arch/alpha/Kconfig b/arch/alpha/Kconfig index 082d9b4b5472..35a300d4a9fb 100644 --- a/arch/alpha/Kconfig +++ b/arch/alpha/Kconfig | |||
@@ -7,7 +7,6 @@ config ALPHA | |||
7 | select HAVE_PCSPKR_PLATFORM | 7 | select HAVE_PCSPKR_PLATFORM |
8 | select HAVE_PERF_EVENTS | 8 | select HAVE_PERF_EVENTS |
9 | select HAVE_DMA_ATTRS | 9 | select HAVE_DMA_ATTRS |
10 | select HAVE_GENERIC_HARDIRQS | ||
11 | select VIRT_TO_BUS | 10 | select VIRT_TO_BUS |
12 | select GENERIC_IRQ_PROBE | 11 | select GENERIC_IRQ_PROBE |
13 | select AUTO_IRQ_AFFINITY if SMP | 12 | select AUTO_IRQ_AFFINITY if SMP |
diff --git a/arch/arc/Kconfig b/arch/arc/Kconfig index 68fcbb2d59e2..91dbb2757afd 100644 --- a/arch/arc/Kconfig +++ b/arch/arc/Kconfig | |||
@@ -20,7 +20,6 @@ config ARC | |||
20 | select GENERIC_SMP_IDLE_THREAD | 20 | select GENERIC_SMP_IDLE_THREAD |
21 | select HAVE_ARCH_KGDB | 21 | select HAVE_ARCH_KGDB |
22 | select HAVE_ARCH_TRACEHOOK | 22 | select HAVE_ARCH_TRACEHOOK |
23 | select HAVE_GENERIC_HARDIRQS | ||
24 | select HAVE_IOREMAP_PROT | 23 | select HAVE_IOREMAP_PROT |
25 | select HAVE_KPROBES | 24 | select HAVE_KPROBES |
26 | select HAVE_KRETPROBES | 25 | select HAVE_KRETPROBES |
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index d13f6743df4b..3f7714d8d2d2 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig | |||
@@ -37,7 +37,6 @@ config ARM | |||
37 | select HAVE_FUNCTION_GRAPH_TRACER if (!THUMB2_KERNEL) | 37 | select HAVE_FUNCTION_GRAPH_TRACER if (!THUMB2_KERNEL) |
38 | select HAVE_FUNCTION_TRACER if (!XIP_KERNEL) | 38 | select HAVE_FUNCTION_TRACER if (!XIP_KERNEL) |
39 | select HAVE_GENERIC_DMA_COHERENT | 39 | select HAVE_GENERIC_DMA_COHERENT |
40 | select HAVE_GENERIC_HARDIRQS | ||
41 | select HAVE_HW_BREAKPOINT if (PERF_EVENTS && (CPU_V6 || CPU_V6K || CPU_V7)) | 40 | select HAVE_HW_BREAKPOINT if (PERF_EVENTS && (CPU_V6 || CPU_V6K || CPU_V7)) |
42 | select HAVE_IDE if PCI || ISA || PCMCIA | 41 | select HAVE_IDE if PCI || ISA || PCMCIA |
43 | select HAVE_IRQ_TIME_ACCOUNTING | 42 | select HAVE_IRQ_TIME_ACCOUNTING |
diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig index ae323a45c28c..c04454876bcb 100644 --- a/arch/arm64/Kconfig +++ b/arch/arm64/Kconfig | |||
@@ -23,7 +23,6 @@ config ARM64 | |||
23 | select HAVE_DMA_API_DEBUG | 23 | select HAVE_DMA_API_DEBUG |
24 | select HAVE_DMA_ATTRS | 24 | select HAVE_DMA_ATTRS |
25 | select HAVE_GENERIC_DMA_COHERENT | 25 | select HAVE_GENERIC_DMA_COHERENT |
26 | select HAVE_GENERIC_HARDIRQS | ||
27 | select HAVE_HW_BREAKPOINT if PERF_EVENTS | 26 | select HAVE_HW_BREAKPOINT if PERF_EVENTS |
28 | select HAVE_MEMBLOCK | 27 | select HAVE_MEMBLOCK |
29 | select HAVE_PERF_EVENTS | 28 | select HAVE_PERF_EVENTS |
diff --git a/arch/avr32/Kconfig b/arch/avr32/Kconfig index 549903cfc2cb..b6878eb64884 100644 --- a/arch/avr32/Kconfig +++ b/arch/avr32/Kconfig | |||
@@ -6,7 +6,6 @@ config AVR32 | |||
6 | select HAVE_CLK | 6 | select HAVE_CLK |
7 | select HAVE_OPROFILE | 7 | select HAVE_OPROFILE |
8 | select HAVE_KPROBES | 8 | select HAVE_KPROBES |
9 | select HAVE_GENERIC_HARDIRQS | ||
10 | select VIRT_TO_BUS | 9 | select VIRT_TO_BUS |
11 | select GENERIC_IRQ_PROBE | 10 | select GENERIC_IRQ_PROBE |
12 | select GENERIC_ATOMIC64 | 11 | select GENERIC_ATOMIC64 |
diff --git a/arch/blackfin/Kconfig b/arch/blackfin/Kconfig index 3b6abc54b015..f78c9a2c7e28 100644 --- a/arch/blackfin/Kconfig +++ b/arch/blackfin/Kconfig | |||
@@ -32,7 +32,6 @@ config BLACKFIN | |||
32 | select HAVE_UNDERSCORE_SYMBOL_PREFIX | 32 | select HAVE_UNDERSCORE_SYMBOL_PREFIX |
33 | select VIRT_TO_BUS | 33 | select VIRT_TO_BUS |
34 | select ARCH_WANT_IPC_PARSE_VERSION | 34 | select ARCH_WANT_IPC_PARSE_VERSION |
35 | select HAVE_GENERIC_HARDIRQS | ||
36 | select GENERIC_ATOMIC64 | 35 | select GENERIC_ATOMIC64 |
37 | select GENERIC_IRQ_PROBE | 36 | select GENERIC_IRQ_PROBE |
38 | select USE_GENERIC_SMP_HELPERS if SMP | 37 | select USE_GENERIC_SMP_HELPERS if SMP |
diff --git a/arch/c6x/Kconfig b/arch/c6x/Kconfig index f6a3648f5ec3..957dd00ea561 100644 --- a/arch/c6x/Kconfig +++ b/arch/c6x/Kconfig | |||
@@ -10,7 +10,6 @@ config C6X | |||
10 | select GENERIC_IRQ_SHOW | 10 | select GENERIC_IRQ_SHOW |
11 | select HAVE_ARCH_TRACEHOOK | 11 | select HAVE_ARCH_TRACEHOOK |
12 | select HAVE_DMA_API_DEBUG | 12 | select HAVE_DMA_API_DEBUG |
13 | select HAVE_GENERIC_HARDIRQS | ||
14 | select HAVE_MEMBLOCK | 13 | select HAVE_MEMBLOCK |
15 | select SPARSE_IRQ | 14 | select SPARSE_IRQ |
16 | select IRQ_DOMAIN | 15 | select IRQ_DOMAIN |
diff --git a/arch/cris/Kconfig b/arch/cris/Kconfig index c699d3259872..02380bed189c 100644 --- a/arch/cris/Kconfig +++ b/arch/cris/Kconfig | |||
@@ -41,7 +41,6 @@ config CRIS | |||
41 | default y | 41 | default y |
42 | select HAVE_IDE | 42 | select HAVE_IDE |
43 | select GENERIC_ATOMIC64 | 43 | select GENERIC_ATOMIC64 |
44 | select HAVE_GENERIC_HARDIRQS | ||
45 | select HAVE_UID16 | 44 | select HAVE_UID16 |
46 | select VIRT_TO_BUS | 45 | select VIRT_TO_BUS |
47 | select ARCH_WANT_IPC_PARSE_VERSION | 46 | select ARCH_WANT_IPC_PARSE_VERSION |
diff --git a/arch/frv/Kconfig b/arch/frv/Kconfig index 4b6628ea381e..34aa19352dc1 100644 --- a/arch/frv/Kconfig +++ b/arch/frv/Kconfig | |||
@@ -5,7 +5,6 @@ config FRV | |||
5 | select HAVE_ARCH_TRACEHOOK | 5 | select HAVE_ARCH_TRACEHOOK |
6 | select HAVE_PERF_EVENTS | 6 | select HAVE_PERF_EVENTS |
7 | select HAVE_UID16 | 7 | select HAVE_UID16 |
8 | select HAVE_GENERIC_HARDIRQS | ||
9 | select VIRT_TO_BUS | 8 | select VIRT_TO_BUS |
10 | select GENERIC_IRQ_SHOW | 9 | select GENERIC_IRQ_SHOW |
11 | select HAVE_DEBUG_BUGVERBOSE | 10 | select HAVE_DEBUG_BUGVERBOSE |
diff --git a/arch/h8300/Kconfig b/arch/h8300/Kconfig index 3d6759ee382f..24b1dc2564f1 100644 --- a/arch/h8300/Kconfig +++ b/arch/h8300/Kconfig | |||
@@ -2,7 +2,6 @@ config H8300 | |||
2 | bool | 2 | bool |
3 | default y | 3 | default y |
4 | select HAVE_IDE | 4 | select HAVE_IDE |
5 | select HAVE_GENERIC_HARDIRQS | ||
6 | select GENERIC_ATOMIC64 | 5 | select GENERIC_ATOMIC64 |
7 | select HAVE_UID16 | 6 | select HAVE_UID16 |
8 | select VIRT_TO_BUS | 7 | select VIRT_TO_BUS |
diff --git a/arch/hexagon/Kconfig b/arch/hexagon/Kconfig index 77d442ab28c8..99041b07e610 100644 --- a/arch/hexagon/Kconfig +++ b/arch/hexagon/Kconfig | |||
@@ -15,7 +15,6 @@ config HEXAGON | |||
15 | # select GENERIC_PENDING_IRQ if SMP | 15 | # select GENERIC_PENDING_IRQ if SMP |
16 | select GENERIC_ATOMIC64 | 16 | select GENERIC_ATOMIC64 |
17 | select HAVE_PERF_EVENTS | 17 | select HAVE_PERF_EVENTS |
18 | select HAVE_GENERIC_HARDIRQS | ||
19 | # GENERIC_ALLOCATOR is used by dma_alloc_coherent() | 18 | # GENERIC_ALLOCATOR is used by dma_alloc_coherent() |
20 | select GENERIC_ALLOCATOR | 19 | select GENERIC_ALLOCATOR |
21 | select GENERIC_IRQ_SHOW | 20 | select GENERIC_IRQ_SHOW |
diff --git a/arch/ia64/Kconfig b/arch/ia64/Kconfig index a86a56d9e73f..7740ab10a171 100644 --- a/arch/ia64/Kconfig +++ b/arch/ia64/Kconfig | |||
@@ -21,7 +21,6 @@ config IA64 | |||
21 | select HAVE_KVM | 21 | select HAVE_KVM |
22 | select HAVE_ARCH_TRACEHOOK | 22 | select HAVE_ARCH_TRACEHOOK |
23 | select HAVE_DMA_API_DEBUG | 23 | select HAVE_DMA_API_DEBUG |
24 | select HAVE_GENERIC_HARDIRQS | ||
25 | select HAVE_MEMBLOCK | 24 | select HAVE_MEMBLOCK |
26 | select HAVE_MEMBLOCK_NODE_MAP | 25 | select HAVE_MEMBLOCK_NODE_MAP |
27 | select HAVE_VIRT_CPU_ACCOUNTING | 26 | select HAVE_VIRT_CPU_ACCOUNTING |
diff --git a/arch/m32r/Kconfig b/arch/m32r/Kconfig index 29a7ef4e448b..75661fbf4529 100644 --- a/arch/m32r/Kconfig +++ b/arch/m32r/Kconfig | |||
@@ -9,7 +9,6 @@ config M32R | |||
9 | select HAVE_KERNEL_LZMA | 9 | select HAVE_KERNEL_LZMA |
10 | select ARCH_WANT_IPC_PARSE_VERSION | 10 | select ARCH_WANT_IPC_PARSE_VERSION |
11 | select HAVE_DEBUG_BUGVERBOSE | 11 | select HAVE_DEBUG_BUGVERBOSE |
12 | select HAVE_GENERIC_HARDIRQS | ||
13 | select VIRT_TO_BUS | 12 | select VIRT_TO_BUS |
14 | select GENERIC_IRQ_PROBE | 13 | select GENERIC_IRQ_PROBE |
15 | select GENERIC_IRQ_SHOW | 14 | select GENERIC_IRQ_SHOW |
diff --git a/arch/m68k/Kconfig b/arch/m68k/Kconfig index c3cda41af801..311a300d48cc 100644 --- a/arch/m68k/Kconfig +++ b/arch/m68k/Kconfig | |||
@@ -4,7 +4,6 @@ config M68K | |||
4 | select HAVE_IDE | 4 | select HAVE_IDE |
5 | select HAVE_AOUT if MMU | 5 | select HAVE_AOUT if MMU |
6 | select HAVE_DEBUG_BUGVERBOSE | 6 | select HAVE_DEBUG_BUGVERBOSE |
7 | select HAVE_GENERIC_HARDIRQS | ||
8 | select GENERIC_IRQ_SHOW | 7 | select GENERIC_IRQ_SHOW |
9 | select GENERIC_ATOMIC64 | 8 | select GENERIC_ATOMIC64 |
10 | select HAVE_UID16 | 9 | select HAVE_UID16 |
diff --git a/arch/metag/Kconfig b/arch/metag/Kconfig index cfd831c29824..36368eb07e13 100644 --- a/arch/metag/Kconfig +++ b/arch/metag/Kconfig | |||
@@ -13,7 +13,6 @@ config METAG | |||
13 | select HAVE_FTRACE_MCOUNT_RECORD | 13 | select HAVE_FTRACE_MCOUNT_RECORD |
14 | select HAVE_FUNCTION_TRACER | 14 | select HAVE_FUNCTION_TRACER |
15 | select HAVE_FUNCTION_TRACE_MCOUNT_TEST | 15 | select HAVE_FUNCTION_TRACE_MCOUNT_TEST |
16 | select HAVE_GENERIC_HARDIRQS | ||
17 | select HAVE_KERNEL_BZIP2 | 16 | select HAVE_KERNEL_BZIP2 |
18 | select HAVE_KERNEL_GZIP | 17 | select HAVE_KERNEL_GZIP |
19 | select HAVE_KERNEL_LZO | 18 | select HAVE_KERNEL_LZO |
diff --git a/arch/microblaze/Kconfig b/arch/microblaze/Kconfig index 3f6659cbc969..b82f82b74319 100644 --- a/arch/microblaze/Kconfig +++ b/arch/microblaze/Kconfig | |||
@@ -18,7 +18,6 @@ config MICROBLAZE | |||
18 | select ARCH_WANT_IPC_PARSE_VERSION | 18 | select ARCH_WANT_IPC_PARSE_VERSION |
19 | select HAVE_DEBUG_KMEMLEAK | 19 | select HAVE_DEBUG_KMEMLEAK |
20 | select IRQ_DOMAIN | 20 | select IRQ_DOMAIN |
21 | select HAVE_GENERIC_HARDIRQS | ||
22 | select VIRT_TO_BUS | 21 | select VIRT_TO_BUS |
23 | select GENERIC_IRQ_PROBE | 22 | select GENERIC_IRQ_PROBE |
24 | select GENERIC_IRQ_SHOW | 23 | select GENERIC_IRQ_SHOW |
diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig index a9668d4653c2..f75ab4a2f246 100644 --- a/arch/mips/Kconfig +++ b/arch/mips/Kconfig | |||
@@ -25,7 +25,6 @@ config MIPS | |||
25 | select ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE | 25 | select ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE |
26 | select HAVE_DMA_ATTRS | 26 | select HAVE_DMA_ATTRS |
27 | select HAVE_DMA_API_DEBUG | 27 | select HAVE_DMA_API_DEBUG |
28 | select HAVE_GENERIC_HARDIRQS | ||
29 | select GENERIC_IRQ_PROBE | 28 | select GENERIC_IRQ_PROBE |
30 | select GENERIC_IRQ_SHOW | 29 | select GENERIC_IRQ_SHOW |
31 | select GENERIC_PCI_IOMAP | 30 | select GENERIC_PCI_IOMAP |
diff --git a/arch/mn10300/Kconfig b/arch/mn10300/Kconfig index 70e4f663ebd2..6aaa1607001a 100644 --- a/arch/mn10300/Kconfig +++ b/arch/mn10300/Kconfig | |||
@@ -1,7 +1,6 @@ | |||
1 | config MN10300 | 1 | config MN10300 |
2 | def_bool y | 2 | def_bool y |
3 | select HAVE_OPROFILE | 3 | select HAVE_OPROFILE |
4 | select HAVE_GENERIC_HARDIRQS | ||
5 | select GENERIC_IRQ_SHOW | 4 | select GENERIC_IRQ_SHOW |
6 | select ARCH_WANT_IPC_PARSE_VERSION | 5 | select ARCH_WANT_IPC_PARSE_VERSION |
7 | select HAVE_ARCH_TRACEHOOK | 6 | select HAVE_ARCH_TRACEHOOK |
diff --git a/arch/openrisc/Kconfig b/arch/openrisc/Kconfig index d60bf98fa5cf..9488209a5253 100644 --- a/arch/openrisc/Kconfig +++ b/arch/openrisc/Kconfig | |||
@@ -11,7 +11,6 @@ config OPENRISC | |||
11 | select HAVE_MEMBLOCK | 11 | select HAVE_MEMBLOCK |
12 | select ARCH_REQUIRE_GPIOLIB | 12 | select ARCH_REQUIRE_GPIOLIB |
13 | select HAVE_ARCH_TRACEHOOK | 13 | select HAVE_ARCH_TRACEHOOK |
14 | select HAVE_GENERIC_HARDIRQS | ||
15 | select GENERIC_IRQ_CHIP | 14 | select GENERIC_IRQ_CHIP |
16 | select GENERIC_IRQ_PROBE | 15 | select GENERIC_IRQ_PROBE |
17 | select GENERIC_IRQ_SHOW | 16 | select GENERIC_IRQ_SHOW |
diff --git a/arch/parisc/Kconfig b/arch/parisc/Kconfig index aa399a5259b6..ad2ce8dab996 100644 --- a/arch/parisc/Kconfig +++ b/arch/parisc/Kconfig | |||
@@ -14,7 +14,6 @@ config PARISC | |||
14 | select HAVE_PERF_EVENTS | 14 | select HAVE_PERF_EVENTS |
15 | select GENERIC_ATOMIC64 if !64BIT | 15 | select GENERIC_ATOMIC64 if !64BIT |
16 | select ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE | 16 | select ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE |
17 | select HAVE_GENERIC_HARDIRQS | ||
18 | select BROKEN_RODATA | 17 | select BROKEN_RODATA |
19 | select GENERIC_IRQ_PROBE | 18 | select GENERIC_IRQ_PROBE |
20 | select GENERIC_PCI_IOMAP | 19 | select GENERIC_PCI_IOMAP |
diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig index 6b7530f8183c..38f3b7e47ec5 100644 --- a/arch/powerpc/Kconfig +++ b/arch/powerpc/Kconfig | |||
@@ -114,7 +114,6 @@ config PPC | |||
114 | select HAVE_PERF_EVENTS | 114 | select HAVE_PERF_EVENTS |
115 | select HAVE_REGS_AND_STACK_ACCESS_API | 115 | select HAVE_REGS_AND_STACK_ACCESS_API |
116 | select HAVE_HW_BREAKPOINT if PERF_EVENTS && PPC_BOOK3S_64 | 116 | select HAVE_HW_BREAKPOINT if PERF_EVENTS && PPC_BOOK3S_64 |
117 | select HAVE_GENERIC_HARDIRQS | ||
118 | select ARCH_WANT_IPC_PARSE_VERSION | 117 | select ARCH_WANT_IPC_PARSE_VERSION |
119 | select SPARSE_IRQ | 118 | select SPARSE_IRQ |
120 | select IRQ_DOMAIN | 119 | select IRQ_DOMAIN |
diff --git a/arch/s390/Kconfig b/arch/s390/Kconfig index 3ec272859e1e..dcc6ac2d8026 100644 --- a/arch/s390/Kconfig +++ b/arch/s390/Kconfig | |||
@@ -116,7 +116,6 @@ config S390 | |||
116 | select HAVE_FUNCTION_GRAPH_TRACER | 116 | select HAVE_FUNCTION_GRAPH_TRACER |
117 | select HAVE_FUNCTION_TRACER | 117 | select HAVE_FUNCTION_TRACER |
118 | select HAVE_FUNCTION_TRACE_MCOUNT_TEST | 118 | select HAVE_FUNCTION_TRACE_MCOUNT_TEST |
119 | select HAVE_GENERIC_HARDIRQS | ||
120 | select HAVE_KERNEL_BZIP2 | 119 | select HAVE_KERNEL_BZIP2 |
121 | select HAVE_KERNEL_GZIP | 120 | select HAVE_KERNEL_GZIP |
122 | select HAVE_KERNEL_LZ4 | 121 | select HAVE_KERNEL_LZ4 |
diff --git a/arch/score/Kconfig b/arch/score/Kconfig index 5fc237581caf..a1be70db75fe 100644 --- a/arch/score/Kconfig +++ b/arch/score/Kconfig | |||
@@ -2,7 +2,6 @@ menu "Machine selection" | |||
2 | 2 | ||
3 | config SCORE | 3 | config SCORE |
4 | def_bool y | 4 | def_bool y |
5 | select HAVE_GENERIC_HARDIRQS | ||
6 | select GENERIC_IRQ_SHOW | 5 | select GENERIC_IRQ_SHOW |
7 | select GENERIC_IOMAP | 6 | select GENERIC_IOMAP |
8 | select GENERIC_ATOMIC64 | 7 | select GENERIC_ATOMIC64 |
diff --git a/arch/sh/Kconfig b/arch/sh/Kconfig index 1018ed3a3ca5..224f4bc9925e 100644 --- a/arch/sh/Kconfig +++ b/arch/sh/Kconfig | |||
@@ -26,7 +26,6 @@ config SUPERH | |||
26 | select ARCH_WANT_IPC_PARSE_VERSION | 26 | select ARCH_WANT_IPC_PARSE_VERSION |
27 | select HAVE_SYSCALL_TRACEPOINTS | 27 | select HAVE_SYSCALL_TRACEPOINTS |
28 | select HAVE_REGS_AND_STACK_ACCESS_API | 28 | select HAVE_REGS_AND_STACK_ACCESS_API |
29 | select HAVE_GENERIC_HARDIRQS | ||
30 | select MAY_HAVE_SPARSE_IRQ | 29 | select MAY_HAVE_SPARSE_IRQ |
31 | select IRQ_FORCED_THREADING | 30 | select IRQ_FORCED_THREADING |
32 | select RTC_LIB | 31 | select RTC_LIB |
diff --git a/arch/sparc/Kconfig b/arch/sparc/Kconfig index 1570ad2802b3..2137ad667438 100644 --- a/arch/sparc/Kconfig +++ b/arch/sparc/Kconfig | |||
@@ -26,7 +26,6 @@ config SPARC | |||
26 | select HAVE_DMA_ATTRS | 26 | select HAVE_DMA_ATTRS |
27 | select HAVE_DMA_API_DEBUG | 27 | select HAVE_DMA_API_DEBUG |
28 | select HAVE_ARCH_JUMP_LABEL | 28 | select HAVE_ARCH_JUMP_LABEL |
29 | select HAVE_GENERIC_HARDIRQS | ||
30 | select GENERIC_IRQ_SHOW | 29 | select GENERIC_IRQ_SHOW |
31 | select ARCH_WANT_IPC_PARSE_VERSION | 30 | select ARCH_WANT_IPC_PARSE_VERSION |
32 | select USE_GENERIC_SMP_HELPERS if SMP | 31 | select USE_GENERIC_SMP_HELPERS if SMP |
diff --git a/arch/tile/Kconfig b/arch/tile/Kconfig index 932fa14de5fe..8a7cc663b3f8 100644 --- a/arch/tile/Kconfig +++ b/arch/tile/Kconfig | |||
@@ -11,7 +11,6 @@ config TILE | |||
11 | select USE_GENERIC_SMP_HELPERS | 11 | select USE_GENERIC_SMP_HELPERS |
12 | select CC_OPTIMIZE_FOR_SIZE | 12 | select CC_OPTIMIZE_FOR_SIZE |
13 | select HAVE_DEBUG_KMEMLEAK | 13 | select HAVE_DEBUG_KMEMLEAK |
14 | select HAVE_GENERIC_HARDIRQS | ||
15 | select GENERIC_IRQ_PROBE | 14 | select GENERIC_IRQ_PROBE |
16 | select GENERIC_PENDING_IRQ if SMP | 15 | select GENERIC_PENDING_IRQ if SMP |
17 | select GENERIC_IRQ_SHOW | 16 | select GENERIC_IRQ_SHOW |
diff --git a/arch/um/Kconfig.common b/arch/um/Kconfig.common index bceee6623b00..8ddea1f8006a 100644 --- a/arch/um/Kconfig.common +++ b/arch/um/Kconfig.common | |||
@@ -6,7 +6,6 @@ config DEFCONFIG_LIST | |||
6 | config UML | 6 | config UML |
7 | bool | 7 | bool |
8 | default y | 8 | default y |
9 | select HAVE_GENERIC_HARDIRQS | ||
10 | select HAVE_UID16 | 9 | select HAVE_UID16 |
11 | select GENERIC_IRQ_SHOW | 10 | select GENERIC_IRQ_SHOW |
12 | select GENERIC_CPU_DEVICES | 11 | select GENERIC_CPU_DEVICES |
diff --git a/arch/um/defconfig b/arch/um/defconfig index 08107a795062..2665e6b683f5 100644 --- a/arch/um/defconfig +++ b/arch/um/defconfig | |||
@@ -129,12 +129,10 @@ CONFIG_BSD_PROCESS_ACCT=y | |||
129 | # CONFIG_FHANDLE is not set | 129 | # CONFIG_FHANDLE is not set |
130 | # CONFIG_TASKSTATS is not set | 130 | # CONFIG_TASKSTATS is not set |
131 | # CONFIG_AUDIT is not set | 131 | # CONFIG_AUDIT is not set |
132 | CONFIG_HAVE_GENERIC_HARDIRQS=y | ||
133 | 132 | ||
134 | # | 133 | # |
135 | # IRQ subsystem | 134 | # IRQ subsystem |
136 | # | 135 | # |
137 | CONFIG_GENERIC_HARDIRQS=y | ||
138 | CONFIG_GENERIC_IRQ_SHOW=y | 136 | CONFIG_GENERIC_IRQ_SHOW=y |
139 | 137 | ||
140 | # | 138 | # |
diff --git a/arch/unicore32/Kconfig b/arch/unicore32/Kconfig index 41bcc0013442..82cdd8906f3d 100644 --- a/arch/unicore32/Kconfig +++ b/arch/unicore32/Kconfig | |||
@@ -2,7 +2,6 @@ config UNICORE32 | |||
2 | def_bool y | 2 | def_bool y |
3 | select HAVE_MEMBLOCK | 3 | select HAVE_MEMBLOCK |
4 | select HAVE_GENERIC_DMA_COHERENT | 4 | select HAVE_GENERIC_DMA_COHERENT |
5 | select HAVE_GENERIC_HARDIRQS | ||
6 | select HAVE_DMA_ATTRS | 5 | select HAVE_DMA_ATTRS |
7 | select HAVE_KERNEL_GZIP | 6 | select HAVE_KERNEL_GZIP |
8 | select HAVE_KERNEL_BZIP2 | 7 | select HAVE_KERNEL_BZIP2 |
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig index 30c40f08a3d4..e241a1930c98 100644 --- a/arch/x86/Kconfig +++ b/arch/x86/Kconfig | |||
@@ -82,7 +82,6 @@ config X86 | |||
82 | select HAVE_USER_RETURN_NOTIFIER | 82 | select HAVE_USER_RETURN_NOTIFIER |
83 | select ARCH_BINFMT_ELF_RANDOMIZE_PIE | 83 | select ARCH_BINFMT_ELF_RANDOMIZE_PIE |
84 | select HAVE_ARCH_JUMP_LABEL | 84 | select HAVE_ARCH_JUMP_LABEL |
85 | select HAVE_GENERIC_HARDIRQS | ||
86 | select ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE | 85 | select ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE |
87 | select SPARSE_IRQ | 86 | select SPARSE_IRQ |
88 | select GENERIC_FIND_FIRST_BIT | 87 | select GENERIC_FIND_FIRST_BIT |
diff --git a/arch/xtensa/Kconfig b/arch/xtensa/Kconfig index 7ea6451a3a33..8d24dcb7cdac 100644 --- a/arch/xtensa/Kconfig +++ b/arch/xtensa/Kconfig | |||
@@ -7,7 +7,6 @@ config XTENSA | |||
7 | select HAVE_IDE | 7 | select HAVE_IDE |
8 | select GENERIC_ATOMIC64 | 8 | select GENERIC_ATOMIC64 |
9 | select GENERIC_CLOCKEVENTS | 9 | select GENERIC_CLOCKEVENTS |
10 | select HAVE_GENERIC_HARDIRQS | ||
11 | select VIRT_TO_BUS | 10 | select VIRT_TO_BUS |
12 | select GENERIC_IRQ_SHOW | 11 | select GENERIC_IRQ_SHOW |
13 | select GENERIC_CPU_DEVICES | 12 | select GENERIC_CPU_DEVICES |
diff --git a/arch/xtensa/configs/common_defconfig b/arch/xtensa/configs/common_defconfig index a182a4e6d688..f6000fe05119 100644 --- a/arch/xtensa/configs/common_defconfig +++ b/arch/xtensa/configs/common_defconfig | |||
@@ -8,7 +8,6 @@ CONFIG_XTENSA=y | |||
8 | # CONFIG_UID16 is not set | 8 | # CONFIG_UID16 is not set |
9 | CONFIG_RWSEM_XCHGADD_ALGORITHM=y | 9 | CONFIG_RWSEM_XCHGADD_ALGORITHM=y |
10 | CONFIG_HAVE_DEC_LOCK=y | 10 | CONFIG_HAVE_DEC_LOCK=y |
11 | CONFIG_GENERIC_HARDIRQS=y | ||
12 | 11 | ||
13 | # | 12 | # |
14 | # Code maturity level options | 13 | # Code maturity level options |
diff --git a/arch/xtensa/configs/iss_defconfig b/arch/xtensa/configs/iss_defconfig index 77c52f80187a..4f233204faf9 100644 --- a/arch/xtensa/configs/iss_defconfig +++ b/arch/xtensa/configs/iss_defconfig | |||
@@ -9,7 +9,6 @@ CONFIG_XTENSA=y | |||
9 | CONFIG_RWSEM_XCHGADD_ALGORITHM=y | 9 | CONFIG_RWSEM_XCHGADD_ALGORITHM=y |
10 | CONFIG_GENERIC_FIND_NEXT_BIT=y | 10 | CONFIG_GENERIC_FIND_NEXT_BIT=y |
11 | CONFIG_GENERIC_HWEIGHT=y | 11 | CONFIG_GENERIC_HWEIGHT=y |
12 | CONFIG_GENERIC_HARDIRQS=y | ||
13 | # CONFIG_ARCH_HAS_ILOG2_U32 is not set | 12 | # CONFIG_ARCH_HAS_ILOG2_U32 is not set |
14 | # CONFIG_ARCH_HAS_ILOG2_U64 is not set | 13 | # CONFIG_ARCH_HAS_ILOG2_U64 is not set |
15 | CONFIG_NO_IOPORT=y | 14 | CONFIG_NO_IOPORT=y |
diff --git a/arch/xtensa/configs/s6105_defconfig b/arch/xtensa/configs/s6105_defconfig index 4799c6a526b5..d929f77a0360 100644 --- a/arch/xtensa/configs/s6105_defconfig +++ b/arch/xtensa/configs/s6105_defconfig | |||
@@ -9,7 +9,6 @@ CONFIG_XTENSA=y | |||
9 | CONFIG_RWSEM_XCHGADD_ALGORITHM=y | 9 | CONFIG_RWSEM_XCHGADD_ALGORITHM=y |
10 | CONFIG_GENERIC_FIND_NEXT_BIT=y | 10 | CONFIG_GENERIC_FIND_NEXT_BIT=y |
11 | CONFIG_GENERIC_HWEIGHT=y | 11 | CONFIG_GENERIC_HWEIGHT=y |
12 | CONFIG_GENERIC_HARDIRQS=y | ||
13 | # CONFIG_ARCH_HAS_ILOG2_U32 is not set | 12 | # CONFIG_ARCH_HAS_ILOG2_U32 is not set |
14 | # CONFIG_ARCH_HAS_ILOG2_U64 is not set | 13 | # CONFIG_ARCH_HAS_ILOG2_U64 is not set |
15 | CONFIG_NO_IOPORT=y | 14 | CONFIG_NO_IOPORT=y |
diff --git a/drivers/block/mtip32xx/Kconfig b/drivers/block/mtip32xx/Kconfig index 1fca1f996b45..0ba837fc62a8 100644 --- a/drivers/block/mtip32xx/Kconfig +++ b/drivers/block/mtip32xx/Kconfig | |||
@@ -4,6 +4,6 @@ | |||
4 | 4 | ||
5 | config BLK_DEV_PCIESSD_MTIP32XX | 5 | config BLK_DEV_PCIESSD_MTIP32XX |
6 | tristate "Block Device Driver for Micron PCIe SSDs" | 6 | tristate "Block Device Driver for Micron PCIe SSDs" |
7 | depends on PCI && GENERIC_HARDIRQS | 7 | depends on PCI |
8 | help | 8 | help |
9 | This enables the block driver for Micron PCIe SSDs. | 9 | This enables the block driver for Micron PCIe SSDs. |
diff --git a/drivers/char/random.c b/drivers/char/random.c index 0d91fe52f3f5..7737b5bd26af 100644 --- a/drivers/char/random.c +++ b/drivers/char/random.c | |||
@@ -255,10 +255,7 @@ | |||
255 | #include <linux/fips.h> | 255 | #include <linux/fips.h> |
256 | #include <linux/ptrace.h> | 256 | #include <linux/ptrace.h> |
257 | #include <linux/kmemcheck.h> | 257 | #include <linux/kmemcheck.h> |
258 | 258 | #include <linux/irq.h> | |
259 | #ifdef CONFIG_GENERIC_HARDIRQS | ||
260 | # include <linux/irq.h> | ||
261 | #endif | ||
262 | 259 | ||
263 | #include <asm/processor.h> | 260 | #include <asm/processor.h> |
264 | #include <asm/uaccess.h> | 261 | #include <asm/uaccess.h> |
diff --git a/drivers/dma/dw/Kconfig b/drivers/dma/dw/Kconfig index dde13248b681..dcfe964cc8dc 100644 --- a/drivers/dma/dw/Kconfig +++ b/drivers/dma/dw/Kconfig | |||
@@ -4,7 +4,6 @@ | |||
4 | 4 | ||
5 | config DW_DMAC_CORE | 5 | config DW_DMAC_CORE |
6 | tristate "Synopsys DesignWare AHB DMA support" | 6 | tristate "Synopsys DesignWare AHB DMA support" |
7 | depends on GENERIC_HARDIRQS | ||
8 | select DMA_ENGINE | 7 | select DMA_ENGINE |
9 | 8 | ||
10 | config DW_DMAC | 9 | config DW_DMAC |
diff --git a/drivers/gpio/Kconfig b/drivers/gpio/Kconfig index 5cb218151c9c..b6ed304863eb 100644 --- a/drivers/gpio/Kconfig +++ b/drivers/gpio/Kconfig | |||
@@ -322,7 +322,7 @@ config GPIO_ICH | |||
322 | 322 | ||
323 | config GPIO_VX855 | 323 | config GPIO_VX855 |
324 | tristate "VIA VX855/VX875 GPIO" | 324 | tristate "VIA VX855/VX875 GPIO" |
325 | depends on PCI && GENERIC_HARDIRQS | 325 | depends on PCI |
326 | select MFD_CORE | 326 | select MFD_CORE |
327 | select MFD_VX855 | 327 | select MFD_VX855 |
328 | help | 328 | help |
@@ -396,7 +396,7 @@ config GPIO_MAX732X | |||
396 | 396 | ||
397 | config GPIO_MAX732X_IRQ | 397 | config GPIO_MAX732X_IRQ |
398 | bool "Interrupt controller support for MAX732x" | 398 | bool "Interrupt controller support for MAX732x" |
399 | depends on GPIO_MAX732X=y && GENERIC_HARDIRQS | 399 | depends on GPIO_MAX732X=y |
400 | help | 400 | help |
401 | Say yes here to enable the max732x to be used as an interrupt | 401 | Say yes here to enable the max732x to be used as an interrupt |
402 | controller. It requires the driver to be built in the kernel. | 402 | controller. It requires the driver to be built in the kernel. |
@@ -661,7 +661,7 @@ config GPIO_TIMBERDALE | |||
661 | 661 | ||
662 | config GPIO_RDC321X | 662 | config GPIO_RDC321X |
663 | tristate "RDC R-321x GPIO support" | 663 | tristate "RDC R-321x GPIO support" |
664 | depends on PCI && GENERIC_HARDIRQS | 664 | depends on PCI |
665 | select MFD_CORE | 665 | select MFD_CORE |
666 | select MFD_RDC321X | 666 | select MFD_RDC321X |
667 | help | 667 | help |
diff --git a/drivers/hid/Kconfig b/drivers/hid/Kconfig index 3d7c9f67b6d7..71b70e3a7a71 100644 --- a/drivers/hid/Kconfig +++ b/drivers/hid/Kconfig | |||
@@ -773,7 +773,7 @@ config HID_ZYDACRON | |||
773 | 773 | ||
774 | config HID_SENSOR_HUB | 774 | config HID_SENSOR_HUB |
775 | tristate "HID Sensors framework support" | 775 | tristate "HID Sensors framework support" |
776 | depends on HID && GENERIC_HARDIRQS | 776 | depends on HID |
777 | select MFD_CORE | 777 | select MFD_CORE |
778 | default n | 778 | default n |
779 | ---help--- | 779 | ---help--- |
diff --git a/drivers/i2c/Kconfig b/drivers/i2c/Kconfig index e380c6eef3af..7b7ea320a258 100644 --- a/drivers/i2c/Kconfig +++ b/drivers/i2c/Kconfig | |||
@@ -75,7 +75,6 @@ config I2C_HELPER_AUTO | |||
75 | 75 | ||
76 | config I2C_SMBUS | 76 | config I2C_SMBUS |
77 | tristate "SMBus-specific protocols" if !I2C_HELPER_AUTO | 77 | tristate "SMBus-specific protocols" if !I2C_HELPER_AUTO |
78 | depends on GENERIC_HARDIRQS | ||
79 | help | 78 | help |
80 | Say Y here if you want support for SMBus extensions to the I2C | 79 | Say Y here if you want support for SMBus extensions to the I2C |
81 | specification. At the moment, the only supported extension is | 80 | specification. At the moment, the only supported extension is |
diff --git a/drivers/i2c/busses/Kconfig b/drivers/i2c/busses/Kconfig index fcdd321f709e..cdcbd8368ed3 100644 --- a/drivers/i2c/busses/Kconfig +++ b/drivers/i2c/busses/Kconfig | |||
@@ -115,7 +115,7 @@ config I2C_I801 | |||
115 | 115 | ||
116 | config I2C_ISCH | 116 | config I2C_ISCH |
117 | tristate "Intel SCH SMBus 1.0" | 117 | tristate "Intel SCH SMBus 1.0" |
118 | depends on PCI && GENERIC_HARDIRQS | 118 | depends on PCI |
119 | select LPC_SCH | 119 | select LPC_SCH |
120 | help | 120 | help |
121 | Say Y here if you want to use SMBus controller on the Intel SCH | 121 | Say Y here if you want to use SMBus controller on the Intel SCH |
@@ -546,7 +546,6 @@ config I2C_NUC900 | |||
546 | 546 | ||
547 | config I2C_OCORES | 547 | config I2C_OCORES |
548 | tristate "OpenCores I2C Controller" | 548 | tristate "OpenCores I2C Controller" |
549 | depends on GENERIC_HARDIRQS | ||
550 | help | 549 | help |
551 | If you say yes to this option, support will be included for the | 550 | If you say yes to this option, support will be included for the |
552 | OpenCores I2C controller. For details see | 551 | OpenCores I2C controller. For details see |
@@ -791,7 +790,7 @@ config I2C_DIOLAN_U2C | |||
791 | 790 | ||
792 | config I2C_PARPORT | 791 | config I2C_PARPORT |
793 | tristate "Parallel port adapter" | 792 | tristate "Parallel port adapter" |
794 | depends on PARPORT && GENERIC_HARDIRQS | 793 | depends on PARPORT |
795 | select I2C_ALGOBIT | 794 | select I2C_ALGOBIT |
796 | select I2C_SMBUS | 795 | select I2C_SMBUS |
797 | help | 796 | help |
@@ -816,7 +815,6 @@ config I2C_PARPORT | |||
816 | 815 | ||
817 | config I2C_PARPORT_LIGHT | 816 | config I2C_PARPORT_LIGHT |
818 | tristate "Parallel port adapter (light)" | 817 | tristate "Parallel port adapter (light)" |
819 | depends on GENERIC_HARDIRQS | ||
820 | select I2C_ALGOBIT | 818 | select I2C_ALGOBIT |
821 | select I2C_SMBUS | 819 | select I2C_SMBUS |
822 | help | 820 | help |
diff --git a/drivers/iio/Kconfig b/drivers/iio/Kconfig index cbea3271c1b1..90cf0cda50c4 100644 --- a/drivers/iio/Kconfig +++ b/drivers/iio/Kconfig | |||
@@ -4,7 +4,6 @@ | |||
4 | 4 | ||
5 | menuconfig IIO | 5 | menuconfig IIO |
6 | tristate "Industrial I/O support" | 6 | tristate "Industrial I/O support" |
7 | depends on GENERIC_HARDIRQS | ||
8 | help | 7 | help |
9 | The industrial I/O subsystem provides a unified framework for | 8 | The industrial I/O subsystem provides a unified framework for |
10 | drivers for many different types of embedded sensors using a | 9 | drivers for many different types of embedded sensors using a |
diff --git a/drivers/infiniband/hw/qib/Kconfig b/drivers/infiniband/hw/qib/Kconfig index d03ca4c1ff25..495be09781b1 100644 --- a/drivers/infiniband/hw/qib/Kconfig +++ b/drivers/infiniband/hw/qib/Kconfig | |||
@@ -8,7 +8,7 @@ config INFINIBAND_QIB | |||
8 | 8 | ||
9 | config INFINIBAND_QIB_DCA | 9 | config INFINIBAND_QIB_DCA |
10 | bool "QIB DCA support" | 10 | bool "QIB DCA support" |
11 | depends on INFINIBAND_QIB && DCA && SMP && GENERIC_HARDIRQS && !(INFINIBAND_QIB=y && DCA=m) | 11 | depends on INFINIBAND_QIB && DCA && SMP && !(INFINIBAND_QIB=y && DCA=m) |
12 | default y | 12 | default y |
13 | ---help--- | 13 | ---help--- |
14 | Setting this enables DCA support on some Intel chip sets | 14 | Setting this enables DCA support on some Intel chip sets |
diff --git a/drivers/input/keyboard/Kconfig b/drivers/input/keyboard/Kconfig index 269d4c3658cb..c1edd39bc5ba 100644 --- a/drivers/input/keyboard/Kconfig +++ b/drivers/input/keyboard/Kconfig | |||
@@ -224,7 +224,7 @@ config KEYBOARD_TCA6416 | |||
224 | 224 | ||
225 | config KEYBOARD_TCA8418 | 225 | config KEYBOARD_TCA8418 |
226 | tristate "TCA8418 Keypad Support" | 226 | tristate "TCA8418 Keypad Support" |
227 | depends on I2C && GENERIC_HARDIRQS | 227 | depends on I2C |
228 | select INPUT_MATRIXKMAP | 228 | select INPUT_MATRIXKMAP |
229 | help | 229 | help |
230 | This driver implements basic keypad functionality | 230 | This driver implements basic keypad functionality |
@@ -303,7 +303,7 @@ config KEYBOARD_HP7XX | |||
303 | 303 | ||
304 | config KEYBOARD_LM8323 | 304 | config KEYBOARD_LM8323 |
305 | tristate "LM8323 keypad chip" | 305 | tristate "LM8323 keypad chip" |
306 | depends on I2C && GENERIC_HARDIRQS | 306 | depends on I2C |
307 | depends on LEDS_CLASS | 307 | depends on LEDS_CLASS |
308 | help | 308 | help |
309 | If you say yes here you get support for the National Semiconductor | 309 | If you say yes here you get support for the National Semiconductor |
diff --git a/drivers/input/serio/Kconfig b/drivers/input/serio/Kconfig index 1e691a3a79cb..33b3e88fe4a2 100644 --- a/drivers/input/serio/Kconfig +++ b/drivers/input/serio/Kconfig | |||
@@ -239,7 +239,6 @@ config SERIO_PS2MULT | |||
239 | 239 | ||
240 | config SERIO_ARC_PS2 | 240 | config SERIO_ARC_PS2 |
241 | tristate "ARC PS/2 support" | 241 | tristate "ARC PS/2 support" |
242 | depends on GENERIC_HARDIRQS | ||
243 | help | 242 | help |
244 | Say Y here if you have an ARC FPGA platform with a PS/2 | 243 | Say Y here if you have an ARC FPGA platform with a PS/2 |
245 | controller in it. | 244 | controller in it. |
diff --git a/drivers/input/touchscreen/Kconfig b/drivers/input/touchscreen/Kconfig index 3b9758b5f4d7..e09ec67957a3 100644 --- a/drivers/input/touchscreen/Kconfig +++ b/drivers/input/touchscreen/Kconfig | |||
@@ -389,7 +389,7 @@ config TOUCHSCREEN_MCS5000 | |||
389 | 389 | ||
390 | config TOUCHSCREEN_MMS114 | 390 | config TOUCHSCREEN_MMS114 |
391 | tristate "MELFAS MMS114 touchscreen" | 391 | tristate "MELFAS MMS114 touchscreen" |
392 | depends on I2C && GENERIC_HARDIRQS | 392 | depends on I2C |
393 | help | 393 | help |
394 | Say Y here if you have the MELFAS MMS114 touchscreen controller | 394 | Say Y here if you have the MELFAS MMS114 touchscreen controller |
395 | chip in your system. | 395 | chip in your system. |
@@ -845,7 +845,7 @@ config TOUCHSCREEN_TSC_SERIO | |||
845 | 845 | ||
846 | config TOUCHSCREEN_TSC2005 | 846 | config TOUCHSCREEN_TSC2005 |
847 | tristate "TSC2005 based touchscreens" | 847 | tristate "TSC2005 based touchscreens" |
848 | depends on SPI_MASTER && GENERIC_HARDIRQS | 848 | depends on SPI_MASTER |
849 | help | 849 | help |
850 | Say Y here if you have a TSC2005 based touchscreen. | 850 | Say Y here if you have a TSC2005 based touchscreen. |
851 | 851 | ||
diff --git a/drivers/media/platform/Kconfig b/drivers/media/platform/Kconfig index 8068d7b64155..c7caf94621b4 100644 --- a/drivers/media/platform/Kconfig +++ b/drivers/media/platform/Kconfig | |||
@@ -203,7 +203,7 @@ config VIDEO_SAMSUNG_EXYNOS_GSC | |||
203 | 203 | ||
204 | config VIDEO_SH_VEU | 204 | config VIDEO_SH_VEU |
205 | tristate "SuperH VEU mem2mem video processing driver" | 205 | tristate "SuperH VEU mem2mem video processing driver" |
206 | depends on VIDEO_DEV && VIDEO_V4L2 && GENERIC_HARDIRQS && HAS_DMA | 206 | depends on VIDEO_DEV && VIDEO_V4L2 && HAS_DMA |
207 | select VIDEOBUF2_DMA_CONTIG | 207 | select VIDEOBUF2_DMA_CONTIG |
208 | select V4L2_MEM2MEM_DEV | 208 | select V4L2_MEM2MEM_DEV |
209 | help | 209 | help |
diff --git a/drivers/media/radio/Kconfig b/drivers/media/radio/Kconfig index 39882ddd2594..6ecdc39bb366 100644 --- a/drivers/media/radio/Kconfig +++ b/drivers/media/radio/Kconfig | |||
@@ -214,7 +214,7 @@ config RADIO_TIMBERDALE | |||
214 | 214 | ||
215 | config RADIO_WL1273 | 215 | config RADIO_WL1273 |
216 | tristate "Texas Instruments WL1273 I2C FM Radio" | 216 | tristate "Texas Instruments WL1273 I2C FM Radio" |
217 | depends on I2C && VIDEO_V4L2 && GENERIC_HARDIRQS | 217 | depends on I2C && VIDEO_V4L2 |
218 | select MFD_CORE | 218 | select MFD_CORE |
219 | select MFD_WL1273_CORE | 219 | select MFD_WL1273_CORE |
220 | select FW_LOADER | 220 | select FW_LOADER |
diff --git a/drivers/mfd/Kconfig b/drivers/mfd/Kconfig index e0e46f50f95d..914c3d142f78 100644 --- a/drivers/mfd/Kconfig +++ b/drivers/mfd/Kconfig | |||
@@ -23,7 +23,7 @@ config MFD_AS3711 | |||
23 | select MFD_CORE | 23 | select MFD_CORE |
24 | select REGMAP_I2C | 24 | select REGMAP_I2C |
25 | select REGMAP_IRQ | 25 | select REGMAP_IRQ |
26 | depends on I2C=y && GENERIC_HARDIRQS | 26 | depends on I2C=y |
27 | help | 27 | help |
28 | Support for the AS3711 PMIC from AMS | 28 | Support for the AS3711 PMIC from AMS |
29 | 29 | ||
@@ -40,7 +40,7 @@ config PMIC_ADP5520 | |||
40 | config MFD_AAT2870_CORE | 40 | config MFD_AAT2870_CORE |
41 | bool "AnalogicTech AAT2870" | 41 | bool "AnalogicTech AAT2870" |
42 | select MFD_CORE | 42 | select MFD_CORE |
43 | depends on I2C=y && GPIOLIB && GENERIC_HARDIRQS | 43 | depends on I2C=y && GPIOLIB |
44 | help | 44 | help |
45 | If you say yes here you get support for the AAT2870. | 45 | If you say yes here you get support for the AAT2870. |
46 | This driver provides common support for accessing the device, | 46 | This driver provides common support for accessing the device, |
@@ -78,7 +78,7 @@ config MFD_CROS_EC_SPI | |||
78 | 78 | ||
79 | config MFD_ASIC3 | 79 | config MFD_ASIC3 |
80 | bool "Compaq ASIC3" | 80 | bool "Compaq ASIC3" |
81 | depends on GENERIC_HARDIRQS && GPIOLIB && ARM | 81 | depends on GPIOLIB && ARM |
82 | select MFD_CORE | 82 | select MFD_CORE |
83 | ---help--- | 83 | ---help--- |
84 | This driver supports the ASIC3 multifunction chip found on many | 84 | This driver supports the ASIC3 multifunction chip found on many |
@@ -104,7 +104,7 @@ config MFD_DA9052_SPI | |||
104 | select REGMAP_SPI | 104 | select REGMAP_SPI |
105 | select REGMAP_IRQ | 105 | select REGMAP_IRQ |
106 | select PMIC_DA9052 | 106 | select PMIC_DA9052 |
107 | depends on SPI_MASTER=y && GENERIC_HARDIRQS | 107 | depends on SPI_MASTER=y |
108 | help | 108 | help |
109 | Support for the Dialog Semiconductor DA9052 PMIC | 109 | Support for the Dialog Semiconductor DA9052 PMIC |
110 | when controlled using SPI. This driver provides common support | 110 | when controlled using SPI. This driver provides common support |
@@ -116,7 +116,7 @@ config MFD_DA9052_I2C | |||
116 | select REGMAP_I2C | 116 | select REGMAP_I2C |
117 | select REGMAP_IRQ | 117 | select REGMAP_IRQ |
118 | select PMIC_DA9052 | 118 | select PMIC_DA9052 |
119 | depends on I2C=y && GENERIC_HARDIRQS | 119 | depends on I2C=y |
120 | help | 120 | help |
121 | Support for the Dialog Semiconductor DA9052 PMIC | 121 | Support for the Dialog Semiconductor DA9052 PMIC |
122 | when controlled using I2C. This driver provides common support | 122 | when controlled using I2C. This driver provides common support |
@@ -128,7 +128,7 @@ config MFD_DA9055 | |||
128 | select REGMAP_I2C | 128 | select REGMAP_I2C |
129 | select REGMAP_IRQ | 129 | select REGMAP_IRQ |
130 | select MFD_CORE | 130 | select MFD_CORE |
131 | depends on I2C=y && GENERIC_HARDIRQS | 131 | depends on I2C=y |
132 | help | 132 | help |
133 | Say yes here for support of Dialog Semiconductor DA9055. This is | 133 | Say yes here for support of Dialog Semiconductor DA9055. This is |
134 | a Power Management IC. This driver provides common support for | 134 | a Power Management IC. This driver provides common support for |
@@ -144,7 +144,7 @@ config MFD_DA9063 | |||
144 | select MFD_CORE | 144 | select MFD_CORE |
145 | select REGMAP_I2C | 145 | select REGMAP_I2C |
146 | select REGMAP_IRQ | 146 | select REGMAP_IRQ |
147 | depends on I2C=y && GENERIC_HARDIRQS | 147 | depends on I2C=y |
148 | help | 148 | help |
149 | Say yes here for support for the Dialog Semiconductor DA9063 PMIC. | 149 | Say yes here for support for the Dialog Semiconductor DA9063 PMIC. |
150 | This includes the I2C driver and core APIs. | 150 | This includes the I2C driver and core APIs. |
@@ -156,7 +156,7 @@ config MFD_MC13783 | |||
156 | 156 | ||
157 | config MFD_MC13XXX | 157 | config MFD_MC13XXX |
158 | tristate | 158 | tristate |
159 | depends on (SPI_MASTER || I2C) && GENERIC_HARDIRQS | 159 | depends on (SPI_MASTER || I2C) |
160 | select MFD_CORE | 160 | select MFD_CORE |
161 | select MFD_MC13783 | 161 | select MFD_MC13783 |
162 | help | 162 | help |
@@ -167,7 +167,7 @@ config MFD_MC13XXX | |||
167 | 167 | ||
168 | config MFD_MC13XXX_SPI | 168 | config MFD_MC13XXX_SPI |
169 | tristate "Freescale MC13783 and MC13892 SPI interface" | 169 | tristate "Freescale MC13783 and MC13892 SPI interface" |
170 | depends on SPI_MASTER && GENERIC_HARDIRQS | 170 | depends on SPI_MASTER |
171 | select REGMAP_SPI | 171 | select REGMAP_SPI |
172 | select MFD_MC13XXX | 172 | select MFD_MC13XXX |
173 | help | 173 | help |
@@ -175,7 +175,7 @@ config MFD_MC13XXX_SPI | |||
175 | 175 | ||
176 | config MFD_MC13XXX_I2C | 176 | config MFD_MC13XXX_I2C |
177 | tristate "Freescale MC13892 I2C interface" | 177 | tristate "Freescale MC13892 I2C interface" |
178 | depends on I2C && GENERIC_HARDIRQS | 178 | depends on I2C |
179 | select REGMAP_I2C | 179 | select REGMAP_I2C |
180 | select MFD_MC13XXX | 180 | select MFD_MC13XXX |
181 | help | 181 | help |
@@ -183,7 +183,7 @@ config MFD_MC13XXX_I2C | |||
183 | 183 | ||
184 | config HTC_EGPIO | 184 | config HTC_EGPIO |
185 | bool "HTC EGPIO support" | 185 | bool "HTC EGPIO support" |
186 | depends on GENERIC_HARDIRQS && GPIOLIB && ARM | 186 | depends on GPIOLIB && ARM |
187 | help | 187 | help |
188 | This driver supports the CPLD egpio chip present on | 188 | This driver supports the CPLD egpio chip present on |
189 | several HTC phones. It provides basic support for input | 189 | several HTC phones. It provides basic support for input |
@@ -192,7 +192,6 @@ config HTC_EGPIO | |||
192 | config HTC_PASIC3 | 192 | config HTC_PASIC3 |
193 | tristate "HTC PASIC3 LED/DS1WM chip support" | 193 | tristate "HTC PASIC3 LED/DS1WM chip support" |
194 | select MFD_CORE | 194 | select MFD_CORE |
195 | depends on GENERIC_HARDIRQS | ||
196 | help | 195 | help |
197 | This core driver provides register access for the LED/DS1WM | 196 | This core driver provides register access for the LED/DS1WM |
198 | chips labeled "AIC2" and "AIC3", found on HTC Blueangel and | 197 | chips labeled "AIC2" and "AIC3", found on HTC Blueangel and |
@@ -210,7 +209,7 @@ config HTC_I2CPLD | |||
210 | 209 | ||
211 | config LPC_ICH | 210 | config LPC_ICH |
212 | tristate "Intel ICH LPC" | 211 | tristate "Intel ICH LPC" |
213 | depends on PCI && GENERIC_HARDIRQS | 212 | depends on PCI |
214 | select MFD_CORE | 213 | select MFD_CORE |
215 | help | 214 | help |
216 | The LPC bridge function of the Intel ICH provides support for | 215 | The LPC bridge function of the Intel ICH provides support for |
@@ -220,7 +219,7 @@ config LPC_ICH | |||
220 | 219 | ||
221 | config LPC_SCH | 220 | config LPC_SCH |
222 | tristate "Intel SCH LPC" | 221 | tristate "Intel SCH LPC" |
223 | depends on PCI && GENERIC_HARDIRQS | 222 | depends on PCI |
224 | select MFD_CORE | 223 | select MFD_CORE |
225 | help | 224 | help |
226 | LPC bridge function of the Intel SCH provides support for | 225 | LPC bridge function of the Intel SCH provides support for |
@@ -238,7 +237,7 @@ config MFD_INTEL_MSIC | |||
238 | config MFD_JANZ_CMODIO | 237 | config MFD_JANZ_CMODIO |
239 | tristate "Janz CMOD-IO PCI MODULbus Carrier Board" | 238 | tristate "Janz CMOD-IO PCI MODULbus Carrier Board" |
240 | select MFD_CORE | 239 | select MFD_CORE |
241 | depends on PCI && GENERIC_HARDIRQS | 240 | depends on PCI |
242 | help | 241 | help |
243 | This is the core driver for the Janz CMOD-IO PCI MODULbus | 242 | This is the core driver for the Janz CMOD-IO PCI MODULbus |
244 | carrier board. This device is a PCI to MODULbus bridge which may | 243 | carrier board. This device is a PCI to MODULbus bridge which may |
@@ -277,7 +276,7 @@ config MFD_KEMPLD | |||
277 | 276 | ||
278 | config MFD_88PM800 | 277 | config MFD_88PM800 |
279 | tristate "Marvell 88PM800" | 278 | tristate "Marvell 88PM800" |
280 | depends on I2C=y && GENERIC_HARDIRQS | 279 | depends on I2C=y |
281 | select REGMAP_I2C | 280 | select REGMAP_I2C |
282 | select REGMAP_IRQ | 281 | select REGMAP_IRQ |
283 | select MFD_CORE | 282 | select MFD_CORE |
@@ -289,7 +288,7 @@ config MFD_88PM800 | |||
289 | 288 | ||
290 | config MFD_88PM805 | 289 | config MFD_88PM805 |
291 | tristate "Marvell 88PM805" | 290 | tristate "Marvell 88PM805" |
292 | depends on I2C=y && GENERIC_HARDIRQS | 291 | depends on I2C=y |
293 | select REGMAP_I2C | 292 | select REGMAP_I2C |
294 | select REGMAP_IRQ | 293 | select REGMAP_IRQ |
295 | select MFD_CORE | 294 | select MFD_CORE |
@@ -301,7 +300,7 @@ config MFD_88PM805 | |||
301 | 300 | ||
302 | config MFD_88PM860X | 301 | config MFD_88PM860X |
303 | bool "Marvell 88PM8606/88PM8607" | 302 | bool "Marvell 88PM8606/88PM8607" |
304 | depends on I2C=y && GENERIC_HARDIRQS | 303 | depends on I2C=y |
305 | select REGMAP_I2C | 304 | select REGMAP_I2C |
306 | select MFD_CORE | 305 | select MFD_CORE |
307 | help | 306 | help |
@@ -312,7 +311,7 @@ config MFD_88PM860X | |||
312 | 311 | ||
313 | config MFD_MAX77686 | 312 | config MFD_MAX77686 |
314 | bool "Maxim Semiconductor MAX77686 PMIC Support" | 313 | bool "Maxim Semiconductor MAX77686 PMIC Support" |
315 | depends on I2C=y && GENERIC_HARDIRQS | 314 | depends on I2C=y |
316 | select MFD_CORE | 315 | select MFD_CORE |
317 | select REGMAP_I2C | 316 | select REGMAP_I2C |
318 | select IRQ_DOMAIN | 317 | select IRQ_DOMAIN |
@@ -325,7 +324,7 @@ config MFD_MAX77686 | |||
325 | 324 | ||
326 | config MFD_MAX77693 | 325 | config MFD_MAX77693 |
327 | bool "Maxim Semiconductor MAX77693 PMIC Support" | 326 | bool "Maxim Semiconductor MAX77693 PMIC Support" |
328 | depends on I2C=y && GENERIC_HARDIRQS | 327 | depends on I2C=y |
329 | select MFD_CORE | 328 | select MFD_CORE |
330 | select REGMAP_I2C | 329 | select REGMAP_I2C |
331 | help | 330 | help |
@@ -339,7 +338,7 @@ config MFD_MAX77693 | |||
339 | config MFD_MAX8907 | 338 | config MFD_MAX8907 |
340 | tristate "Maxim Semiconductor MAX8907 PMIC Support" | 339 | tristate "Maxim Semiconductor MAX8907 PMIC Support" |
341 | select MFD_CORE | 340 | select MFD_CORE |
342 | depends on I2C=y && GENERIC_HARDIRQS | 341 | depends on I2C=y |
343 | select REGMAP_I2C | 342 | select REGMAP_I2C |
344 | select REGMAP_IRQ | 343 | select REGMAP_IRQ |
345 | help | 344 | help |
@@ -350,7 +349,7 @@ config MFD_MAX8907 | |||
350 | 349 | ||
351 | config MFD_MAX8925 | 350 | config MFD_MAX8925 |
352 | bool "Maxim Semiconductor MAX8925 PMIC Support" | 351 | bool "Maxim Semiconductor MAX8925 PMIC Support" |
353 | depends on I2C=y && GENERIC_HARDIRQS | 352 | depends on I2C=y |
354 | select MFD_CORE | 353 | select MFD_CORE |
355 | help | 354 | help |
356 | Say yes here to support for Maxim Semiconductor MAX8925. This is | 355 | Say yes here to support for Maxim Semiconductor MAX8925. This is |
@@ -360,7 +359,7 @@ config MFD_MAX8925 | |||
360 | 359 | ||
361 | config MFD_MAX8997 | 360 | config MFD_MAX8997 |
362 | bool "Maxim Semiconductor MAX8997/8966 PMIC Support" | 361 | bool "Maxim Semiconductor MAX8997/8966 PMIC Support" |
363 | depends on I2C=y && GENERIC_HARDIRQS | 362 | depends on I2C=y |
364 | select MFD_CORE | 363 | select MFD_CORE |
365 | select IRQ_DOMAIN | 364 | select IRQ_DOMAIN |
366 | help | 365 | help |
@@ -373,7 +372,7 @@ config MFD_MAX8997 | |||
373 | 372 | ||
374 | config MFD_MAX8998 | 373 | config MFD_MAX8998 |
375 | bool "Maxim Semiconductor MAX8998/National LP3974 PMIC Support" | 374 | bool "Maxim Semiconductor MAX8998/National LP3974 PMIC Support" |
376 | depends on I2C=y && GENERIC_HARDIRQS | 375 | depends on I2C=y |
377 | select MFD_CORE | 376 | select MFD_CORE |
378 | select IRQ_DOMAIN | 377 | select IRQ_DOMAIN |
379 | help | 378 | help |
@@ -385,7 +384,7 @@ config MFD_MAX8998 | |||
385 | 384 | ||
386 | config EZX_PCAP | 385 | config EZX_PCAP |
387 | bool "Motorola EZXPCAP Support" | 386 | bool "Motorola EZXPCAP Support" |
388 | depends on GENERIC_HARDIRQS && SPI_MASTER | 387 | depends on SPI_MASTER |
389 | help | 388 | help |
390 | This enables the PCAP ASIC present on EZX Phones. This is | 389 | This enables the PCAP ASIC present on EZX Phones. This is |
391 | needed for MMC, TouchScreen, Sound, USB, etc.. | 390 | needed for MMC, TouchScreen, Sound, USB, etc.. |
@@ -393,7 +392,7 @@ config EZX_PCAP | |||
393 | config MFD_VIPERBOARD | 392 | config MFD_VIPERBOARD |
394 | tristate "Nano River Technologies Viperboard" | 393 | tristate "Nano River Technologies Viperboard" |
395 | select MFD_CORE | 394 | select MFD_CORE |
396 | depends on USB && GENERIC_HARDIRQS | 395 | depends on USB |
397 | default n | 396 | default n |
398 | help | 397 | help |
399 | Say yes here if you want support for Nano River Technologies | 398 | Say yes here if you want support for Nano River Technologies |
@@ -407,7 +406,7 @@ config MFD_VIPERBOARD | |||
407 | config MFD_RETU | 406 | config MFD_RETU |
408 | tristate "Nokia Retu and Tahvo multi-function device" | 407 | tristate "Nokia Retu and Tahvo multi-function device" |
409 | select MFD_CORE | 408 | select MFD_CORE |
410 | depends on I2C && GENERIC_HARDIRQS | 409 | depends on I2C |
411 | select REGMAP_IRQ | 410 | select REGMAP_IRQ |
412 | help | 411 | help |
413 | Retu and Tahvo are a multi-function devices found on Nokia | 412 | Retu and Tahvo are a multi-function devices found on Nokia |
@@ -480,7 +479,7 @@ config MFD_PM8XXX_IRQ | |||
480 | config MFD_RDC321X | 479 | config MFD_RDC321X |
481 | tristate "RDC R-321x southbridge" | 480 | tristate "RDC R-321x southbridge" |
482 | select MFD_CORE | 481 | select MFD_CORE |
483 | depends on PCI && GENERIC_HARDIRQS | 482 | depends on PCI |
484 | help | 483 | help |
485 | Say yes here if you want to have support for the RDC R-321x SoC | 484 | Say yes here if you want to have support for the RDC R-321x SoC |
486 | southbridge which provides access to GPIOs and Watchdog using the | 485 | southbridge which provides access to GPIOs and Watchdog using the |
@@ -488,7 +487,7 @@ config MFD_RDC321X | |||
488 | 487 | ||
489 | config MFD_RTSX_PCI | 488 | config MFD_RTSX_PCI |
490 | tristate "Realtek PCI-E card reader" | 489 | tristate "Realtek PCI-E card reader" |
491 | depends on PCI && GENERIC_HARDIRQS | 490 | depends on PCI |
492 | select MFD_CORE | 491 | select MFD_CORE |
493 | help | 492 | help |
494 | This supports for Realtek PCI-Express card reader including rts5209, | 493 | This supports for Realtek PCI-Express card reader including rts5209, |
@@ -498,7 +497,7 @@ config MFD_RTSX_PCI | |||
498 | 497 | ||
499 | config MFD_RC5T583 | 498 | config MFD_RC5T583 |
500 | bool "Ricoh RC5T583 Power Management system device" | 499 | bool "Ricoh RC5T583 Power Management system device" |
501 | depends on I2C=y && GENERIC_HARDIRQS | 500 | depends on I2C=y |
502 | select MFD_CORE | 501 | select MFD_CORE |
503 | select REGMAP_I2C | 502 | select REGMAP_I2C |
504 | help | 503 | help |
@@ -512,7 +511,7 @@ config MFD_RC5T583 | |||
512 | 511 | ||
513 | config MFD_SEC_CORE | 512 | config MFD_SEC_CORE |
514 | bool "SAMSUNG Electronics PMIC Series Support" | 513 | bool "SAMSUNG Electronics PMIC Series Support" |
515 | depends on I2C=y && GENERIC_HARDIRQS | 514 | depends on I2C=y |
516 | select MFD_CORE | 515 | select MFD_CORE |
517 | select REGMAP_I2C | 516 | select REGMAP_I2C |
518 | select REGMAP_IRQ | 517 | select REGMAP_IRQ |
@@ -555,7 +554,7 @@ config MFD_SM501_GPIO | |||
555 | 554 | ||
556 | config MFD_SMSC | 555 | config MFD_SMSC |
557 | bool "SMSC ECE1099 series chips" | 556 | bool "SMSC ECE1099 series chips" |
558 | depends on I2C=y && GENERIC_HARDIRQS | 557 | depends on I2C=y |
559 | select MFD_CORE | 558 | select MFD_CORE |
560 | select REGMAP_I2C | 559 | select REGMAP_I2C |
561 | help | 560 | help |
@@ -577,7 +576,7 @@ config ABX500_CORE | |||
577 | 576 | ||
578 | config AB3100_CORE | 577 | config AB3100_CORE |
579 | bool "ST-Ericsson AB3100 Mixed Signal Circuit core functions" | 578 | bool "ST-Ericsson AB3100 Mixed Signal Circuit core functions" |
580 | depends on I2C=y && ABX500_CORE && GENERIC_HARDIRQS | 579 | depends on I2C=y && ABX500_CORE |
581 | select MFD_CORE | 580 | select MFD_CORE |
582 | default y if ARCH_U300 | 581 | default y if ARCH_U300 |
583 | help | 582 | help |
@@ -601,7 +600,7 @@ config AB3100_OTP | |||
601 | 600 | ||
602 | config AB8500_CORE | 601 | config AB8500_CORE |
603 | bool "ST-Ericsson AB8500 Mixed Signal Power Management chip" | 602 | bool "ST-Ericsson AB8500 Mixed Signal Power Management chip" |
604 | depends on GENERIC_HARDIRQS && ABX500_CORE && MFD_DB8500_PRCMU | 603 | depends on ABX500_CORE && MFD_DB8500_PRCMU |
605 | select POWER_SUPPLY | 604 | select POWER_SUPPLY |
606 | select MFD_CORE | 605 | select MFD_CORE |
607 | select IRQ_DOMAIN | 606 | select IRQ_DOMAIN |
@@ -639,7 +638,7 @@ config MFD_DB8500_PRCMU | |||
639 | 638 | ||
640 | config MFD_STMPE | 639 | config MFD_STMPE |
641 | bool "STMicroelectronics STMPE" | 640 | bool "STMicroelectronics STMPE" |
642 | depends on (I2C=y || SPI_MASTER=y) && GENERIC_HARDIRQS | 641 | depends on (I2C=y || SPI_MASTER=y) |
643 | select MFD_CORE | 642 | select MFD_CORE |
644 | help | 643 | help |
645 | Support for the STMPE family of I/O Expanders from | 644 | Support for the STMPE family of I/O Expanders from |
@@ -680,7 +679,7 @@ endmenu | |||
680 | 679 | ||
681 | config MFD_STA2X11 | 680 | config MFD_STA2X11 |
682 | bool "STMicroelectronics STA2X11" | 681 | bool "STMicroelectronics STA2X11" |
683 | depends on STA2X11 && GENERIC_HARDIRQS | 682 | depends on STA2X11 |
684 | select MFD_CORE | 683 | select MFD_CORE |
685 | select REGMAP_MMIO | 684 | select REGMAP_MMIO |
686 | 685 | ||
@@ -700,7 +699,6 @@ config MFD_TI_AM335X_TSCADC | |||
700 | select MFD_CORE | 699 | select MFD_CORE |
701 | select REGMAP | 700 | select REGMAP |
702 | select REGMAP_MMIO | 701 | select REGMAP_MMIO |
703 | depends on GENERIC_HARDIRQS | ||
704 | help | 702 | help |
705 | If you say yes here you get support for Texas Instruments series | 703 | If you say yes here you get support for Texas Instruments series |
706 | of Touch Screen /ADC chips. | 704 | of Touch Screen /ADC chips. |
@@ -717,7 +715,7 @@ config MFD_DM355EVM_MSP | |||
717 | 715 | ||
718 | config MFD_LP8788 | 716 | config MFD_LP8788 |
719 | bool "TI LP8788 Power Management Unit Driver" | 717 | bool "TI LP8788 Power Management Unit Driver" |
720 | depends on I2C=y && GENERIC_HARDIRQS | 718 | depends on I2C=y |
721 | select MFD_CORE | 719 | select MFD_CORE |
722 | select REGMAP_I2C | 720 | select REGMAP_I2C |
723 | select IRQ_DOMAIN | 721 | select IRQ_DOMAIN |
@@ -739,14 +737,14 @@ config MFD_PALMAS | |||
739 | select MFD_CORE | 737 | select MFD_CORE |
740 | select REGMAP_I2C | 738 | select REGMAP_I2C |
741 | select REGMAP_IRQ | 739 | select REGMAP_IRQ |
742 | depends on I2C=y && GENERIC_HARDIRQS | 740 | depends on I2C=y |
743 | help | 741 | help |
744 | If you say yes here you get support for the Palmas | 742 | If you say yes here you get support for the Palmas |
745 | series of PMIC chips from Texas Instruments. | 743 | series of PMIC chips from Texas Instruments. |
746 | 744 | ||
747 | config MFD_TI_SSP | 745 | config MFD_TI_SSP |
748 | tristate "TI Sequencer Serial Port support" | 746 | tristate "TI Sequencer Serial Port support" |
749 | depends on ARCH_DAVINCI_TNETV107X && GENERIC_HARDIRQS | 747 | depends on ARCH_DAVINCI_TNETV107X |
750 | select MFD_CORE | 748 | select MFD_CORE |
751 | ---help--- | 749 | ---help--- |
752 | Say Y here if you want support for the Sequencer Serial Port | 750 | Say Y here if you want support for the Sequencer Serial Port |
@@ -761,7 +759,6 @@ config TPS6105X | |||
761 | select REGULATOR | 759 | select REGULATOR |
762 | select MFD_CORE | 760 | select MFD_CORE |
763 | select REGULATOR_FIXED_VOLTAGE | 761 | select REGULATOR_FIXED_VOLTAGE |
764 | depends on GENERIC_HARDIRQS | ||
765 | help | 762 | help |
766 | This option enables a driver for the TP61050/TPS61052 | 763 | This option enables a driver for the TP61050/TPS61052 |
767 | high-power "white LED driver". This boost converter is | 764 | high-power "white LED driver". This boost converter is |
@@ -784,7 +781,7 @@ config TPS65010 | |||
784 | config TPS6507X | 781 | config TPS6507X |
785 | tristate "TI TPS6507x Power Management / Touch Screen chips" | 782 | tristate "TI TPS6507x Power Management / Touch Screen chips" |
786 | select MFD_CORE | 783 | select MFD_CORE |
787 | depends on I2C && GENERIC_HARDIRQS | 784 | depends on I2C |
788 | help | 785 | help |
789 | If you say yes here you get support for the TPS6507x series of | 786 | If you say yes here you get support for the TPS6507x series of |
790 | Power Management / Touch Screen chips. These include voltage | 787 | Power Management / Touch Screen chips. These include voltage |
@@ -798,7 +795,7 @@ config TPS65911_COMPARATOR | |||
798 | 795 | ||
799 | config MFD_TPS65090 | 796 | config MFD_TPS65090 |
800 | bool "TI TPS65090 Power Management chips" | 797 | bool "TI TPS65090 Power Management chips" |
801 | depends on I2C=y && GENERIC_HARDIRQS | 798 | depends on I2C=y |
802 | select MFD_CORE | 799 | select MFD_CORE |
803 | select REGMAP_I2C | 800 | select REGMAP_I2C |
804 | select REGMAP_IRQ | 801 | select REGMAP_IRQ |
@@ -811,7 +808,7 @@ config MFD_TPS65090 | |||
811 | 808 | ||
812 | config MFD_TPS65217 | 809 | config MFD_TPS65217 |
813 | tristate "TI TPS65217 Power Management / White LED chips" | 810 | tristate "TI TPS65217 Power Management / White LED chips" |
814 | depends on I2C && GENERIC_HARDIRQS | 811 | depends on I2C |
815 | select MFD_CORE | 812 | select MFD_CORE |
816 | select REGMAP_I2C | 813 | select REGMAP_I2C |
817 | help | 814 | help |
@@ -826,7 +823,7 @@ config MFD_TPS65217 | |||
826 | 823 | ||
827 | config MFD_TPS6586X | 824 | config MFD_TPS6586X |
828 | bool "TI TPS6586x Power Management chips" | 825 | bool "TI TPS6586x Power Management chips" |
829 | depends on I2C=y && GENERIC_HARDIRQS | 826 | depends on I2C=y |
830 | select MFD_CORE | 827 | select MFD_CORE |
831 | select REGMAP_I2C | 828 | select REGMAP_I2C |
832 | help | 829 | help |
@@ -841,7 +838,7 @@ config MFD_TPS6586X | |||
841 | 838 | ||
842 | config MFD_TPS65910 | 839 | config MFD_TPS65910 |
843 | bool "TI TPS65910 Power Management chip" | 840 | bool "TI TPS65910 Power Management chip" |
844 | depends on I2C=y && GPIOLIB && GENERIC_HARDIRQS | 841 | depends on I2C=y && GPIOLIB |
845 | select MFD_CORE | 842 | select MFD_CORE |
846 | select REGMAP_I2C | 843 | select REGMAP_I2C |
847 | select REGMAP_IRQ | 844 | select REGMAP_IRQ |
@@ -862,7 +859,7 @@ config MFD_TPS65912_I2C | |||
862 | bool "TI TPS65912 Power Management chip with I2C" | 859 | bool "TI TPS65912 Power Management chip with I2C" |
863 | select MFD_CORE | 860 | select MFD_CORE |
864 | select MFD_TPS65912 | 861 | select MFD_TPS65912 |
865 | depends on I2C=y && GPIOLIB && GENERIC_HARDIRQS | 862 | depends on I2C=y && GPIOLIB |
866 | help | 863 | help |
867 | If you say yes here you get support for the TPS65912 series of | 864 | If you say yes here you get support for the TPS65912 series of |
868 | PM chips with I2C interface. | 865 | PM chips with I2C interface. |
@@ -871,14 +868,14 @@ config MFD_TPS65912_SPI | |||
871 | bool "TI TPS65912 Power Management chip with SPI" | 868 | bool "TI TPS65912 Power Management chip with SPI" |
872 | select MFD_CORE | 869 | select MFD_CORE |
873 | select MFD_TPS65912 | 870 | select MFD_TPS65912 |
874 | depends on SPI_MASTER && GPIOLIB && GENERIC_HARDIRQS | 871 | depends on SPI_MASTER && GPIOLIB |
875 | help | 872 | help |
876 | If you say yes here you get support for the TPS65912 series of | 873 | If you say yes here you get support for the TPS65912 series of |
877 | PM chips with SPI interface. | 874 | PM chips with SPI interface. |
878 | 875 | ||
879 | config MFD_TPS80031 | 876 | config MFD_TPS80031 |
880 | bool "TI TPS80031/TPS80032 Power Management chips" | 877 | bool "TI TPS80031/TPS80032 Power Management chips" |
881 | depends on I2C=y && GENERIC_HARDIRQS | 878 | depends on I2C=y |
882 | select MFD_CORE | 879 | select MFD_CORE |
883 | select REGMAP_I2C | 880 | select REGMAP_I2C |
884 | select REGMAP_IRQ | 881 | select REGMAP_IRQ |
@@ -892,7 +889,7 @@ config MFD_TPS80031 | |||
892 | 889 | ||
893 | config TWL4030_CORE | 890 | config TWL4030_CORE |
894 | bool "TI TWL4030/TWL5030/TWL6030/TPS659x0 Support" | 891 | bool "TI TWL4030/TWL5030/TWL6030/TPS659x0 Support" |
895 | depends on I2C=y && GENERIC_HARDIRQS | 892 | depends on I2C=y |
896 | select IRQ_DOMAIN | 893 | select IRQ_DOMAIN |
897 | select REGMAP_I2C | 894 | select REGMAP_I2C |
898 | help | 895 | help |
@@ -931,13 +928,13 @@ config TWL4030_POWER | |||
931 | 928 | ||
932 | config MFD_TWL4030_AUDIO | 929 | config MFD_TWL4030_AUDIO |
933 | bool "TI TWL4030 Audio" | 930 | bool "TI TWL4030 Audio" |
934 | depends on TWL4030_CORE && GENERIC_HARDIRQS | 931 | depends on TWL4030_CORE |
935 | select MFD_CORE | 932 | select MFD_CORE |
936 | default n | 933 | default n |
937 | 934 | ||
938 | config TWL6040_CORE | 935 | config TWL6040_CORE |
939 | bool "TI TWL6040 audio codec" | 936 | bool "TI TWL6040 audio codec" |
940 | depends on I2C=y && GENERIC_HARDIRQS | 937 | depends on I2C=y |
941 | select MFD_CORE | 938 | select MFD_CORE |
942 | select REGMAP_I2C | 939 | select REGMAP_I2C |
943 | select REGMAP_IRQ | 940 | select REGMAP_IRQ |
@@ -961,7 +958,7 @@ config MENELAUS | |||
961 | 958 | ||
962 | config MFD_WL1273_CORE | 959 | config MFD_WL1273_CORE |
963 | tristate "TI WL1273 FM radio" | 960 | tristate "TI WL1273 FM radio" |
964 | depends on I2C && GENERIC_HARDIRQS | 961 | depends on I2C |
965 | select MFD_CORE | 962 | select MFD_CORE |
966 | default n | 963 | default n |
967 | help | 964 | help |
@@ -974,7 +971,6 @@ config MFD_LM3533 | |||
974 | depends on I2C | 971 | depends on I2C |
975 | select MFD_CORE | 972 | select MFD_CORE |
976 | select REGMAP_I2C | 973 | select REGMAP_I2C |
977 | depends on GENERIC_HARDIRQS | ||
978 | help | 974 | help |
979 | Say yes here to enable support for National Semiconductor / TI | 975 | Say yes here to enable support for National Semiconductor / TI |
980 | LM3533 Lighting Power chips. | 976 | LM3533 Lighting Power chips. |
@@ -996,7 +992,7 @@ config MFD_TIMBERDALE | |||
996 | 992 | ||
997 | config MFD_TC3589X | 993 | config MFD_TC3589X |
998 | bool "Toshiba TC35892 and variants" | 994 | bool "Toshiba TC35892 and variants" |
999 | depends on I2C=y && GENERIC_HARDIRQS | 995 | depends on I2C=y |
1000 | select MFD_CORE | 996 | select MFD_CORE |
1001 | help | 997 | help |
1002 | Support for the Toshiba TC35892 and variants I/O Expander. | 998 | Support for the Toshiba TC35892 and variants I/O Expander. |
@@ -1011,7 +1007,7 @@ config MFD_TMIO | |||
1011 | 1007 | ||
1012 | config MFD_T7L66XB | 1008 | config MFD_T7L66XB |
1013 | bool "Toshiba T7L66XB" | 1009 | bool "Toshiba T7L66XB" |
1014 | depends on ARM && HAVE_CLK && GENERIC_HARDIRQS | 1010 | depends on ARM && HAVE_CLK |
1015 | select MFD_CORE | 1011 | select MFD_CORE |
1016 | select MFD_TMIO | 1012 | select MFD_TMIO |
1017 | help | 1013 | help |
@@ -1036,7 +1032,7 @@ config MFD_TC6393XB | |||
1036 | 1032 | ||
1037 | config MFD_VX855 | 1033 | config MFD_VX855 |
1038 | tristate "VIA VX855/VX875 integrated south bridge" | 1034 | tristate "VIA VX855/VX875 integrated south bridge" |
1039 | depends on PCI && GENERIC_HARDIRQS | 1035 | depends on PCI |
1040 | select MFD_CORE | 1036 | select MFD_CORE |
1041 | help | 1037 | help |
1042 | Say yes here to enable support for various functions of the | 1038 | Say yes here to enable support for various functions of the |
@@ -1054,7 +1050,7 @@ config MFD_ARIZONA_I2C | |||
1054 | select MFD_ARIZONA | 1050 | select MFD_ARIZONA |
1055 | select MFD_CORE | 1051 | select MFD_CORE |
1056 | select REGMAP_I2C | 1052 | select REGMAP_I2C |
1057 | depends on I2C && GENERIC_HARDIRQS | 1053 | depends on I2C |
1058 | help | 1054 | help |
1059 | Support for the Wolfson Microelectronics Arizona platform audio SoC | 1055 | Support for the Wolfson Microelectronics Arizona platform audio SoC |
1060 | core functionality controlled via I2C. | 1056 | core functionality controlled via I2C. |
@@ -1064,7 +1060,7 @@ config MFD_ARIZONA_SPI | |||
1064 | select MFD_ARIZONA | 1060 | select MFD_ARIZONA |
1065 | select MFD_CORE | 1061 | select MFD_CORE |
1066 | select REGMAP_SPI | 1062 | select REGMAP_SPI |
1067 | depends on SPI_MASTER && GENERIC_HARDIRQS | 1063 | depends on SPI_MASTER |
1068 | help | 1064 | help |
1069 | Support for the Wolfson Microelectronics Arizona platform audio SoC | 1065 | Support for the Wolfson Microelectronics Arizona platform audio SoC |
1070 | core functionality controlled via I2C. | 1066 | core functionality controlled via I2C. |
@@ -1090,7 +1086,7 @@ config MFD_WM8997 | |||
1090 | config MFD_WM8400 | 1086 | config MFD_WM8400 |
1091 | bool "Wolfson Microelectronics WM8400" | 1087 | bool "Wolfson Microelectronics WM8400" |
1092 | select MFD_CORE | 1088 | select MFD_CORE |
1093 | depends on I2C=y && GENERIC_HARDIRQS | 1089 | depends on I2C=y |
1094 | select REGMAP_I2C | 1090 | select REGMAP_I2C |
1095 | help | 1091 | help |
1096 | Support for the Wolfson Microelecronics WM8400 PMIC and audio | 1092 | Support for the Wolfson Microelecronics WM8400 PMIC and audio |
@@ -1100,7 +1096,6 @@ config MFD_WM8400 | |||
1100 | 1096 | ||
1101 | config MFD_WM831X | 1097 | config MFD_WM831X |
1102 | bool | 1098 | bool |
1103 | depends on GENERIC_HARDIRQS | ||
1104 | 1099 | ||
1105 | config MFD_WM831X_I2C | 1100 | config MFD_WM831X_I2C |
1106 | bool "Wolfson Microelectronics WM831x/2x PMICs with I2C" | 1101 | bool "Wolfson Microelectronics WM831x/2x PMICs with I2C" |
@@ -1108,7 +1103,7 @@ config MFD_WM831X_I2C | |||
1108 | select MFD_WM831X | 1103 | select MFD_WM831X |
1109 | select REGMAP_I2C | 1104 | select REGMAP_I2C |
1110 | select IRQ_DOMAIN | 1105 | select IRQ_DOMAIN |
1111 | depends on I2C=y && GENERIC_HARDIRQS | 1106 | depends on I2C=y |
1112 | help | 1107 | help |
1113 | Support for the Wolfson Microelecronics WM831x and WM832x PMICs | 1108 | Support for the Wolfson Microelecronics WM831x and WM832x PMICs |
1114 | when controlled using I2C. This driver provides common support | 1109 | when controlled using I2C. This driver provides common support |
@@ -1121,7 +1116,7 @@ config MFD_WM831X_SPI | |||
1121 | select MFD_WM831X | 1116 | select MFD_WM831X |
1122 | select REGMAP_SPI | 1117 | select REGMAP_SPI |
1123 | select IRQ_DOMAIN | 1118 | select IRQ_DOMAIN |
1124 | depends on SPI_MASTER && GENERIC_HARDIRQS | 1119 | depends on SPI_MASTER |
1125 | help | 1120 | help |
1126 | Support for the Wolfson Microelecronics WM831x and WM832x PMICs | 1121 | Support for the Wolfson Microelecronics WM831x and WM832x PMICs |
1127 | when controlled using SPI. This driver provides common support | 1122 | when controlled using SPI. This driver provides common support |
@@ -1130,12 +1125,11 @@ config MFD_WM831X_SPI | |||
1130 | 1125 | ||
1131 | config MFD_WM8350 | 1126 | config MFD_WM8350 |
1132 | bool | 1127 | bool |
1133 | depends on GENERIC_HARDIRQS | ||
1134 | 1128 | ||
1135 | config MFD_WM8350_I2C | 1129 | config MFD_WM8350_I2C |
1136 | bool "Wolfson Microelectronics WM8350 with I2C" | 1130 | bool "Wolfson Microelectronics WM8350 with I2C" |
1137 | select MFD_WM8350 | 1131 | select MFD_WM8350 |
1138 | depends on I2C=y && GENERIC_HARDIRQS | 1132 | depends on I2C=y |
1139 | help | 1133 | help |
1140 | The WM8350 is an integrated audio and power management | 1134 | The WM8350 is an integrated audio and power management |
1141 | subsystem with watchdog and RTC functionality for embedded | 1135 | subsystem with watchdog and RTC functionality for embedded |
@@ -1148,7 +1142,7 @@ config MFD_WM8994 | |||
1148 | select MFD_CORE | 1142 | select MFD_CORE |
1149 | select REGMAP_I2C | 1143 | select REGMAP_I2C |
1150 | select REGMAP_IRQ | 1144 | select REGMAP_IRQ |
1151 | depends on I2C=y && GENERIC_HARDIRQS | 1145 | depends on I2C=y |
1152 | help | 1146 | help |
1153 | The WM8994 is a highly integrated hi-fi CODEC designed for | 1147 | The WM8994 is a highly integrated hi-fi CODEC designed for |
1154 | smartphone applicatiosn. As well as audio functionality it | 1148 | smartphone applicatiosn. As well as audio functionality it |
diff --git a/drivers/misc/cb710/Kconfig b/drivers/misc/cb710/Kconfig index 5acb9c5b49c4..22429b8b1068 100644 --- a/drivers/misc/cb710/Kconfig +++ b/drivers/misc/cb710/Kconfig | |||
@@ -1,6 +1,6 @@ | |||
1 | config CB710_CORE | 1 | config CB710_CORE |
2 | tristate "ENE CB710/720 Flash memory card reader support" | 2 | tristate "ENE CB710/720 Flash memory card reader support" |
3 | depends on PCI && GENERIC_HARDIRQS | 3 | depends on PCI |
4 | help | 4 | help |
5 | This option enables support for PCI ENE CB710/720 Flash memory card | 5 | This option enables support for PCI ENE CB710/720 Flash memory card |
6 | reader found in some laptops (ie. some versions of HP Compaq nx9500). | 6 | reader found in some laptops (ie. some versions of HP Compaq nx9500). |
diff --git a/drivers/mmc/host/Kconfig b/drivers/mmc/host/Kconfig index b7fd5ab80a48..7fc5099e44b2 100644 --- a/drivers/mmc/host/Kconfig +++ b/drivers/mmc/host/Kconfig | |||
@@ -487,7 +487,7 @@ config MMC_SDHI | |||
487 | 487 | ||
488 | config MMC_CB710 | 488 | config MMC_CB710 |
489 | tristate "ENE CB710 MMC/SD Interface support" | 489 | tristate "ENE CB710 MMC/SD Interface support" |
490 | depends on PCI && GENERIC_HARDIRQS | 490 | depends on PCI |
491 | select CB710_CORE | 491 | select CB710_CORE |
492 | help | 492 | help |
493 | This option enables support for MMC/SD part of ENE CB710/720 Flash | 493 | This option enables support for MMC/SD part of ENE CB710/720 Flash |
diff --git a/drivers/net/ethernet/cadence/Kconfig b/drivers/net/ethernet/cadence/Kconfig index 8030cc0396fd..751d5c7b312d 100644 --- a/drivers/net/ethernet/cadence/Kconfig +++ b/drivers/net/ethernet/cadence/Kconfig | |||
@@ -22,7 +22,7 @@ if NET_CADENCE | |||
22 | 22 | ||
23 | config ARM_AT91_ETHER | 23 | config ARM_AT91_ETHER |
24 | tristate "AT91RM9200 Ethernet support" | 24 | tristate "AT91RM9200 Ethernet support" |
25 | depends on GENERIC_HARDIRQS && HAS_DMA | 25 | depends on HAS_DMA |
26 | select MACB | 26 | select MACB |
27 | ---help--- | 27 | ---help--- |
28 | If you wish to compile a kernel for the AT91RM9200 and enable | 28 | If you wish to compile a kernel for the AT91RM9200 and enable |
diff --git a/drivers/net/wireless/p54/Kconfig b/drivers/net/wireless/p54/Kconfig index 15ea36b51a66..cdafb8c73e82 100644 --- a/drivers/net/wireless/p54/Kconfig +++ b/drivers/net/wireless/p54/Kconfig | |||
@@ -41,7 +41,7 @@ config P54_PCI | |||
41 | 41 | ||
42 | config P54_SPI | 42 | config P54_SPI |
43 | tristate "Prism54 SPI (stlc45xx) support" | 43 | tristate "Prism54 SPI (stlc45xx) support" |
44 | depends on P54_COMMON && SPI_MASTER && GENERIC_HARDIRQS | 44 | depends on P54_COMMON && SPI_MASTER |
45 | ---help--- | 45 | ---help--- |
46 | This driver is for stlc4550 or stlc4560 based wireless chips | 46 | This driver is for stlc4550 or stlc4560 based wireless chips |
47 | such as Nokia's N800/N810 Portable Internet Tablet. | 47 | such as Nokia's N800/N810 Portable Internet Tablet. |
diff --git a/drivers/net/wireless/ti/wl1251/Kconfig b/drivers/net/wireless/ti/wl1251/Kconfig index 8fec4ed36ac2..477a206c098e 100644 --- a/drivers/net/wireless/ti/wl1251/Kconfig +++ b/drivers/net/wireless/ti/wl1251/Kconfig | |||
@@ -1,6 +1,6 @@ | |||
1 | menuconfig WL1251 | 1 | menuconfig WL1251 |
2 | tristate "TI wl1251 driver support" | 2 | tristate "TI wl1251 driver support" |
3 | depends on MAC80211 && GENERIC_HARDIRQS | 3 | depends on MAC80211 |
4 | select FW_LOADER | 4 | select FW_LOADER |
5 | select CRC7 | 5 | select CRC7 |
6 | ---help--- | 6 | ---help--- |
diff --git a/drivers/net/wireless/ti/wlcore/Kconfig b/drivers/net/wireless/ti/wlcore/Kconfig index 2b832825c3d4..7c099542b214 100644 --- a/drivers/net/wireless/ti/wlcore/Kconfig +++ b/drivers/net/wireless/ti/wlcore/Kconfig | |||
@@ -1,6 +1,6 @@ | |||
1 | config WLCORE | 1 | config WLCORE |
2 | tristate "TI wlcore support" | 2 | tristate "TI wlcore support" |
3 | depends on WL_TI && GENERIC_HARDIRQS && MAC80211 | 3 | depends on WL_TI && MAC80211 |
4 | select FW_LOADER | 4 | select FW_LOADER |
5 | ---help--- | 5 | ---help--- |
6 | This module contains the main code for TI WLAN chips. It abstracts | 6 | This module contains the main code for TI WLAN chips. It abstracts |
diff --git a/drivers/pci/msi.c b/drivers/pci/msi.c index b35f93c232cf..d5f90d6383bc 100644 --- a/drivers/pci/msi.c +++ b/drivers/pci/msi.c | |||
@@ -30,7 +30,6 @@ static int pci_msi_enable = 1; | |||
30 | 30 | ||
31 | /* Arch hooks */ | 31 | /* Arch hooks */ |
32 | 32 | ||
33 | #if defined(CONFIG_GENERIC_HARDIRQS) | ||
34 | int __weak arch_setup_msi_irq(struct pci_dev *dev, struct msi_desc *desc) | 33 | int __weak arch_setup_msi_irq(struct pci_dev *dev, struct msi_desc *desc) |
35 | { | 34 | { |
36 | struct msi_chip *chip = dev->bus->msi; | 35 | struct msi_chip *chip = dev->bus->msi; |
@@ -67,21 +66,6 @@ int __weak arch_msi_check_device(struct pci_dev *dev, int nvec, int type) | |||
67 | 66 | ||
68 | return chip->check_device(chip, dev, nvec, type); | 67 | return chip->check_device(chip, dev, nvec, type); |
69 | } | 68 | } |
70 | #else | ||
71 | int __weak arch_setup_msi_irq(struct pci_dev *dev, struct msi_desc *desc) | ||
72 | { | ||
73 | return -ENOSYS; | ||
74 | } | ||
75 | |||
76 | void __weak arch_teardown_msi_irq(unsigned int irq) | ||
77 | { | ||
78 | } | ||
79 | |||
80 | int __weak arch_msi_check_device(struct pci_dev *dev, int nvec, int type) | ||
81 | { | ||
82 | return 0; | ||
83 | } | ||
84 | #endif /* CONFIG_GENERIC_HARDIRQS */ | ||
85 | 69 | ||
86 | int __weak arch_setup_msi_irqs(struct pci_dev *dev, int nvec, int type) | 70 | int __weak arch_setup_msi_irqs(struct pci_dev *dev, int nvec, int type) |
87 | { | 71 | { |
@@ -245,8 +229,6 @@ static void msix_mask_irq(struct msi_desc *desc, u32 flag) | |||
245 | desc->masked = __msix_mask_irq(desc, flag); | 229 | desc->masked = __msix_mask_irq(desc, flag); |
246 | } | 230 | } |
247 | 231 | ||
248 | #ifdef CONFIG_GENERIC_HARDIRQS | ||
249 | |||
250 | static void msi_set_mask_bit(struct irq_data *data, u32 flag) | 232 | static void msi_set_mask_bit(struct irq_data *data, u32 flag) |
251 | { | 233 | { |
252 | struct msi_desc *desc = irq_data_get_msi(data); | 234 | struct msi_desc *desc = irq_data_get_msi(data); |
@@ -270,8 +252,6 @@ void unmask_msi_irq(struct irq_data *data) | |||
270 | msi_set_mask_bit(data, 0); | 252 | msi_set_mask_bit(data, 0); |
271 | } | 253 | } |
272 | 254 | ||
273 | #endif /* CONFIG_GENERIC_HARDIRQS */ | ||
274 | |||
275 | void __read_msi_msg(struct msi_desc *entry, struct msi_msg *msg) | 255 | void __read_msi_msg(struct msi_desc *entry, struct msi_msg *msg) |
276 | { | 256 | { |
277 | BUG_ON(entry->dev->current_state != PCI_D0); | 257 | BUG_ON(entry->dev->current_state != PCI_D0); |
@@ -382,10 +362,8 @@ static void free_msi_irqs(struct pci_dev *dev) | |||
382 | nvec = entry->nvec_used; | 362 | nvec = entry->nvec_used; |
383 | else | 363 | else |
384 | nvec = 1 << entry->msi_attrib.multiple; | 364 | nvec = 1 << entry->msi_attrib.multiple; |
385 | #ifdef CONFIG_GENERIC_HARDIRQS | ||
386 | for (i = 0; i < nvec; i++) | 365 | for (i = 0; i < nvec; i++) |
387 | BUG_ON(irq_has_action(entry->irq + i)); | 366 | BUG_ON(irq_has_action(entry->irq + i)); |
388 | #endif | ||
389 | } | 367 | } |
390 | 368 | ||
391 | arch_teardown_msi_irqs(dev); | 369 | arch_teardown_msi_irqs(dev); |
diff --git a/drivers/power/Kconfig b/drivers/power/Kconfig index bb49ab684f9a..e6f92b450913 100644 --- a/drivers/power/Kconfig +++ b/drivers/power/Kconfig | |||
@@ -269,7 +269,6 @@ config CHARGER_ISP1704 | |||
269 | 269 | ||
270 | config CHARGER_MAX8903 | 270 | config CHARGER_MAX8903 |
271 | tristate "MAX8903 Battery DC-DC Charger for USB and Adapter Power" | 271 | tristate "MAX8903 Battery DC-DC Charger for USB and Adapter Power" |
272 | depends on GENERIC_HARDIRQS | ||
273 | help | 272 | help |
274 | Say Y to enable support for the MAX8903 DC-DC charger and sysfs. | 273 | Say Y to enable support for the MAX8903 DC-DC charger and sysfs. |
275 | The driver supports controlling charger-enable and current-limit | 274 | The driver supports controlling charger-enable and current-limit |
@@ -370,7 +369,7 @@ config AB8500_BM | |||
370 | 369 | ||
371 | config BATTERY_GOLDFISH | 370 | config BATTERY_GOLDFISH |
372 | tristate "Goldfish battery driver" | 371 | tristate "Goldfish battery driver" |
373 | depends on GENERIC_HARDIRQS && (GOLDFISH || COMPILE_TEST) | 372 | depends on GOLDFISH || COMPILE_TEST |
374 | help | 373 | help |
375 | Say Y to enable support for the battery and AC power in the | 374 | Say Y to enable support for the battery and AC power in the |
376 | Goldfish emulator. | 375 | Goldfish emulator. |
diff --git a/drivers/pps/clients/Kconfig b/drivers/pps/clients/Kconfig index 6efd9b60d8ff..0c9f2805d076 100644 --- a/drivers/pps/clients/Kconfig +++ b/drivers/pps/clients/Kconfig | |||
@@ -31,7 +31,7 @@ config PPS_CLIENT_PARPORT | |||
31 | 31 | ||
32 | config PPS_CLIENT_GPIO | 32 | config PPS_CLIENT_GPIO |
33 | tristate "PPS client using GPIO" | 33 | tristate "PPS client using GPIO" |
34 | depends on PPS && GENERIC_HARDIRQS | 34 | depends on PPS |
35 | help | 35 | help |
36 | If you say yes here you get support for a PPS source using | 36 | If you say yes here you get support for a PPS source using |
37 | GPIO. To be useful you must also register a platform device | 37 | GPIO. To be useful you must also register a platform device |
diff --git a/drivers/spi/Kconfig b/drivers/spi/Kconfig index 0170d4c4a8a3..b9c53cc40e1f 100644 --- a/drivers/spi/Kconfig +++ b/drivers/spi/Kconfig | |||
@@ -55,7 +55,6 @@ comment "SPI Master Controller Drivers" | |||
55 | 55 | ||
56 | config SPI_ALTERA | 56 | config SPI_ALTERA |
57 | tristate "Altera SPI Controller" | 57 | tristate "Altera SPI Controller" |
58 | depends on GENERIC_HARDIRQS | ||
59 | select SPI_BITBANG | 58 | select SPI_BITBANG |
60 | help | 59 | help |
61 | This is the driver for the Altera SPI Controller. | 60 | This is the driver for the Altera SPI Controller. |
@@ -358,7 +357,7 @@ config SPI_PXA2XX_DMA | |||
358 | 357 | ||
359 | config SPI_PXA2XX | 358 | config SPI_PXA2XX |
360 | tristate "PXA2xx SSP SPI master" | 359 | tristate "PXA2xx SSP SPI master" |
361 | depends on (ARCH_PXA || PCI || ACPI) && GENERIC_HARDIRQS | 360 | depends on (ARCH_PXA || PCI || ACPI) |
362 | select PXA_SSP if ARCH_PXA | 361 | select PXA_SSP if ARCH_PXA |
363 | help | 362 | help |
364 | This enables using a PXA2xx or Sodaville SSP port as a SPI master | 363 | This enables using a PXA2xx or Sodaville SSP port as a SPI master |
diff --git a/drivers/tty/serial/Kconfig b/drivers/tty/serial/Kconfig index 47c6e7b9e150..febd45cd5027 100644 --- a/drivers/tty/serial/Kconfig +++ b/drivers/tty/serial/Kconfig | |||
@@ -5,7 +5,7 @@ | |||
5 | if TTY | 5 | if TTY |
6 | 6 | ||
7 | menu "Serial drivers" | 7 | menu "Serial drivers" |
8 | depends on HAS_IOMEM && GENERIC_HARDIRQS | 8 | depends on HAS_IOMEM |
9 | 9 | ||
10 | source "drivers/tty/serial/8250/Kconfig" | 10 | source "drivers/tty/serial/8250/Kconfig" |
11 | 11 | ||
diff --git a/drivers/usb/dwc3/Kconfig b/drivers/usb/dwc3/Kconfig index f969ea266acb..b870872e020f 100644 --- a/drivers/usb/dwc3/Kconfig +++ b/drivers/usb/dwc3/Kconfig | |||
@@ -1,6 +1,6 @@ | |||
1 | config USB_DWC3 | 1 | config USB_DWC3 |
2 | tristate "DesignWare USB3 DRD Core Support" | 2 | tristate "DesignWare USB3 DRD Core Support" |
3 | depends on (USB || USB_GADGET) && GENERIC_HARDIRQS && HAS_DMA | 3 | depends on (USB || USB_GADGET) && HAS_DMA |
4 | depends on EXTCON | 4 | depends on EXTCON |
5 | select USB_XHCI_PLATFORM if USB_SUPPORT && USB_XHCI_HCD | 5 | select USB_XHCI_PLATFORM if USB_SUPPORT && USB_XHCI_HCD |
6 | help | 6 | help |
diff --git a/drivers/usb/gadget/Kconfig b/drivers/usb/gadget/Kconfig index 30e2dd8a1f2c..48cddf3cd6b8 100644 --- a/drivers/usb/gadget/Kconfig +++ b/drivers/usb/gadget/Kconfig | |||
@@ -313,7 +313,7 @@ config USB_S3C_HSUDC | |||
313 | 313 | ||
314 | config USB_MV_UDC | 314 | config USB_MV_UDC |
315 | tristate "Marvell USB2.0 Device Controller" | 315 | tristate "Marvell USB2.0 Device Controller" |
316 | depends on GENERIC_HARDIRQS && HAS_DMA | 316 | depends on HAS_DMA |
317 | help | 317 | help |
318 | Marvell Socs (including PXA and MMP series) include a high speed | 318 | Marvell Socs (including PXA and MMP series) include a high speed |
319 | USB2.0 OTG controller, which can be configured as high speed or | 319 | USB2.0 OTG controller, which can be configured as high speed or |
@@ -425,7 +425,7 @@ config USB_GOKU | |||
425 | 425 | ||
426 | config USB_EG20T | 426 | config USB_EG20T |
427 | tristate "Intel EG20T PCH/LAPIS Semiconductor IOH(ML7213/ML7831) UDC" | 427 | tristate "Intel EG20T PCH/LAPIS Semiconductor IOH(ML7213/ML7831) UDC" |
428 | depends on PCI && GENERIC_HARDIRQS | 428 | depends on PCI |
429 | help | 429 | help |
430 | This is a USB device driver for EG20T PCH. | 430 | This is a USB device driver for EG20T PCH. |
431 | EG20T PCH is the platform controller hub that is used in Intel's | 431 | EG20T PCH is the platform controller hub that is used in Intel's |
diff --git a/drivers/usb/host/Kconfig b/drivers/usb/host/Kconfig index 5be0326aae38..b3f20d7f15de 100644 --- a/drivers/usb/host/Kconfig +++ b/drivers/usb/host/Kconfig | |||
@@ -278,7 +278,6 @@ endif # USB_EHCI_HCD | |||
278 | 278 | ||
279 | config USB_OXU210HP_HCD | 279 | config USB_OXU210HP_HCD |
280 | tristate "OXU210HP HCD support" | 280 | tristate "OXU210HP HCD support" |
281 | depends on GENERIC_HARDIRQS | ||
282 | ---help--- | 281 | ---help--- |
283 | The OXU210HP is an USB host/OTG/device controller. Enable this | 282 | The OXU210HP is an USB host/OTG/device controller. Enable this |
284 | option if your board has this chip. If unsure, say N. | 283 | option if your board has this chip. If unsure, say N. |
diff --git a/drivers/usb/musb/Kconfig b/drivers/usb/musb/Kconfig index c64ee09a7c0e..c258a97ef1b0 100644 --- a/drivers/usb/musb/Kconfig +++ b/drivers/usb/musb/Kconfig | |||
@@ -71,7 +71,6 @@ config USB_MUSB_DA8XX | |||
71 | 71 | ||
72 | config USB_MUSB_TUSB6010 | 72 | config USB_MUSB_TUSB6010 |
73 | tristate "TUSB6010" | 73 | tristate "TUSB6010" |
74 | depends on GENERIC_HARDIRQS | ||
75 | 74 | ||
76 | config USB_MUSB_OMAP2PLUS | 75 | config USB_MUSB_OMAP2PLUS |
77 | tristate "OMAP2430 and onwards" | 76 | tristate "OMAP2430 and onwards" |
diff --git a/drivers/usb/renesas_usbhs/Kconfig b/drivers/usb/renesas_usbhs/Kconfig index 019bf7e49ee6..1c4195abc108 100644 --- a/drivers/usb/renesas_usbhs/Kconfig +++ b/drivers/usb/renesas_usbhs/Kconfig | |||
@@ -4,7 +4,7 @@ | |||
4 | 4 | ||
5 | config USB_RENESAS_USBHS | 5 | config USB_RENESAS_USBHS |
6 | tristate 'Renesas USBHS controller' | 6 | tristate 'Renesas USBHS controller' |
7 | depends on USB_GADGET && GENERIC_HARDIRQS | 7 | depends on USB_GADGET |
8 | default n | 8 | default n |
9 | help | 9 | help |
10 | Renesas USBHS is a discrete USB host and peripheral controller chip | 10 | Renesas USBHS is a discrete USB host and peripheral controller chip |
diff --git a/drivers/w1/masters/Kconfig b/drivers/w1/masters/Kconfig index 2bd1257dcc1c..efc7f075fcbe 100644 --- a/drivers/w1/masters/Kconfig +++ b/drivers/w1/masters/Kconfig | |||
@@ -42,7 +42,7 @@ config W1_MASTER_MXC | |||
42 | 42 | ||
43 | config W1_MASTER_DS1WM | 43 | config W1_MASTER_DS1WM |
44 | tristate "Maxim DS1WM 1-wire busmaster" | 44 | tristate "Maxim DS1WM 1-wire busmaster" |
45 | depends on W1 && GENERIC_HARDIRQS | 45 | depends on W1 |
46 | help | 46 | help |
47 | Say Y here to enable the DS1WM 1-wire driver, such as that | 47 | Say Y here to enable the DS1WM 1-wire driver, such as that |
48 | in HP iPAQ devices like h5xxx, h2200, and ASIC3-based like | 48 | in HP iPAQ devices like h5xxx, h2200, and ASIC3-based like |
diff --git a/include/linux/cpu_rmap.h b/include/linux/cpu_rmap.h index 1739510d8994..bdd18caa6c94 100644 --- a/include/linux/cpu_rmap.h +++ b/include/linux/cpu_rmap.h | |||
@@ -52,8 +52,6 @@ static inline void *cpu_rmap_lookup_obj(struct cpu_rmap *rmap, unsigned int cpu) | |||
52 | return rmap->obj[rmap->near[cpu].index]; | 52 | return rmap->obj[rmap->near[cpu].index]; |
53 | } | 53 | } |
54 | 54 | ||
55 | #ifdef CONFIG_GENERIC_HARDIRQS | ||
56 | |||
57 | /** | 55 | /** |
58 | * alloc_irq_cpu_rmap - allocate CPU affinity reverse-map for IRQs | 56 | * alloc_irq_cpu_rmap - allocate CPU affinity reverse-map for IRQs |
59 | * @size: Number of objects to be mapped | 57 | * @size: Number of objects to be mapped |
@@ -68,5 +66,4 @@ extern void free_irq_cpu_rmap(struct cpu_rmap *rmap); | |||
68 | 66 | ||
69 | extern int irq_cpu_rmap_add(struct cpu_rmap *rmap, int irq); | 67 | extern int irq_cpu_rmap_add(struct cpu_rmap *rmap, int irq); |
70 | 68 | ||
71 | #endif | ||
72 | #endif /* __LINUX_CPU_RMAP_H */ | 69 | #endif /* __LINUX_CPU_RMAP_H */ |
diff --git a/include/linux/hardirq.h b/include/linux/hardirq.h index ccfe17c5c8da..1e041063b226 100644 --- a/include/linux/hardirq.h +++ b/include/linux/hardirq.h | |||
@@ -7,11 +7,7 @@ | |||
7 | #include <linux/vtime.h> | 7 | #include <linux/vtime.h> |
8 | 8 | ||
9 | 9 | ||
10 | #if defined(CONFIG_SMP) || defined(CONFIG_GENERIC_HARDIRQS) | ||
11 | extern void synchronize_irq(unsigned int irq); | 10 | extern void synchronize_irq(unsigned int irq); |
12 | #else | ||
13 | # define synchronize_irq(irq) barrier() | ||
14 | #endif | ||
15 | 11 | ||
16 | #if defined(CONFIG_TINY_RCU) | 12 | #if defined(CONFIG_TINY_RCU) |
17 | 13 | ||
diff --git a/include/linux/interrupt.h b/include/linux/interrupt.h index 5fa5afeeb759..5e865b554940 100644 --- a/include/linux/interrupt.h +++ b/include/linux/interrupt.h | |||
@@ -120,7 +120,6 @@ struct irqaction { | |||
120 | 120 | ||
121 | extern irqreturn_t no_action(int cpl, void *dev_id); | 121 | extern irqreturn_t no_action(int cpl, void *dev_id); |
122 | 122 | ||
123 | #ifdef CONFIG_GENERIC_HARDIRQS | ||
124 | extern int __must_check | 123 | extern int __must_check |
125 | request_threaded_irq(unsigned int irq, irq_handler_t handler, | 124 | request_threaded_irq(unsigned int irq, irq_handler_t handler, |
126 | irq_handler_t thread_fn, | 125 | irq_handler_t thread_fn, |
@@ -140,40 +139,6 @@ request_any_context_irq(unsigned int irq, irq_handler_t handler, | |||
140 | extern int __must_check | 139 | extern int __must_check |
141 | request_percpu_irq(unsigned int irq, irq_handler_t handler, | 140 | request_percpu_irq(unsigned int irq, irq_handler_t handler, |
142 | const char *devname, void __percpu *percpu_dev_id); | 141 | const char *devname, void __percpu *percpu_dev_id); |
143 | #else | ||
144 | |||
145 | extern int __must_check | ||
146 | request_irq(unsigned int irq, irq_handler_t handler, unsigned long flags, | ||
147 | const char *name, void *dev); | ||
148 | |||
149 | /* | ||
150 | * Special function to avoid ifdeffery in kernel/irq/devres.c which | ||
151 | * gets magically built by GENERIC_HARDIRQS=n architectures (sparc, | ||
152 | * m68k). I really love these $@%#!* obvious Makefile references: | ||
153 | * ../../../kernel/irq/devres.o | ||
154 | */ | ||
155 | static inline int __must_check | ||
156 | request_threaded_irq(unsigned int irq, irq_handler_t handler, | ||
157 | irq_handler_t thread_fn, | ||
158 | unsigned long flags, const char *name, void *dev) | ||
159 | { | ||
160 | return request_irq(irq, handler, flags, name, dev); | ||
161 | } | ||
162 | |||
163 | static inline int __must_check | ||
164 | request_any_context_irq(unsigned int irq, irq_handler_t handler, | ||
165 | unsigned long flags, const char *name, void *dev_id) | ||
166 | { | ||
167 | return request_irq(irq, handler, flags, name, dev_id); | ||
168 | } | ||
169 | |||
170 | static inline int __must_check | ||
171 | request_percpu_irq(unsigned int irq, irq_handler_t handler, | ||
172 | const char *devname, void __percpu *percpu_dev_id) | ||
173 | { | ||
174 | return request_irq(irq, handler, 0, devname, percpu_dev_id); | ||
175 | } | ||
176 | #endif | ||
177 | 142 | ||
178 | extern void free_irq(unsigned int, void *); | 143 | extern void free_irq(unsigned int, void *); |
179 | extern void free_percpu_irq(unsigned int, void __percpu *); | 144 | extern void free_percpu_irq(unsigned int, void __percpu *); |
@@ -221,7 +186,6 @@ extern void enable_irq(unsigned int irq); | |||
221 | extern void enable_percpu_irq(unsigned int irq, unsigned int type); | 186 | extern void enable_percpu_irq(unsigned int irq, unsigned int type); |
222 | 187 | ||
223 | /* The following three functions are for the core kernel use only. */ | 188 | /* The following three functions are for the core kernel use only. */ |
224 | #ifdef CONFIG_GENERIC_HARDIRQS | ||
225 | extern void suspend_device_irqs(void); | 189 | extern void suspend_device_irqs(void); |
226 | extern void resume_device_irqs(void); | 190 | extern void resume_device_irqs(void); |
227 | #ifdef CONFIG_PM_SLEEP | 191 | #ifdef CONFIG_PM_SLEEP |
@@ -229,13 +193,8 @@ extern int check_wakeup_irqs(void); | |||
229 | #else | 193 | #else |
230 | static inline int check_wakeup_irqs(void) { return 0; } | 194 | static inline int check_wakeup_irqs(void) { return 0; } |
231 | #endif | 195 | #endif |
232 | #else | ||
233 | static inline void suspend_device_irqs(void) { }; | ||
234 | static inline void resume_device_irqs(void) { }; | ||
235 | static inline int check_wakeup_irqs(void) { return 0; } | ||
236 | #endif | ||
237 | 196 | ||
238 | #if defined(CONFIG_SMP) && defined(CONFIG_GENERIC_HARDIRQS) | 197 | #if defined(CONFIG_SMP) |
239 | 198 | ||
240 | extern cpumask_var_t irq_default_affinity; | 199 | extern cpumask_var_t irq_default_affinity; |
241 | 200 | ||
@@ -287,9 +246,8 @@ static inline int irq_set_affinity_hint(unsigned int irq, | |||
287 | { | 246 | { |
288 | return -EINVAL; | 247 | return -EINVAL; |
289 | } | 248 | } |
290 | #endif /* CONFIG_SMP && CONFIG_GENERIC_HARDIRQS */ | 249 | #endif /* CONFIG_SMP */ |
291 | 250 | ||
292 | #ifdef CONFIG_GENERIC_HARDIRQS | ||
293 | /* | 251 | /* |
294 | * Special lockdep variants of irq disabling/enabling. | 252 | * Special lockdep variants of irq disabling/enabling. |
295 | * These should be used for locking constructs that | 253 | * These should be used for locking constructs that |
@@ -354,33 +312,6 @@ static inline int disable_irq_wake(unsigned int irq) | |||
354 | return irq_set_irq_wake(irq, 0); | 312 | return irq_set_irq_wake(irq, 0); |
355 | } | 313 | } |
356 | 314 | ||
357 | #else /* !CONFIG_GENERIC_HARDIRQS */ | ||
358 | /* | ||
359 | * NOTE: non-genirq architectures, if they want to support the lock | ||
360 | * validator need to define the methods below in their asm/irq.h | ||
361 | * files, under an #ifdef CONFIG_LOCKDEP section. | ||
362 | */ | ||
363 | #ifndef CONFIG_LOCKDEP | ||
364 | # define disable_irq_nosync_lockdep(irq) disable_irq_nosync(irq) | ||
365 | # define disable_irq_nosync_lockdep_irqsave(irq, flags) \ | ||
366 | disable_irq_nosync(irq) | ||
367 | # define disable_irq_lockdep(irq) disable_irq(irq) | ||
368 | # define enable_irq_lockdep(irq) enable_irq(irq) | ||
369 | # define enable_irq_lockdep_irqrestore(irq, flags) \ | ||
370 | enable_irq(irq) | ||
371 | # endif | ||
372 | |||
373 | static inline int enable_irq_wake(unsigned int irq) | ||
374 | { | ||
375 | return 0; | ||
376 | } | ||
377 | |||
378 | static inline int disable_irq_wake(unsigned int irq) | ||
379 | { | ||
380 | return 0; | ||
381 | } | ||
382 | #endif /* CONFIG_GENERIC_HARDIRQS */ | ||
383 | |||
384 | 315 | ||
385 | #ifdef CONFIG_IRQ_FORCED_THREADING | 316 | #ifdef CONFIG_IRQ_FORCED_THREADING |
386 | extern bool force_irqthreads; | 317 | extern bool force_irqthreads; |
@@ -655,7 +586,7 @@ void tasklet_hrtimer_cancel(struct tasklet_hrtimer *ttimer) | |||
655 | * if more than one irq occurred. | 586 | * if more than one irq occurred. |
656 | */ | 587 | */ |
657 | 588 | ||
658 | #if defined(CONFIG_GENERIC_HARDIRQS) && !defined(CONFIG_GENERIC_IRQ_PROBE) | 589 | #if !defined(CONFIG_GENERIC_IRQ_PROBE) |
659 | static inline unsigned long probe_irq_on(void) | 590 | static inline unsigned long probe_irq_on(void) |
660 | { | 591 | { |
661 | return 0; | 592 | return 0; |
diff --git a/include/linux/irq.h b/include/linux/irq.h index f04d3ba335cb..56bb0dc8b7d4 100644 --- a/include/linux/irq.h +++ b/include/linux/irq.h | |||
@@ -382,8 +382,6 @@ extern void irq_cpu_online(void); | |||
382 | extern void irq_cpu_offline(void); | 382 | extern void irq_cpu_offline(void); |
383 | extern int __irq_set_affinity_locked(struct irq_data *data, const struct cpumask *cpumask); | 383 | extern int __irq_set_affinity_locked(struct irq_data *data, const struct cpumask *cpumask); |
384 | 384 | ||
385 | #ifdef CONFIG_GENERIC_HARDIRQS | ||
386 | |||
387 | #if defined(CONFIG_SMP) && defined(CONFIG_GENERIC_PENDING_IRQ) | 385 | #if defined(CONFIG_SMP) && defined(CONFIG_GENERIC_PENDING_IRQ) |
388 | void irq_move_irq(struct irq_data *data); | 386 | void irq_move_irq(struct irq_data *data); |
389 | void irq_move_masked_irq(struct irq_data *data); | 387 | void irq_move_masked_irq(struct irq_data *data); |
@@ -802,11 +800,4 @@ static inline void irq_gc_lock(struct irq_chip_generic *gc) { } | |||
802 | static inline void irq_gc_unlock(struct irq_chip_generic *gc) { } | 800 | static inline void irq_gc_unlock(struct irq_chip_generic *gc) { } |
803 | #endif | 801 | #endif |
804 | 802 | ||
805 | #else /* !CONFIG_GENERIC_HARDIRQS */ | ||
806 | |||
807 | extern struct msi_desc *irq_get_msi_desc(unsigned int irq); | ||
808 | extern int irq_set_msi_desc(unsigned int irq, struct msi_desc *entry); | ||
809 | |||
810 | #endif /* CONFIG_GENERIC_HARDIRQS */ | ||
811 | |||
812 | #endif /* _LINUX_IRQ_H */ | 803 | #endif /* _LINUX_IRQ_H */ |
diff --git a/include/linux/irqdesc.h b/include/linux/irqdesc.h index 623325e2ff97..56fb646909dc 100644 --- a/include/linux/irqdesc.h +++ b/include/linux/irqdesc.h | |||
@@ -76,8 +76,6 @@ struct irq_desc { | |||
76 | extern struct irq_desc irq_desc[NR_IRQS]; | 76 | extern struct irq_desc irq_desc[NR_IRQS]; |
77 | #endif | 77 | #endif |
78 | 78 | ||
79 | #ifdef CONFIG_GENERIC_HARDIRQS | ||
80 | |||
81 | static inline struct irq_data *irq_desc_get_irq_data(struct irq_desc *desc) | 79 | static inline struct irq_data *irq_desc_get_irq_data(struct irq_desc *desc) |
82 | { | 80 | { |
83 | return &desc->irq_data; | 81 | return &desc->irq_data; |
@@ -173,6 +171,5 @@ __irq_set_preflow_handler(unsigned int irq, irq_preflow_handler_t handler) | |||
173 | desc->preflow_handler = handler; | 171 | desc->preflow_handler = handler; |
174 | } | 172 | } |
175 | #endif | 173 | #endif |
176 | #endif | ||
177 | 174 | ||
178 | #endif | 175 | #endif |
diff --git a/include/linux/irqnr.h b/include/linux/irqnr.h index 0a2dc46cdaf6..fdd5cc16c9c4 100644 --- a/include/linux/irqnr.h +++ b/include/linux/irqnr.h | |||
@@ -4,23 +4,6 @@ | |||
4 | #include <uapi/linux/irqnr.h> | 4 | #include <uapi/linux/irqnr.h> |
5 | 5 | ||
6 | 6 | ||
7 | #ifndef CONFIG_GENERIC_HARDIRQS | ||
8 | #include <asm/irq.h> | ||
9 | |||
10 | /* | ||
11 | * Wrappers for non-genirq architectures: | ||
12 | */ | ||
13 | #define nr_irqs NR_IRQS | ||
14 | #define irq_to_desc(irq) (&irq_desc[irq]) | ||
15 | |||
16 | # define for_each_irq_desc(irq, desc) \ | ||
17 | for (irq = 0; irq < nr_irqs; irq++) | ||
18 | |||
19 | # define for_each_irq_desc_reverse(irq, desc) \ | ||
20 | for (irq = nr_irqs - 1; irq >= 0; irq--) | ||
21 | |||
22 | #else /* CONFIG_GENERIC_HARDIRQS */ | ||
23 | |||
24 | extern int nr_irqs; | 7 | extern int nr_irqs; |
25 | extern struct irq_desc *irq_to_desc(unsigned int irq); | 8 | extern struct irq_desc *irq_to_desc(unsigned int irq); |
26 | unsigned int irq_get_next_irq(unsigned int offset); | 9 | unsigned int irq_get_next_irq(unsigned int offset); |
@@ -50,8 +33,6 @@ unsigned int irq_get_next_irq(unsigned int offset); | |||
50 | for (irq = irq_get_next_irq(0); irq < nr_irqs; \ | 33 | for (irq = irq_get_next_irq(0); irq < nr_irqs; \ |
51 | irq = irq_get_next_irq(irq + 1)) | 34 | irq = irq_get_next_irq(irq + 1)) |
52 | 35 | ||
53 | #endif /* CONFIG_GENERIC_HARDIRQS */ | ||
54 | |||
55 | #define for_each_irq_nr(irq) \ | 36 | #define for_each_irq_nr(irq) \ |
56 | for (irq = 0; irq < nr_irqs; irq++) | 37 | for (irq = 0; irq < nr_irqs; irq++) |
57 | 38 | ||
diff --git a/include/linux/kernel_stat.h b/include/linux/kernel_stat.h index ed5f6ed6eb77..51c72be4a7c3 100644 --- a/include/linux/kernel_stat.h +++ b/include/linux/kernel_stat.h | |||
@@ -36,9 +36,6 @@ struct kernel_cpustat { | |||
36 | }; | 36 | }; |
37 | 37 | ||
38 | struct kernel_stat { | 38 | struct kernel_stat { |
39 | #ifndef CONFIG_GENERIC_HARDIRQS | ||
40 | unsigned int irqs[NR_IRQS]; | ||
41 | #endif | ||
42 | unsigned long irqs_sum; | 39 | unsigned long irqs_sum; |
43 | unsigned int softirqs[NR_SOFTIRQS]; | 40 | unsigned int softirqs[NR_SOFTIRQS]; |
44 | }; | 41 | }; |
@@ -54,22 +51,6 @@ DECLARE_PER_CPU(struct kernel_cpustat, kernel_cpustat); | |||
54 | 51 | ||
55 | extern unsigned long long nr_context_switches(void); | 52 | extern unsigned long long nr_context_switches(void); |
56 | 53 | ||
57 | #ifndef CONFIG_GENERIC_HARDIRQS | ||
58 | |||
59 | struct irq_desc; | ||
60 | |||
61 | static inline void kstat_incr_irqs_this_cpu(unsigned int irq, | ||
62 | struct irq_desc *desc) | ||
63 | { | ||
64 | __this_cpu_inc(kstat.irqs[irq]); | ||
65 | __this_cpu_inc(kstat.irqs_sum); | ||
66 | } | ||
67 | |||
68 | static inline unsigned int kstat_irqs_cpu(unsigned int irq, int cpu) | ||
69 | { | ||
70 | return kstat_cpu(cpu).irqs[irq]; | ||
71 | } | ||
72 | #else | ||
73 | #include <linux/irq.h> | 54 | #include <linux/irq.h> |
74 | extern unsigned int kstat_irqs_cpu(unsigned int irq, int cpu); | 55 | extern unsigned int kstat_irqs_cpu(unsigned int irq, int cpu); |
75 | 56 | ||
@@ -79,8 +60,6 @@ do { \ | |||
79 | __this_cpu_inc(kstat.irqs_sum); \ | 60 | __this_cpu_inc(kstat.irqs_sum); \ |
80 | } while (0) | 61 | } while (0) |
81 | 62 | ||
82 | #endif | ||
83 | |||
84 | static inline void kstat_incr_softirqs_this_cpu(unsigned int irq) | 63 | static inline void kstat_incr_softirqs_this_cpu(unsigned int irq) |
85 | { | 64 | { |
86 | __this_cpu_inc(kstat.softirqs[irq]); | 65 | __this_cpu_inc(kstat.softirqs[irq]); |
@@ -94,20 +73,7 @@ static inline unsigned int kstat_softirqs_cpu(unsigned int irq, int cpu) | |||
94 | /* | 73 | /* |
95 | * Number of interrupts per specific IRQ source, since bootup | 74 | * Number of interrupts per specific IRQ source, since bootup |
96 | */ | 75 | */ |
97 | #ifndef CONFIG_GENERIC_HARDIRQS | ||
98 | static inline unsigned int kstat_irqs(unsigned int irq) | ||
99 | { | ||
100 | unsigned int sum = 0; | ||
101 | int cpu; | ||
102 | |||
103 | for_each_possible_cpu(cpu) | ||
104 | sum += kstat_irqs_cpu(irq, cpu); | ||
105 | |||
106 | return sum; | ||
107 | } | ||
108 | #else | ||
109 | extern unsigned int kstat_irqs(unsigned int irq); | 76 | extern unsigned int kstat_irqs(unsigned int irq); |
110 | #endif | ||
111 | 77 | ||
112 | /* | 78 | /* |
113 | * Number of interrupts per cpu, since bootup | 79 | * Number of interrupts per cpu, since bootup |
diff --git a/kernel/Makefile b/kernel/Makefile index 35ef1185e359..1ce47553fb02 100644 --- a/kernel/Makefile +++ b/kernel/Makefile | |||
@@ -26,6 +26,7 @@ obj-y += sched/ | |||
26 | obj-y += power/ | 26 | obj-y += power/ |
27 | obj-y += printk/ | 27 | obj-y += printk/ |
28 | obj-y += cpu/ | 28 | obj-y += cpu/ |
29 | obj-y += irq/ | ||
29 | 30 | ||
30 | obj-$(CONFIG_CHECKPOINT_RESTORE) += kcmp.o | 31 | obj-$(CONFIG_CHECKPOINT_RESTORE) += kcmp.o |
31 | obj-$(CONFIG_FREEZER) += freezer.o | 32 | obj-$(CONFIG_FREEZER) += freezer.o |
@@ -79,7 +80,6 @@ obj-$(CONFIG_KPROBES) += kprobes.o | |||
79 | obj-$(CONFIG_KGDB) += debug/ | 80 | obj-$(CONFIG_KGDB) += debug/ |
80 | obj-$(CONFIG_DETECT_HUNG_TASK) += hung_task.o | 81 | obj-$(CONFIG_DETECT_HUNG_TASK) += hung_task.o |
81 | obj-$(CONFIG_LOCKUP_DETECTOR) += watchdog.o | 82 | obj-$(CONFIG_LOCKUP_DETECTOR) += watchdog.o |
82 | obj-$(CONFIG_GENERIC_HARDIRQS) += irq/ | ||
83 | obj-$(CONFIG_SECCOMP) += seccomp.o | 83 | obj-$(CONFIG_SECCOMP) += seccomp.o |
84 | obj-$(CONFIG_RCU_TORTURE_TEST) += rcutorture.o | 84 | obj-$(CONFIG_RCU_TORTURE_TEST) += rcutorture.o |
85 | obj-$(CONFIG_TREE_RCU) += rcutree.o | 85 | obj-$(CONFIG_TREE_RCU) += rcutree.o |
diff --git a/kernel/irq/Kconfig b/kernel/irq/Kconfig index d1a758bc972a..4a1fef09f658 100644 --- a/kernel/irq/Kconfig +++ b/kernel/irq/Kconfig | |||
@@ -1,15 +1,4 @@ | |||
1 | # Select this to activate the generic irq options below | ||
2 | config HAVE_GENERIC_HARDIRQS | ||
3 | bool | ||
4 | |||
5 | if HAVE_GENERIC_HARDIRQS | ||
6 | menu "IRQ subsystem" | 1 | menu "IRQ subsystem" |
7 | # | ||
8 | # Interrupt subsystem related configuration options | ||
9 | # | ||
10 | config GENERIC_HARDIRQS | ||
11 | def_bool y | ||
12 | |||
13 | # Options selectable by the architecture code | 2 | # Options selectable by the architecture code |
14 | 3 | ||
15 | # Make sparse irq Kconfig switch below available | 4 | # Make sparse irq Kconfig switch below available |
@@ -84,4 +73,3 @@ config SPARSE_IRQ | |||
84 | If you don't know what to do here, say N. | 73 | If you don't know what to do here, say N. |
85 | 74 | ||
86 | endmenu | 75 | endmenu |
87 | endif | ||
diff --git a/kernel/softirq.c b/kernel/softirq.c index be3d3514c325..53cc09ceb0b8 100644 --- a/kernel/softirq.c +++ b/kernel/softirq.c | |||
@@ -876,7 +876,6 @@ int __init __weak early_irq_init(void) | |||
876 | return 0; | 876 | return 0; |
877 | } | 877 | } |
878 | 878 | ||
879 | #ifdef CONFIG_GENERIC_HARDIRQS | ||
880 | int __init __weak arch_probe_nr_irqs(void) | 879 | int __init __weak arch_probe_nr_irqs(void) |
881 | { | 880 | { |
882 | return NR_IRQS_LEGACY; | 881 | return NR_IRQS_LEGACY; |
@@ -886,4 +885,3 @@ int __init __weak arch_early_irq_init(void) | |||
886 | { | 885 | { |
887 | return 0; | 886 | return 0; |
888 | } | 887 | } |
889 | #endif | ||
diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug index c9eef36739a9..06344d986eb9 100644 --- a/lib/Kconfig.debug +++ b/lib/Kconfig.debug | |||
@@ -597,7 +597,7 @@ endmenu # "Memory Debugging" | |||
597 | 597 | ||
598 | config DEBUG_SHIRQ | 598 | config DEBUG_SHIRQ |
599 | bool "Debug shared IRQ handlers" | 599 | bool "Debug shared IRQ handlers" |
600 | depends on DEBUG_KERNEL && GENERIC_HARDIRQS | 600 | depends on DEBUG_KERNEL |
601 | help | 601 | help |
602 | Enable this to generate a spurious interrupt as soon as a shared | 602 | Enable this to generate a spurious interrupt as soon as a shared |
603 | interrupt handler is registered, and just before one is deregistered. | 603 | interrupt handler is registered, and just before one is deregistered. |
diff --git a/lib/cpu_rmap.c b/lib/cpu_rmap.c index 5fbed5caba6e..4f134d8907a7 100644 --- a/lib/cpu_rmap.c +++ b/lib/cpu_rmap.c | |||
@@ -8,9 +8,7 @@ | |||
8 | */ | 8 | */ |
9 | 9 | ||
10 | #include <linux/cpu_rmap.h> | 10 | #include <linux/cpu_rmap.h> |
11 | #ifdef CONFIG_GENERIC_HARDIRQS | ||
12 | #include <linux/interrupt.h> | 11 | #include <linux/interrupt.h> |
13 | #endif | ||
14 | #include <linux/export.h> | 12 | #include <linux/export.h> |
15 | 13 | ||
16 | /* | 14 | /* |
@@ -213,8 +211,6 @@ int cpu_rmap_update(struct cpu_rmap *rmap, u16 index, | |||
213 | } | 211 | } |
214 | EXPORT_SYMBOL(cpu_rmap_update); | 212 | EXPORT_SYMBOL(cpu_rmap_update); |
215 | 213 | ||
216 | #ifdef CONFIG_GENERIC_HARDIRQS | ||
217 | |||
218 | /* Glue between IRQ affinity notifiers and CPU rmaps */ | 214 | /* Glue between IRQ affinity notifiers and CPU rmaps */ |
219 | 215 | ||
220 | struct irq_glue { | 216 | struct irq_glue { |
@@ -309,5 +305,3 @@ int irq_cpu_rmap_add(struct cpu_rmap *rmap, int irq) | |||
309 | return rc; | 305 | return rc; |
310 | } | 306 | } |
311 | EXPORT_SYMBOL(irq_cpu_rmap_add); | 307 | EXPORT_SYMBOL(irq_cpu_rmap_add); |
312 | |||
313 | #endif /* CONFIG_GENERIC_HARDIRQS */ | ||
diff --git a/net/Kconfig b/net/Kconfig index ee0213667272..b50dacc072f0 100644 --- a/net/Kconfig +++ b/net/Kconfig | |||
@@ -228,7 +228,7 @@ config RPS | |||
228 | 228 | ||
229 | config RFS_ACCEL | 229 | config RFS_ACCEL |
230 | boolean | 230 | boolean |
231 | depends on RPS && GENERIC_HARDIRQS | 231 | depends on RPS |
232 | select CPU_RMAP | 232 | select CPU_RMAP |
233 | default y | 233 | default y |
234 | 234 | ||
diff --git a/sound/soc/codecs/Kconfig b/sound/soc/codecs/Kconfig index 15106c045478..b33b45dfceec 100644 --- a/sound/soc/codecs/Kconfig +++ b/sound/soc/codecs/Kconfig | |||
@@ -107,7 +107,7 @@ config SND_SOC_ALL_CODECS | |||
107 | select SND_SOC_WM8782 | 107 | select SND_SOC_WM8782 |
108 | select SND_SOC_WM8804 if SND_SOC_I2C_AND_SPI | 108 | select SND_SOC_WM8804 if SND_SOC_I2C_AND_SPI |
109 | select SND_SOC_WM8900 if I2C | 109 | select SND_SOC_WM8900 if I2C |
110 | select SND_SOC_WM8903 if I2C && GENERIC_HARDIRQS | 110 | select SND_SOC_WM8903 if I2C |
111 | select SND_SOC_WM8904 if I2C | 111 | select SND_SOC_WM8904 if I2C |
112 | select SND_SOC_WM8940 if I2C | 112 | select SND_SOC_WM8940 if I2C |
113 | select SND_SOC_WM8955 if I2C | 113 | select SND_SOC_WM8955 if I2C |
diff --git a/sound/soc/samsung/Kconfig b/sound/soc/samsung/Kconfig index 9855dfc3e3ec..2eea1840315d 100644 --- a/sound/soc/samsung/Kconfig +++ b/sound/soc/samsung/Kconfig | |||
@@ -63,7 +63,7 @@ config SND_SOC_SAMSUNG_SMDK_WM8580 | |||
63 | config SND_SOC_SAMSUNG_SMDK_WM8994 | 63 | config SND_SOC_SAMSUNG_SMDK_WM8994 |
64 | tristate "SoC I2S Audio support for WM8994 on SMDK" | 64 | tristate "SoC I2S Audio support for WM8994 on SMDK" |
65 | depends on SND_SOC_SAMSUNG | 65 | depends on SND_SOC_SAMSUNG |
66 | depends on I2C=y && GENERIC_HARDIRQS | 66 | depends on I2C=y |
67 | select MFD_WM8994 | 67 | select MFD_WM8994 |
68 | select SND_SOC_WM8994 | 68 | select SND_SOC_WM8994 |
69 | select SND_SAMSUNG_I2S | 69 | select SND_SAMSUNG_I2S |
@@ -151,7 +151,7 @@ config SND_SOC_SMARTQ | |||
151 | config SND_SOC_GONI_AQUILA_WM8994 | 151 | config SND_SOC_GONI_AQUILA_WM8994 |
152 | tristate "SoC I2S Audio support for AQUILA/GONI - WM8994" | 152 | tristate "SoC I2S Audio support for AQUILA/GONI - WM8994" |
153 | depends on SND_SOC_SAMSUNG && (MACH_GONI || MACH_AQUILA) | 153 | depends on SND_SOC_SAMSUNG && (MACH_GONI || MACH_AQUILA) |
154 | depends on I2C=y && GENERIC_HARDIRQS | 154 | depends on I2C=y |
155 | select SND_SAMSUNG_I2S | 155 | select SND_SAMSUNG_I2S |
156 | select MFD_WM8994 | 156 | select MFD_WM8994 |
157 | select SND_SOC_WM8994 | 157 | select SND_SOC_WM8994 |
@@ -177,7 +177,7 @@ config SND_SOC_SMDK_WM8580_PCM | |||
177 | config SND_SOC_SMDK_WM8994_PCM | 177 | config SND_SOC_SMDK_WM8994_PCM |
178 | tristate "SoC PCM Audio support for WM8994 on SMDK" | 178 | tristate "SoC PCM Audio support for WM8994 on SMDK" |
179 | depends on SND_SOC_SAMSUNG | 179 | depends on SND_SOC_SAMSUNG |
180 | depends on I2C=y && GENERIC_HARDIRQS | 180 | depends on I2C=y |
181 | select MFD_WM8994 | 181 | select MFD_WM8994 |
182 | select SND_SOC_WM8994 | 182 | select SND_SOC_WM8994 |
183 | select SND_SAMSUNG_PCM | 183 | select SND_SAMSUNG_PCM |