Rev 1702 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
| Rev 1702 | Rev 1757 | ||
|---|---|---|---|
| Line 24... | Line 24... | ||
| 24 | * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
24 | * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
| 25 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF |
25 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF |
| 26 | * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
26 | * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
| 27 | */ |
27 | */ |
| 28 | 28 | ||
| 29 | /** @addtogroup genericipc |
29 | /** @addtogroup genericipc |
| 30 | * @{ |
30 | * @{ |
| 31 | */ |
31 | */ |
| 32 | /** @file |
32 | /** |
| 33 | */ |
33 | * @file |
| 34 | - | ||
| 35 | /** IRQ notification framework |
34 | * @brief IRQ notification framework. |
| 36 | * |
35 | * |
| 37 | * This framework allows applications to register to receive a notification |
36 | * This framework allows applications to register to receive a notification |
| 38 | * when interrupt is detected. The application may provide a simple 'top-half' |
37 | * when interrupt is detected. The application may provide a simple 'top-half' |
| 39 | * handler as part of its registration, which can perform simple operations |
38 | * handler as part of its registration, which can perform simple operations |
| 40 | * (read/write port/memory, add information to notification ipc message). |
39 | * (read/write port/memory, add information to notification ipc message). |
| Line 314... | Line 313... | ||
| 314 | } |
313 | } |
| 315 | } |
314 | } |
| 316 | 315 | ||
| 317 | /** Disconnect all irq's notifications |
316 | /** Disconnect all irq's notifications |
| 318 | * |
317 | * |
| 319 | * TODO: It may be better to do some linked list, so that |
318 | * @todo It may be better to do some linked list, so that |
| 320 | * we wouldn't need to go through whole array every cleanup |
319 | * we wouldn't need to go through whole array every cleanup |
| 321 | */ |
320 | */ |
| 322 | void ipc_irq_cleanup(answerbox_t *box) |
321 | void ipc_irq_cleanup(answerbox_t *box) |
| 323 | { |
322 | { |
| 324 | int i; |
323 | int i; |
| Line 332... | Line 331... | ||
| 332 | spinlock_unlock(&irq_conns[i].lock); |
331 | spinlock_unlock(&irq_conns[i].lock); |
| 333 | interrupts_restore(ipl); |
332 | interrupts_restore(ipl); |
| 334 | } |
333 | } |
| 335 | } |
334 | } |
| 336 | 335 | ||
| 337 | /** @} |
336 | /** @} |
| 338 | */ |
337 | */ |
| 339 | - | ||