Rev 3343 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
| Rev 3343 | Rev 3665 | ||
|---|---|---|---|
| Line 81... | Line 81... | ||
| 81 | } irq_trigger_t; |
81 | } irq_trigger_t; |
| 82 | 82 | ||
| 83 | struct irq; |
83 | struct irq; |
| 84 | typedef void (* irq_handler_t)(struct irq *irq, void *arg, ...); |
84 | typedef void (* irq_handler_t)(struct irq *irq, void *arg, ...); |
| 85 | 85 | ||
| - | 86 | /** Type for function used to clear the interrupt. */ |
|
| - | 87 | typedef void (* cir_t)(void *arg, inr_t inr); |
|
| - | 88 | ||
| 86 | /** IPC notification config structure. |
89 | /** IPC notification config structure. |
| 87 | * |
90 | * |
| 88 | * Primarily, this structure is encapsulated in the irq_t structure. |
91 | * Primarily, this structure is encapsulated in the irq_t structure. |
| 89 | * It is protected by irq_t::lock. |
92 | * It is protected by irq_t::lock. |
| 90 | */ |
93 | */ |
| Line 142... | Line 145... | ||
| 142 | /** Handler for this IRQ and device. */ |
145 | /** Handler for this IRQ and device. */ |
| 143 | irq_handler_t handler; |
146 | irq_handler_t handler; |
| 144 | /** Argument for the handler. */ |
147 | /** Argument for the handler. */ |
| 145 | void *arg; |
148 | void *arg; |
| 146 | 149 | ||
| - | 150 | /** Clear interrupt routine. */ |
|
| - | 151 | cir_t cir; |
|
| - | 152 | /** First argument to the clear interrupt routine. */ |
|
| - | 153 | void *cir_arg; |
|
| - | 154 | ||
| 147 | /** Notification configuration structure. */ |
155 | /** Notification configuration structure. */ |
| 148 | ipc_notif_cfg_t notif_cfg; |
156 | ipc_notif_cfg_t notif_cfg; |
| 149 | } irq_t; |
157 | } irq_t; |
| 150 | 158 | ||
| 151 | extern void irq_init(count_t inrs, count_t chains); |
159 | extern void irq_init(count_t inrs, count_t chains); |