函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:kernel\irq\irqdomain.c Create Date:2022-07-27 11:14:11
Last Modify:2020-03-12 14:18:49 Copyright©Brick
首页 函数Tree
注解内核,赢得工具下载SCCTEnglish

函数名称:irq_domain_associate

函数原型:int irq_domain_associate(struct irq_domain *domain, unsigned int virq, irq_hw_number_t hwirq)

返回类型:int

参数:

类型参数名称
struct irq_domain *domain
unsigned intvirq
irq_hw_number_thwirq
536  irq_data等于irq_get_irq_data(virq)
539  如果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, 硬件中断对象名)则返回:负EINVAL
542  如果WARN(!irq_data, "error: virq%i is not allocated", virq)则返回:负EINVAL
544  如果WARN(硬件中断对象, "error: virq%i is already associated", virq)则返回:负EINVAL
547  mutex_lock( & irq_domain_mutex)
548  硬件中断号等于hwirq
549  硬件中断对象等于domain
550  如果map
551  ret等于map(domain, virq, hwirq)
552  如果ret不等于0则
558  如果ret不等于负EPERM
559  打印信息("%s didn't like hwirq-0x%lx to VIRQ%i mapping (rc=%d)\n", 硬件中断对象名, hwirq, virq, ret)
562  硬件中断对象 = NULL
563  硬件中断号等于0
565  返回:ret
569  如果非硬件中断对象名中断控制器信息硬件中断对象名等于中断名
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  返回:0
调用者
名称描述
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