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 |