函数逻辑报告 |
Source Code:kernel\irq\irqdomain.c |
Create Date:2022-07-27 11:13:58 |
Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
首页 | 函数Tree |
注解内核,赢得工具 | 下载SCCT | English |
函数名称:__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
函数原型: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)
返回类型:struct irq_domain
参数:
类型 | 参数 | 名称 |
---|---|---|
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) |
141 | domain等于根据内存节点分配内存 |
143 | 如果非domain则返回:NULL |
146 | 如果fwnode且is_fwnode_irqchip(fwnode)则 |
150 | 当:type恒等于IRQCHIP_FWNODE_NAMED |
151 | 当:type恒等于IRQCHIP_FWNODE_NAMED_ID |
152 | Optional data 等于fwnode |
153 | 硬件中断对象名等于kstrdup(name, GFP_KERNEL) |
154 | 如果非硬件中断对象名则 |
155 | 释放内存 |
156 | 返回:NULL |
159 | 退出 |
160 | 默认 |
180 | 否则如果of_node则 |
188 | name等于kasprintf(GFP_KERNEL, "%pOF", of_node) |
189 | 如果非name则 |
190 | 释放内存 |
191 | 返回:NULL |
194 | 替换字符串中的所有字符 |
197 | Optional data 等于fwnode |
201 | 如果非硬件中断对象名则 |
204 | 硬件中断对象名等于kasprintf(GFP_KERNEL, "unknown-%d", atomic_inc_return( & unknown_domains)) |
206 | 如果非硬件中断对象名则 |
207 | 释放内存 |
208 | 返回:NULL |
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) |
227 | 添加链表项 |
231 | 返回:domain |
名称 | 描述 |
---|---|
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 |
源代码转换工具 开放的插件接口 | X |
---|---|
支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |