| Function report | 
| Source Code: kernel\irq\irqdomain.c | Create Date:2022-07-28 10:13:41 | 
| Last Modify:2020-03-12 14:18:49 | Copyright©Brick | 
| home page | Tree | 
| Annotation kernel can get tool activity | Download SCCT | Chinese | 
Name:__irq_domain_add() - Allocate a new irq_domain data structure*@fwnode: firmware node for the interrupt controller*@size: Size of linear map; 0 for radix mapping only*@hwirq_max: Maximum number of interrupts supported by controller*@direct_max: Maximum
Proto:struct irq_domain *__irq_domain_add(struct fwnode_handle *fwnode, int size, irq_hw_number_t hwirq_max, int direct_max, const struct irq_domain_ops *ops, void *host_data)
Type:struct irq_domain
Parameter:
| Type | Parameter | Name | 
|---|---|---|
| struct fwnode_handle * | fwnode | |
| int | size | |
| irq_hw_number_t | hwirq_max | |
| int | direct_max | |
| const struct irq_domain_ops * | ops | |
| void * | host_data | 
| 135 | of_node = to_of_node(fwnode) | 
| 143 | If Not domain Then Return NULL | 
| 146 | If fwnode && is_fwnode_irqchip(fwnode) Then | 
| 150 | Case type == IRQCHIP_FWNODE_NAMED | 
| 151 | Case type == IRQCHIP_FWNODE_NAMED_ID | 
| 160 | Default | 
| 180 | Else if of_node Then | 
| 201 | If Not name Then | 
| 204 | name = kasprintf(GFP_KERNEL, "unknown-%d", atomic_inc_return( & unknown_domains)) | 
| 206 | If Not name Then | 
| 216 | INIT_RADIX_TREE( & revmap_tree, GFP_KERNEL) | 
| 217 | mutex_init - initialize the mutex*@mutex: the mutex to be initialized* Initialize the mutex to unlocked state.* It is not allowed to initialize an already locked mutex.( & revmap_tree_mutex) | 
| 221 | revmap_size = size | 
| 225 | mutex_lock( & irq_domain_mutex) | 
| 231 | Return domain | 
| Name | Describe | 
|---|---|
| irq_domain_add_simple | q_domain_add_simple() - Register an irq_domain and optionally map a range of irqs*@of_node: pointer to interrupt controller's device tree node.*@size: total number of irqs in mapping*@first_irq: first number of irq block assigned to the domain, | 
| irq_domain_add_legacy | q_domain_add_legacy() - Allocate and register a legacy revmap irq_domain.*@of_node: pointer to interrupt controller's device tree node.*@size: total number of irqs in legacy mapping*@first_irq: first number of irq block assigned to the domain | 
| 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 |