menu "IRQ subsystem"
# Options selectable by the architecture code

# Make sparse irq Kconfig switch below available
config MAY_HAVE_SPARSE_IRQ
       bool

# Legacy support, required for itanic
config GENERIC_IRQ_LEGACY
       bool

# Enable the generic irq autoprobe mechanism
config GENERIC_IRQ_PROBE
	bool

# Use the generic /proc/interrupts implementation
config GENERIC_IRQ_SHOW
       bool

# Print level/edge extra information
config GENERIC_IRQ_SHOW_LEVEL
       bool

# Supports effective affinity mask
config GENERIC_IRQ_EFFECTIVE_AFF_MASK
       bool

# Facility to allocate a hardware interrupt. This is legacy support
# and should not be used in new code. Use irq domains instead.
config GENERIC_IRQ_LEGACY_ALLOC_HWIRQ
       bool

# Support for delayed migration from interrupt context
config GENERIC_PENDING_IRQ
	bool

# Support for generic irq migrating off cpu before the cpu is offline.
config GENERIC_IRQ_MIGRATION
	bool

# Alpha specific irq affinity mechanism
config AUTO_IRQ_AFFINITY
       bool

# Tasklet based software resend for pending interrupts on enable_irq()
config HARDIRQS_SW_RESEND
       bool

# Preflow handler support for fasteoi (sparc64)
config IRQ_PREFLOW_FASTEOI
       bool

# Edge style eoi based handler (cell)
config IRQ_EDGE_EOI_HANDLER
       bool

# Generic configurable interrupt chip implementation
config GENERIC_IRQ_CHIP
       bool
       select IRQ_DOMAIN

# Generic irq_domain hw <--> linux irq number translation
config IRQ_DOMAIN
	bool

# Support for simulated interrupts
config IRQ_SIM
	bool
	select IRQ_WORK

# Support for hierarchical irq domains
config IRQ_DOMAIN_HIERARCHY
	bool
	select IRQ_DOMAIN

# Support for hierarchical fasteoi+edge and fasteoi+level handlers
config IRQ_FASTEOI_HIERARCHY_HANDLERS
	bool

# Generic IRQ IPI support
config GENERIC_IRQ_IPI
	bool
	select IRQ_DOMAIN_HIERARCHY

# Generic MSI interrupt support
config GENERIC_MSI_IRQ
	bool

# Generic MSI hierarchical interrupt domain support
config GENERIC_MSI_IRQ_DOMAIN
	bool
	select IRQ_DOMAIN_HIERARCHY
	select GENERIC_MSI_IRQ

config HANDLE_DOMAIN_IRQ
	bool

config IRQ_TIMINGS
	bool

config GENERIC_IRQ_MATRIX_ALLOCATOR
	bool

config GENERIC_IRQ_RESERVATION_MODE
	bool

# Support forced irq threading
config IRQ_FORCED_THREADING
       bool

config SPARSE_IRQ
	bool "Support sparse irq numbering" if MAY_HAVE_SPARSE_IRQ
	---help---

	  Sparse irq numbering is useful for distro kernels that want
	  to define a high CONFIG_NR_CPUS value but still want to have
	  low kernel memory footprint on smaller machines.

	  ( Sparse irqs can also be beneficial on NUMA boxes, as they spread
	    out the interrupt descriptors in a more NUMA-friendly way. )

	  If you don't know what to do here, say N.

config GENERIC_IRQ_DEBUGFS
	bool "Expose irq internals in debugfs"
	depends on DEBUG_FS
	default n
	---help---

	  Exposes internal state information through debugfs. Mostly for
	  developers and debugging of hard to diagnose interrupt problems.

	  If you don't know what to do here, say N.

endmenu

config GENERIC_IRQ_MULTI_HANDLER
	bool
	help
	  Allow to specify the low level IRQ handler at run time.
