Function report |
Source Code:kernel\irq\irqdomain.c |
Create Date:2022-07-28 10:14:03 |
| Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
| home page | Tree |
| Annotation kernel can get tool activity | Download SCCT | Chinese |
Name:irq_create_fwspec_mapping
Proto:unsigned int irq_create_fwspec_mapping(struct irq_fwspec *fwspec)
Type:unsigned int
Parameter:
| Type | Parameter | Name |
|---|---|---|
| struct irq_fwspec * | fwspec |
| 766 | type = IRQ_TYPE_NONE |
| 769 | If fwnode Then |
| 773 | Else |
| 774 | domain = irq_default_domain |
| 777 | If Not domain Then |
| 778 | pr_warn("no irq domain found for %s !\n", of_node_full_name(to_of_node(fwnode))) |
| 780 | Return 0 |
| 783 | If irq_domain_translate(domain, fwspec, & hwirq, & type) Then Return 0 |
| 790 | If WARN_ON(type & ~IRQ_TYPE_SENSE_MASK) Then 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 | If virq Then |
| 804 | If type == IRQ_TYPE_NONE || type == irq_get_trigger_type(virq) Then Return virq |
| 811 | If irq_get_trigger_type(virq) == IRQ_TYPE_NONE Then |
| 820 | pr_warn("type mismatch, failed to map hwirq-%lu for %s!\n", hwirq, of_node_full_name(to_of_node(fwnode))) |
| 822 | Return 0 |
| 825 | If irq_domain_is_hierarchy(domain) Then |
| 826 | virq = irq_domain_alloc_irqs(domain, 1, NUMA_NO_NODE, fwspec) |
| 827 | If virq <= 0 Then Return 0 |
| 829 | Else |
| 836 | irq_data = irq_get_irq_data(virq) |
| 837 | If Not irq_data Then |
| 838 | If irq_domain_is_hierarchy(domain) Then irq_domain_free_irqs(virq, 1) |
| 842 | Return 0 |
| 848 | Return virq |
| Name | Describe |
|---|---|
| irq_create_of_mapping |
| Source code conversion tool public plug-in interface | X |
|---|---|
| Support c/c++/esqlc/java Oracle/Informix/Mysql Plug-in can realize: logical Report Code generation and batch code conversion |