Function report |
Source Code:kernel\irq\manage.c |
Create Date:2022-07-28 10:10:15 |
| Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
| home page | Tree |
| Annotation kernel can get tool activity | Download SCCT | Chinese |
Name:Internal function to unregister a percpu irqaction.
Proto:static struct irqaction *__free_percpu_irq(unsigned int irq, void __percpu *dev_id)
Type:struct irqaction
Parameter:
| Type | Parameter | Name |
|---|---|---|
| unsigned int | irq | |
| void __percpu * | dev_id |
| 2270 | desc = Interrupt to descriptor |
| 2274 | WARN(in_interrupt(), "Trying to free IRQ %d from IRQ context!\n", irq) |
| 2276 | If Not desc Then Return NULL |
| 2279 | raw_spin_lock_irqsave( & lock, flags) |
| 2281 | action = IRQ action list |
| 2282 | If Not action || percpu_dev_id != dev_id Then |
| 2288 | WARN(1, "percpu IRQ %d still enabled on CPU%d!\n", irq, Uniprocessor. Assume all masks are "1". ) |
| 2290 | Go to bad |
| 2294 | IRQ action list = NULL |
| 2298 | raw_spin_unlock_irqrestore( & lock, flags) |
| 2300 | unregister_handler_proc(irq, action) |
| 2303 | module_put(owner) |
| 2304 | Return action |
| 2306 | bad : |
| 2307 | raw_spin_unlock_irqrestore( & lock, flags) |
| 2308 | Return NULL |
| Name | Describe |
|---|---|
| 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 |
| 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 |