Subversion Repositories HelenOS

Compare Revisions

Ignore whitespace Rev 3933 → Rev 3934

/trunk/kernel/genarch/src/kbd/i8042.c
52,7 → 52,7
#include <ipc/irq.h>
 
i8042_instance_t lgcy_i8042_instance = {
.i8042 = (i8042_t *) i8042_BASE,
.i8042 = (i8042_t *) I8042_BASE,
};
 
/* Keyboard commands. */
88,7 → 88,6
static chardev_operations_t ops = {
.suspend = i8042_suspend,
.resume = i8042_resume,
.read = i8042_key_read
};
 
/** Structure for i8042's IRQ. */
228,25 → 227,5
{
}
 
char i8042_key_read(chardev_t *d)
{
i8042_t *dev = lgcy_i8042_instance.i8042;
char ch;
while (!(ch = active_read_buff_read())) {
uint8_t x;
while (!(pio_read_8(&dev->status) & i8042_BUFFER_FULL_MASK))
;
x = pio_read_8(&dev->data);
if (x & KEY_RELEASE)
key_released(x ^ KEY_RELEASE);
else
active_read_key_pressed(x);
}
return ch;
}
 
/** @}
*/