aboutsummaryrefslogtreecommitdiffstats
path: root/kernel
diff options
context:
space:
mode:
Diffstat (limited to 'kernel')
-rw-r--r--kernel/irq/Kconfig3
-rw-r--r--kernel/irq/chip.c27
-rw-r--r--kernel/irq/irqdomain.c2
3 files changed, 31 insertions, 1 deletions
diff --git a/kernel/irq/Kconfig b/kernel/irq/Kconfig
index 5f3e2baefca9..8fee06625c37 100644
--- a/kernel/irq/Kconfig
+++ b/kernel/irq/Kconfig
@@ -91,6 +91,9 @@ config GENERIC_MSI_IRQ_DOMAIN
91 select IRQ_DOMAIN_HIERARCHY 91 select IRQ_DOMAIN_HIERARCHY
92 select GENERIC_MSI_IRQ 92 select GENERIC_MSI_IRQ
93 93
94config IRQ_MSI_IOMMU
95 bool
96
94config HANDLE_DOMAIN_IRQ 97config HANDLE_DOMAIN_IRQ
95 bool 98 bool
96 99
diff --git a/kernel/irq/chip.c b/kernel/irq/chip.c
index 51128bea3846..29d6c7d070b4 100644
--- a/kernel/irq/chip.c
+++ b/kernel/irq/chip.c
@@ -1459,6 +1459,33 @@ int irq_chip_set_wake_parent(struct irq_data *data, unsigned int on)
1459 return -ENOSYS; 1459 return -ENOSYS;
1460} 1460}
1461EXPORT_SYMBOL_GPL(irq_chip_set_wake_parent); 1461EXPORT_SYMBOL_GPL(irq_chip_set_wake_parent);
1462
1463/**
1464 * irq_chip_request_resources_parent - Request resources on the parent interrupt
1465 * @data: Pointer to interrupt specific data
1466 */
1467int irq_chip_request_resources_parent(struct irq_data *data)
1468{
1469 data = data->parent_data;
1470
1471 if (data->chip->irq_request_resources)
1472 return data->chip->irq_request_resources(data);
1473
1474 return -ENOSYS;
1475}
1476EXPORT_SYMBOL_GPL(irq_chip_request_resources_parent);
1477
1478/**
1479 * irq_chip_release_resources_parent - Release resources on the parent interrupt
1480 * @data: Pointer to interrupt specific data
1481 */
1482void irq_chip_release_resources_parent(struct irq_data *data)
1483{
1484 data = data->parent_data;
1485 if (data->chip->irq_release_resources)
1486 data->chip->irq_release_resources(data);
1487}
1488EXPORT_SYMBOL_GPL(irq_chip_release_resources_parent);
1462#endif 1489#endif
1463 1490
1464/** 1491/**
diff --git a/kernel/irq/irqdomain.c b/kernel/irq/irqdomain.c
index 9ed29e4a7dbf..a453e229f99c 100644
--- a/kernel/irq/irqdomain.c
+++ b/kernel/irq/irqdomain.c
@@ -1297,7 +1297,7 @@ int irq_domain_alloc_irqs_hierarchy(struct irq_domain *domain,
1297/** 1297/**
1298 * __irq_domain_alloc_irqs - Allocate IRQs from domain 1298 * __irq_domain_alloc_irqs - Allocate IRQs from domain
1299 * @domain: domain to allocate from 1299 * @domain: domain to allocate from
1300 * @irq_base: allocate specified IRQ nubmer if irq_base >= 0 1300 * @irq_base: allocate specified IRQ number if irq_base >= 0
1301 * @nr_irqs: number of IRQs to allocate 1301 * @nr_irqs: number of IRQs to allocate
1302 * @node: NUMA node id for memory allocation 1302 * @node: NUMA node id for memory allocation
1303 * @arg: domain specific argument 1303 * @arg: domain specific argument