Subversion Repositories HelenOS

Rev

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 = {