Function report |
Source Code:kernel\irq\manage.c |
Create Date:2022-07-28 10:10:10 |
Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
home page | Tree |
Annotation kernel can get tool activity | Download SCCT | Chinese |
Name:quest_nmi - allocate an interrupt line for NMI delivery*@irq: Interrupt line to allocate*@handler: Function to be called when the IRQ occurs
Proto:int request_nmi(unsigned int irq, irq_handler_t handler, unsigned long irqflags, const char *name, void *dev_id)
Type:int
Parameter:
Type | Parameter | Name |
---|---|---|
unsigned int | irq | |
irq_handler_t | handler | |
unsigned long | irqflags | |
const char * | name | |
void * | dev_id |
2121 | If irq == If a (PCI) device interrupt is not connected we set dev->irq to* IRQ_NOTCONNECTED Then Return -ENOTCONN |
2125 | If irqflags & ( allow sharing the irq among several devices | If the IRQ is shared with a NO_SUSPEND user | Interrupt is used for polling) Then Return -EINVAL |
2128 | If Not (irqflags & Interrupt is per cpu) Then Return -EINVAL |
2134 | desc = Interrupt to descriptor |
2136 | If Not desc || irq_settings_can_autoenable(desc) || Not irq_settings_can_request(desc) || WARN_ON(irq_settings_is_per_cpu_devid(desc)) || Not irq_supports_nmi(desc) Then Return -EINVAL |
2142 | action = kzalloc - allocate memory. The memory is set to zero.*@size: how many bytes of memory are required.*@flags: the type of memory to allocate (see kmalloc). |
2147 | flags = irqflags | Interrupt cannot be threaded | Flag to exclude this interrupt from irq balancing |
2151 | retval = q_chip_pm_get - Enable power for an IRQ chip*@data: Pointer to interrupt specific data* Enable the power to the IRQ chip referenced by the interrupt data* structure. |
2155 | retval = register an interrupt |
2156 | If retval Then Go to err_irq_setup |
2159 | raw_spin_lock_irqsave( & lock, flags) |
2163 | retval = irq_nmi_setup(desc) |
2164 | If retval Then |
2166 | raw_spin_unlock_irqrestore( & lock, flags) |
2167 | Return -EINVAL |
2170 | raw_spin_unlock_irqrestore( & lock, flags) |
2172 | Return 0 |
2174 | err_irq_setup : |
2176 | err_out : |
2179 | Return retval |
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 |