Rev 4343 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 4343 | Rev 4344 | ||
---|---|---|---|
Line 143... | Line 143... | ||
143 | ch = '\n'; |
143 | ch = '\n'; |
144 | if (ch) { |
144 | if (ch) { |
145 | if (ski_kbd_irq.notif_cfg.notify && |
145 | if (ski_kbd_irq.notif_cfg.notify && |
146 | ski_kbd_irq.notif_cfg.answerbox) { |
146 | ski_kbd_irq.notif_cfg.answerbox) { |
147 | chardev_push_character(&ski_uconsole, ch); |
147 | chardev_push_character(&ski_uconsole, ch); |
148 | ipc_irq_send_notif(&ski_kbd_irq); |
148 | /* XXX: send notification to userspace */ |
149 | } else { |
149 | } else { |
150 | chardev_push_character(&ski_console, ch); |
150 | chardev_push_character(&ski_console, ch); |
151 | } |
151 | } |
152 | last = ch; |
152 | last = ch; |
153 | spinlock_unlock(&ski_kbd_irq.lock); |
153 | spinlock_unlock(&ski_kbd_irq.lock); |
Line 157... | Line 157... | ||
157 | 157 | ||
158 | if (last) { |
158 | if (last) { |
159 | if (ski_kbd_irq.notif_cfg.notify && |
159 | if (ski_kbd_irq.notif_cfg.notify && |
160 | ski_kbd_irq.notif_cfg.answerbox) { |
160 | ski_kbd_irq.notif_cfg.answerbox) { |
161 | chardev_push_character(&ski_uconsole, 0); |
161 | chardev_push_character(&ski_uconsole, 0); |
162 | ipc_irq_send_notif(&ski_kbd_irq); |
162 | /* XXX: send notification to userspace */ |
163 | } |
163 | } |
164 | last = 0; |
164 | last = 0; |
165 | } |
165 | } |
166 | 166 | ||
167 | spinlock_unlock(&ski_kbd_irq.lock); |
167 | spinlock_unlock(&ski_kbd_irq.lock); |
Line 184... | Line 184... | ||
184 | * |
184 | * |
185 | * This is only a virtual IRQ, so always decline. |
185 | * This is only a virtual IRQ, so always decline. |
186 | * |
186 | * |
187 | * @return Always IRQ_DECLINE. |
187 | * @return Always IRQ_DECLINE. |
188 | */ |
188 | */ |
189 | static irq_ownership_t ski_kbd_claim(void *instance) |
189 | static irq_ownership_t ski_kbd_claim(irq_t *irq) |
190 | { |
190 | { |
191 | return IRQ_DECLINE; |
191 | return IRQ_DECLINE; |
192 | } |
192 | } |
193 | 193 | ||
194 | static chardev_operations_t ski_ops = { |
194 | static chardev_operations_t ski_ops = { |