diff options
Diffstat (limited to 'kernel')
| -rw-r--r-- | kernel/irq/Kconfig | 3 | ||||
| -rw-r--r-- | kernel/irq/chip.c | 27 | ||||
| -rw-r--r-- | kernel/irq/irqdomain.c | 2 | 
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  	select IRQ_DOMAIN_HIERARCHY  	select GENERIC_MSI_IRQ +config IRQ_MSI_IOMMU +	bool +  config HANDLE_DOMAIN_IRQ  	bool 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)  	return -ENOSYS;  }  EXPORT_SYMBOL_GPL(irq_chip_set_wake_parent); + +/** + * irq_chip_request_resources_parent - Request resources on the parent interrupt + * @data:	Pointer to interrupt specific data + */ +int irq_chip_request_resources_parent(struct irq_data *data) +{ +	data = data->parent_data; + +	if (data->chip->irq_request_resources) +		return data->chip->irq_request_resources(data); + +	return -ENOSYS; +} +EXPORT_SYMBOL_GPL(irq_chip_request_resources_parent); + +/** + * irq_chip_release_resources_parent - Release resources on the parent interrupt + * @data:	Pointer to interrupt specific data + */ +void irq_chip_release_resources_parent(struct irq_data *data) +{ +	data = data->parent_data; +	if (data->chip->irq_release_resources) +		data->chip->irq_release_resources(data); +} +EXPORT_SYMBOL_GPL(irq_chip_release_resources_parent);  #endif  /** 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,  /**   * __irq_domain_alloc_irqs - Allocate IRQs from domain   * @domain:	domain to allocate from - * @irq_base:	allocate specified IRQ nubmer if irq_base >= 0 + * @irq_base:	allocate specified IRQ number if irq_base >= 0   * @nr_irqs:	number of IRQs to allocate   * @node:	NUMA node id for memory allocation   * @arg:	domain specific argument | 
