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

# 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 hierarchical irq domains
config IRQ_DOMAIN_HIERARCHY
	bool
	select IRQ_DOMAIN

# Generic IRQ IPI support
config GENERIC_IRQ_IPI
	bool

# 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_DOMAIN_DEBUG
	bool "Expose hardware/virtual IRQ mapping via debugfs"
	depends on IRQ_DOMAIN && DEBUG_FS
	help
	  This option will show the mapping relationship between hardware irq
	  numbers and Linux irq numbers. The mapping is exposed via debugfs
	  in the file "irq_domain_mapping".

	  If you don't know what this means you don't need it.

# 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.

endmenu