handle.c (1277a5325adfc53caac7dd3dac5d3d2fd2a125b4) | handle.c (009b4c3b8ad584b3462734127a5bec680d5d6af4) |
---|---|
1/* 2 * linux/kernel/irq/handle.c 3 * 4 * Copyright (C) 1992, 1998-2006 Linus Torvalds, Ingo Molnar 5 * Copyright (C) 2005-2006, Thomas Gleixner, Russell King 6 * 7 * This file contains the core interrupt handling code. 8 * --- 109 unchanged lines hidden (view full) --- 118} 119 120irqreturn_t handle_irq_event(struct irq_desc *desc) 121{ 122 struct irqaction *action = desc->action; 123 irqreturn_t ret; 124 125 desc->status &= ~IRQ_PENDING; | 1/* 2 * linux/kernel/irq/handle.c 3 * 4 * Copyright (C) 1992, 1998-2006 Linus Torvalds, Ingo Molnar 5 * Copyright (C) 2005-2006, Thomas Gleixner, Russell King 6 * 7 * This file contains the core interrupt handling code. 8 * --- 109 unchanged lines hidden (view full) --- 118} 119 120irqreturn_t handle_irq_event(struct irq_desc *desc) 121{ 122 struct irqaction *action = desc->action; 123 irqreturn_t ret; 124 125 desc->status &= ~IRQ_PENDING; |
126 desc->status |= IRQ_INPROGRESS; | 126 irq_compat_set_progress(desc); 127 desc->istate |= IRQS_INPROGRESS; |
127 raw_spin_unlock(&desc->lock); 128 129 ret = handle_irq_event_percpu(desc, action); 130 131 raw_spin_lock(&desc->lock); | 128 raw_spin_unlock(&desc->lock); 129 130 ret = handle_irq_event_percpu(desc, action); 131 132 raw_spin_lock(&desc->lock); |
132 desc->status &= ~IRQ_INPROGRESS; | 133 desc->istate &= ~IRQS_INPROGRESS; 134 irq_compat_clr_progress(desc); |
133 return ret; 134} 135 136/** 137 * handle_IRQ_event - irq action chain handler 138 * @irq: the interrupt number 139 * @action: the interrupt action chain for this irq 140 * 141 * Handles the action chain of an irq event 142 */ 143irqreturn_t handle_IRQ_event(unsigned int irq, struct irqaction *action) 144{ 145 return handle_irq_event_percpu(irq_to_desc(irq), action); 146} | 135 return ret; 136} 137 138/** 139 * handle_IRQ_event - irq action chain handler 140 * @irq: the interrupt number 141 * @action: the interrupt action chain for this irq 142 * 143 * Handles the action chain of an irq event 144 */ 145irqreturn_t handle_IRQ_event(unsigned int irq, struct irqaction *action) 146{ 147 return handle_irq_event_percpu(irq_to_desc(irq), action); 148} |