diff --git a/include/devices.h b/include/devices.h index be629c7..2e7acaf 100644 --- a/include/devices.h +++ b/include/devices.h @@ -10,7 +10,6 @@ /* keyboard device */ #define KB_READ_KEY 0 -#define KB_READ_KEY_NONBLOCK 1 /* drive devices */ #define XDRV_TYPE_RAMDRV 0 diff --git a/kernel/device/device.c b/kernel/device/device.c index e7c2133..a4e1600 100644 --- a/kernel/device/device.c +++ b/kernel/device/device.c @@ -188,7 +188,6 @@ static void ps2kb_device_init (void) { device_op_func_t ops[] = { [KB_READ_KEY] = &ps2kb_read_key, - [KB_READ_KEY_NONBLOCK] = &ps2kb_read_key_nonblock, }; device_create ("kb", ops, lengthof (ops), &ps2kb_init, &ps2kb_fini, NULL, thiscpu->kproc, &rctx); } diff --git a/kernel/device/ps2_kb.c b/kernel/device/ps2_kb.c index 0e66a41..16bfff0 100644 --- a/kernel/device/ps2_kb.c +++ b/kernel/device/ps2_kb.c @@ -213,33 +213,6 @@ DEFINE_DEVICE_OP (ps2kb_read_key) { return ST_OK; } -DEFINE_DEVICE_OP (ps2kb_read_key_nonblock) { - uint64_t frb; - - uint8_t* chbuf = (uint8_t*)a1; - - if (chbuf == NULL) - return -ST_BAD_ADDRESS_SPACE; - - spin_lock (&ps2kb_ringbuffer_lock, &frb); - - size_t prev_count = ps2kb_ringbuffer.count; - - ringbuffer_pop (uint8_t, &ps2kb_ringbuffer, chbuf); - - size_t new_count = ps2kb_ringbuffer.count; - - /* didn't pop anything */ - if (prev_count == new_count) { - spin_unlock (&ps2kb_ringbuffer_lock, frb); - return -ST_TRY_AGAIN; - } - - spin_unlock (&ps2kb_ringbuffer_lock, frb); - - return ST_OK; -} - static void ps2kb_set_typematic (uint8_t delay, uint8_t rate) { while (inb (KB_CTL_STATUS) & 0x02) ; diff --git a/kernel/device/ps2_kb.h b/kernel/device/ps2_kb.h index becf51b..c9957af 100644 --- a/kernel/device/ps2_kb.h +++ b/kernel/device/ps2_kb.h @@ -11,8 +11,6 @@ struct device; DEFINE_DEVICE_OP (ps2kb_read_key); -DEFINE_DEVICE_OP (ps2kb_read_key_nonblock); - DEFINE_DEVICE_INIT (ps2kb_init); DEFINE_DEVICE_FINI (ps2kb_fini); diff --git a/libkb/kb.c b/libkb/kb.c index 2620faf..b67041e 100644 --- a/libkb/kb.c +++ b/libkb/kb.c @@ -13,13 +13,3 @@ int kb_read_key (void) { else return r; } - -int kb_read_key_nonblock (void) { - char ch = 0; - int r = device_do ("kb", KB_READ_KEY_NONBLOCK, &ch, NULL, NULL, NULL); - - if (r == ST_OK) - return (int)ch; - else - return r; -} diff --git a/libkb/kb.h b/libkb/kb.h index 9c9e612..73e3bee 100644 --- a/libkb/kb.h +++ b/libkb/kb.h @@ -7,6 +7,4 @@ int kb_read_key (void); -int kb_read_key_nonblock (void); - #endif // _LIBKB_KB_H