diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2019-03-05 15:21:47 -0500 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2019-03-05 15:21:47 -0500 |
| commit | 78f860135433a8bba406352fbdcea8e8980583bf (patch) | |
| tree | 0b7a9ba320e38b5d6eb0fb982bc2d9449aaf57f3 /kernel/irq/irqdomain.c | |
| parent | 18483190e7a2a6761b67c6824a31adf5b2b7be51 (diff) | |
| parent | a324ca9cad4736252c33c1e28cffe1d87f262d03 (diff) | |
Merge branch 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull irq updates from Thomas Gleixner:
"The interrupt departement delivers this time:
- New infrastructure to manage NMIs on platforms which have a sane
NMI delivery, i.e. identifiable NMI vectors instead of a single
lump.
- Simplification of the interrupt affinity management so drivers
don't have to implement ugly loops around the PCI/MSI enablement.
- Speedup for interrupt statistics in /proc/stat
- Provide a function to retrieve the default irq domain
- A new interrupt controller for the Loongson LS1X platform
- Affinity support for the SiFive PLIC
- Better support for the iMX irqsteer driver
- NUMA aware memory allocations for GICv3
- The usual small fixes, improvements and cleanups all over the
place"
* 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (36 commits)
irqchip/imx-irqsteer: Add multi output interrupts support
irqchip/imx-irqsteer: Change to use reg_num instead of irq_group
dt-bindings: irq: imx-irqsteer: Add multi output interrupts support
dt-binding: irq: imx-irqsteer: Use irq number instead of group number
irqchip/brcmstb-l2: Use _irqsave locking variants in non-interrupt code
irqchip/gicv3-its: Use NUMA aware memory allocation for ITS tables
irqdomain: Allow the default irq domain to be retrieved
irqchip/sifive-plic: Implement irq_set_affinity() for SMP host
irqchip/sifive-plic: Differentiate between PLIC handler and context
irqchip/sifive-plic: Add warning in plic_init() if handler already present
irqchip/sifive-plic: Pre-compute context hart base and enable base
PCI/MSI: Remove obsolete sanity checks for multiple interrupt sets
genirq/affinity: Remove the leftovers of the original set support
nvme-pci: Simplify interrupt allocation
genirq/affinity: Add new callback for (re)calculating interrupt sets
genirq/affinity: Store interrupt sets size in struct irq_affinity
genirq/affinity: Code consolidation
irqchip/irq-sifive-plic: Check and continue in case of an invalid cpuid.
irqchip/i8259: Fix shutdown order by moving syscore_ops registration
dt-bindings: interrupt-controller: loongson ls1x intc
...
Diffstat (limited to 'kernel/irq/irqdomain.c')
| -rw-r--r-- | kernel/irq/irqdomain.c | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/kernel/irq/irqdomain.c b/kernel/irq/irqdomain.c index 8b0be4bd6565..3bf9793d8825 100644 --- a/kernel/irq/irqdomain.c +++ b/kernel/irq/irqdomain.c | |||
| @@ -458,6 +458,20 @@ void irq_set_default_host(struct irq_domain *domain) | |||
| 458 | } | 458 | } |
| 459 | EXPORT_SYMBOL_GPL(irq_set_default_host); | 459 | EXPORT_SYMBOL_GPL(irq_set_default_host); |
| 460 | 460 | ||
| 461 | /** | ||
| 462 | * irq_get_default_host() - Retrieve the "default" irq domain | ||
| 463 | * | ||
| 464 | * Returns: the default domain, if any. | ||
| 465 | * | ||
| 466 | * Modern code should never use this. This should only be used on | ||
| 467 | * systems that cannot implement a firmware->fwnode mapping (which | ||
| 468 | * both DT and ACPI provide). | ||
| 469 | */ | ||
| 470 | struct irq_domain *irq_get_default_host(void) | ||
| 471 | { | ||
| 472 | return irq_default_domain; | ||
| 473 | } | ||
| 474 | |||
| 461 | static void irq_domain_clear_mapping(struct irq_domain *domain, | 475 | static void irq_domain_clear_mapping(struct irq_domain *domain, |
| 462 | irq_hw_number_t hwirq) | 476 | irq_hw_number_t hwirq) |
| 463 | { | 477 | { |
| @@ -1749,8 +1763,6 @@ void __init irq_domain_debugfs_init(struct dentry *root) | |||
| 1749 | struct irq_domain *d; | 1763 | struct irq_domain *d; |
| 1750 | 1764 | ||
| 1751 | domain_dir = debugfs_create_dir("domains", root); | 1765 | domain_dir = debugfs_create_dir("domains", root); |
| 1752 | if (!domain_dir) | ||
| 1753 | return; | ||
| 1754 | 1766 | ||
| 1755 | debugfs_create_file("default", 0444, domain_dir, NULL, | 1767 | debugfs_create_file("default", 0444, domain_dir, NULL, |
| 1756 | &irq_domain_debug_fops); | 1768 | &irq_domain_debug_fops); |
