Rev 2218 | Rev 3875 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 2218 | Rev 3655 | ||
---|---|---|---|
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); |