函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:irq_create_fwspec_mapping

函数原型:unsigned int irq_create_fwspec_mapping(struct irq_fwspec *fwspec)

返回类型:unsigned int

参数:

类型参数名称
struct irq_fwspec *fwspec
766  type等于IRQ_TYPE_NONE
769  如果fwnode
770  domain等于q_find_matching_fwspec() - Locates a domain for a given fwspec*@fwspec: FW specifier for an interrupt*@bus_token: domain-specific data
771  如果非domaindomain等于q_find_matching_fwspec() - Locates a domain for a given fwspec*@fwspec: FW specifier for an interrupt*@bus_token: domain-specific data
773  否则
774  domain等于irq_default_domain
777  如果非domain
778  打印警告信息("no irq domain found for %s !\n", of_node_full_name(to_of_node(fwnode)))
780  返回:0
783  如果irq_domain_translate(domain, fwspec, & hwirq, & type)则返回:0
790  如果WARN_ON(type & ~IRQ_TYPE_SENSE_MASK)则type与等于IRQ_TYPE_SENSE_MASK
797  virq等于q_find_mapping() - Find a linux irq from a hw irq number.*@domain: domain owning this hardware interrupt*@hwirq: hardware irq number in that domain space
798  如果virq
804  如果type恒等于IRQ_TYPE_NONEtype恒等于irq_get_trigger_type(virq)则返回:virq
811  如果irq_get_trigger_type(virq)恒等于IRQ_TYPE_NONE
813  如果非irq_data则返回:0
817  返回:virq
820  打印警告信息("type mismatch, failed to map hwirq-%lu for %s!\n", hwirq, of_node_full_name(to_of_node(fwnode)))
822  返回:0
825  如果irq_domain_is_hierarchy(domain)则
826  virq等于irq_domain_alloc_irqs(domain, 1, NUMA_NO_NODE, fwspec)
827  如果virq小于等于0则返回:0
829  否则
831  virq等于q_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
832  如果非virq则返回:virq
836  irq_data等于irq_get_irq_data(virq)
837  如果非irq_data
838  如果irq_domain_is_hierarchy(domain)则irq_domain_free_irqs(virq, 1)
840  否则q_dispose_mapping() - Unmap an interrupt*@virq: linux irq number of the interrupt to unmap
842  返回:0
846  Must only be called inside irq_chip.irq_set_type() functions or* from the DT/ACPI setup code.
848  返回:virq
调用者
名称描述
irq_create_of_mapping