sh: intc: Split up the INTC code.

This splits up the sh intc core in to something more vaguely resembling
a subsystem. Most of the functionality was alread fairly well
compartmentalized, and there were only a handful of interdependencies
that needed to be resolved in the process.

This also serves as future-proofing for the genirq and sparseirq rework,
which will make some of the split out functionality wholly generic,
allowing things to be killed off in place with minimal migration pain.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
This commit is contained in:
Paul Mundt
2010-10-05 22:10:30 +09:00
parent d74310d3b1
commit 2be6bb0c79
14 changed files with 2052 additions and 1809 deletions
+3 -31
View File
@@ -1,33 +1,5 @@
config INTC_USERIMASK
bool "Userspace interrupt masking support"
depends on ARCH_SHMOBILE || (SUPERH && CPU_SH4A)
help
This enables support for hardware-assisted userspace hardirq
masking.
menu "SuperH / SH-Mobile Driver Options"
SH-4A and newer interrupt blocks all support a special shadowed
page with all non-masking registers obscured when mapped in to
userspace. This is primarily for use by userspace device
drivers that are using special priority levels.
source "drivers/sh/intc/Kconfig"
If in doubt, say N.
config INTC_BALANCING
bool "Hardware IRQ balancing support"
depends on SMP && SUPERH && CPU_SHX3
help
This enables support for IRQ auto-distribution mode on SH-X3
SMP parts. All of the balancing and CPU wakeup decisions are
taken care of automatically by hardware for distributed
vectors.
If in doubt, say N.
config INTC_MAPPING_DEBUG
bool "Expose IRQ to per-controller id mapping via debugfs"
depends on DEBUG_FS
help
This will create a debugfs entry for showing the relationship
between system IRQs and the per-controller id tables.
If in doubt, say N.
endmenu