Rev 2307 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
| Rev 2307 | Rev 2456 | ||
|---|---|---|---|
| Line 69... | Line 69... | ||
| 69 | #include <ddi/irq.h> |
69 | #include <ddi/irq.h> |
| 70 | #include <adt/hash_table.h> |
70 | #include <adt/hash_table.h> |
| 71 | #include <arch/types.h> |
71 | #include <arch/types.h> |
| 72 | #include <synch/spinlock.h> |
72 | #include <synch/spinlock.h> |
| 73 | #include <arch.h> |
73 | #include <arch.h> |
| - | 74 | #include <synch/rcu.h> |
|
| - | 75 | ||
| 74 | 76 | ||
| 75 | #define KEY_INR 0 |
77 | #define KEY_INR 0 |
| 76 | #define KEY_DEVNO 1 |
78 | #define KEY_DEVNO 1 |
| 77 | 79 | ||
| 78 | /** |
80 | /** |
| Line 143... | Line 145... | ||
| 143 | irq->devno = -1; |
145 | irq->devno = -1; |
| 144 | irq->trigger = (irq_trigger_t) 0; |
146 | irq->trigger = (irq_trigger_t) 0; |
| 145 | irq->claim = NULL; |
147 | irq->claim = NULL; |
| 146 | irq->handler = NULL; |
148 | irq->handler = NULL; |
| 147 | irq->arg = NULL; |
149 | irq->arg = NULL; |
| - | 150 | irq->notif_cfg = malloc(sizeof(ipc_notif_cfg_t), 0); |
|
| 148 | irq->notif_cfg.notify = false; |
151 | irq->notif_cfg->notify = false; |
| 149 | irq->notif_cfg.answerbox = NULL; |
152 | irq->notif_cfg->answerbox = NULL; |
| 150 | irq->notif_cfg.code = NULL; |
153 | irq->notif_cfg->code = NULL; |
| 151 | irq->notif_cfg.method = 0; |
154 | irq->notif_cfg->method = 0; |
| 152 | irq->notif_cfg.counter = 0; |
155 | irq->notif_cfg->counter = 0; |
| 153 | link_initialize(&irq->notif_cfg.link); |
156 | link_initialize(&irq->notif_cfg->link); |
| 154 | } |
157 | } |
| 155 | 158 | ||
| 156 | /** Register IRQ for device. |
159 | /** Register IRQ for device. |
| 157 | * |
160 | * |
| 158 | * The irq structure must be filled with information |
161 | * The irq structure must be filled with information |