Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:kernel\irq\irqdomain.c Create Date:2022-07-28 10:13:53
Last Modify:2020-03-12 14:18:49 Copyright©Brick
home page Tree
Annotation kernel can get tool activityDownload SCCTChinese

Name:irq_domain_associate

Proto:int irq_domain_associate(struct irq_domain *domain, unsigned int virq, irq_hw_number_t hwirq)

Type:int

Parameter:

TypeParameterName
struct irq_domain *domain
unsigned intvirq
irq_hw_number_thwirq
536  irq_data = irq_get_irq_data(virq)
539  If WARN(hwirq >= reverse map data. The linear map gets appended to the irq_domain , "error: hwirq 0x%x is too large for %s\n", (int)hwirq, name) Then Return -EINVAL
542  If WARN(!irq_data, "error: virq%i is not allocated", virq) Then Return -EINVAL
544  If WARN(domain, "error: virq%i is already associated", virq) Then Return -EINVAL
547  mutex_lock( & irq_domain_mutex)
548  hwirq = hwirq
549  domain = domain
550  If map Then
551  ret = map(domain, virq, hwirq)
552  If ret != 0 Then
558  If ret != -EPERM Then
559  pr_info("%s didn't like hwirq-0x%lx to VIRQ%i mapping (rc=%d)\n", name, hwirq, virq, ret)
562  domain = NULL
563  hwirq = 0
565  Return ret
569  If Not name && chip Then name = interrupt' name
573  mapcount++
574  irq_domain_set_mapping(domain, hwirq, irq_data)
575  mutex_unlock - release the mutex*@lock: the mutex to be released* Unlock a mutex that has been locked by this task previously.* This function must not be used in interrupt context. Unlocking* of a not locked mutex is not allowed.
577  irq_clear_status_flags(virq, IRQ_NOREQUEST)
579  Return 0
Caller
NameDescribe
irq_domain_associate_many
irq_create_direct_mappingq_create_direct_mapping() - Allocate an irq for direct mapping*@domain: domain to allocate the irq for or NULL for default domain* This routine is used for irq controllers which can choose the hardware* interrupt numbers they generate
irq_create_mappingq_create_mapping() - Map a hardware interrupt into linux irq space*@domain: domain owning this hardware interrupt or NULL for default domain*@hwirq: hardware irq number in that domain space* Only one mapping per hardware interrupt is permitted