| Function report | 
| Source Code: kernel\irq\manage.c | Create Date:2022-07-28 10:09:56 | 
| 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 an irqaction - used to free* regular and special interrupts that are part of the architecture.
Proto:static struct irqaction *__free_irq(struct irq_desc *desc, void *dev_id)
Type:struct irqaction
Parameter:
| Type | Parameter | Name | 
|---|---|---|
| struct irq_desc * | desc | |
| void * | dev_id | 
| 1678 | WARN(in_interrupt(), "Trying to free IRQ %d from IRQ context!\n", irq) | 
| 1680 | mutex_lock( & request_mutex) | 
| 1682 | raw_spin_lock_irqsave( & lock, flags) | 
| 1688 | action_ptr = IRQ action list | 
| 1689 | cycle | 
| 1690 | action = action_ptr | 
| 1692 | If Not action Then | 
| 1702 | action_ptr = next | 
| 1706 | action_ptr = next | 
| 1708 | irq_pm_remove_action(desc, action) | 
| 1711 | If Not IRQ action list Then | 
| 1714 | irq_shutdown(desc) | 
| 1723 | raw_spin_unlock_irqrestore( & lock, flags) | 
| 1738 | chip_bus_sync_unlock(desc) | 
| 1740 | unregister_handler_proc(irq, action) | 
| 1747 | __synchronize_hardirq(desc, true) | 
| 1771 | If thread Then | 
| 1781 | If Not IRQ action list Then | 
| 1791 | raw_spin_lock_irqsave( & lock, flags) | 
| 1792 | irq_domain_deactivate_irq( & irq_data) | 
| 1793 | raw_spin_unlock_irqrestore( & lock, flags) | 
| 1795 | irq_release_resources(desc) | 
| 1796 | chip_bus_sync_unlock(desc) | 
| 1797 | irq_remove_timings(desc) | 
| 1803 | module_put(owner) | 
| 1805 | Return action | 
| Name | Describe | 
|---|---|
| remove_irq | move_irq - free an interrupt*@irq: Interrupt line to free*@act: irqaction for the interrupt* Used to remove interrupts statically setup by the early boot process. | 
| free_irq | _irq - free an interrupt allocated with request_irq*@irq: Interrupt line to free*@dev_id: Device identity to free* Remove an interrupt handler | 
| 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 |