函数逻辑报告 |
Source Code:kernel\irq\manage.c |
Create Date:2022-07-27 11:10:18 |
| Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
| 首页 | 函数Tree |
| 注解内核,赢得工具 | 下载SCCT | English |
函数名称:Internal function to unregister a percpu irqaction.
函数原型:static struct irqaction *__free_percpu_irq(unsigned int irq, void __percpu *dev_id)
返回类型:struct irqaction
参数:
| 类型 | 参数 | 名称 |
|---|---|---|
| unsigned int | irq | |
| void __percpu * | dev_id |
| 2274 | WARN(in_interrupt(), "Trying to free IRQ %d from IRQ context!\n", irq) |
| 2276 | 如果非desc则返回:NULL |
| 2279 | raw_spin_lock_irqsave( & 自旋锁, flags) |
| 2282 | 如果非action或percpu_dev_id不等于dev_id则 |
| 2288 | WARN(1, "percpu IRQ %d still enabled on CPU%d!\n", irq, Uniprocessor. Assume all masks are "1". ) |
| 2290 | 转到:bad |
| 2294 | 中断服务例程链表 = NULL |
| 2298 | raw_spin_unlock_irqrestore( & 自旋锁, flags) |
| 2300 | unregister_handler_proc(irq, action) |
| 2303 | module_put(owner) |
| 2304 | 返回:action |
| 2306 | bad : |
| 2307 | raw_spin_unlock_irqrestore( & 自旋锁, flags) |
| 2308 | 返回:NULL |
| 名称 | 描述 |
|---|---|
| remove_percpu_irq | move_percpu_irq - free a per-cpu interrupt*@irq: Interrupt line to free*@act: irqaction for the interrupt* Used to remove interrupts statically setup by the early boot process. |
| free_percpu_irq | _percpu_irq - free an interrupt allocated with request_percpu_irq*@irq: Interrupt line to free*@dev_id: Device identity to free* Remove a percpu interrupt handler. The handler is removed, but* the interrupt line is not disabled. This must be done on each |
| free_percpu_nmi |
| 源代码转换工具 开放的插件接口 | X |
|---|---|
| 支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |