=================================================================== RCS file: /cvs/prex-old/dev/i386/pc/kbd.c,v retrieving revision 1.1.1.1 retrieving revision 1.1.1.1.2.1 diff -u -r1.1.1.1 -r1.1.1.1.2.1 --- prex-old/dev/i386/pc/kbd.c 2008/06/03 10:38:41 1.1.1.1 +++ prex-old/dev/i386/pc/kbd.c 2008/08/13 17:12:23 1.1.1.1.2.1 @@ -34,13 +34,11 @@ #include #include #include -#include +#include #include +#include #include "kmc.h" -extern void console_attach(struct tty **tpp); - - /* Parameters */ #define KBD_IRQ 1 @@ -55,6 +53,9 @@ /* init */ kbd_init, }; +/* + * Device I/O table + */ static struct devio kbd_io = { /* open */ NULL, /* close */ NULL, @@ -81,7 +82,7 @@ K_DOWN, K_PGDN, K_INS, 0x7f, K_F11, K_F12 }; -#define KEY_MAX (sizeof(key_map) / sizeof(u_char)) +#define KEY_MAX (sizeof(key_map) / sizeof(char)) static const u_char shift_map[] = { 0, 0x1b, '!', '@', '#', '$', '%', '^', @@ -98,7 +99,7 @@ }; static device_t kbd_dev; /* Device object */ -static int kbd_irq; /* Handle for keyboard irq */ +static irq_t kbd_irq; /* Handle for keyboard irq */ static struct tty *tty; static int shift; @@ -113,7 +114,7 @@ * Send command to keyboard controller */ static void -kbd_cmd(int cmd) +kbd_cmd(u_char cmd) { wait_ibe(); @@ -134,7 +135,7 @@ while (inb(KMC_STS) & 2); } -#ifdef CONFIG_KDUMP +#ifdef DEBUG /* * Help for keyboard debug function */ @@ -142,8 +143,8 @@ kbd_dump_help(void) { - printk("\nSystem dump usage:\n"); - printk("F1=help F2=thread F3=task F4=object F5=timer F6=irq F7=dev F8=mem F9=dmesg\n"); + printf("\nSystem dump usage:\n"); + printf("F1=help F2=thread F3=task F4=mem\n"); } #endif @@ -155,7 +156,8 @@ kbd_isr(int irq) { u_char sc, ac; /* scan & ascii code */ - int val, press; + u_char val; + int press; /* Get scan code */ wait_obf(); @@ -199,7 +201,7 @@ if (!press) return 0; -#ifdef CONFIG_KDUMP +#ifdef DEBUG if (ac == K_F1) { kbd_dump_help(); return 0; @@ -216,7 +218,6 @@ /* Check Alt+Ctrl+Del */ if (alt && ctrl && ac == 0x7f) { - printk("Rebooting..."); machine_reset(); } @@ -283,7 +284,7 @@ /* kbd_setleds(); */ kbd_irq = irq_attach(KBD_IRQ, IPL_INPUT, 0, kbd_isr, kbd_ist); - ASSERT(kbd_irq != -1); + ASSERT(kbd_irq != IRQ_NULL); /* Discard garbage data */ while (inb(KMC_STS) & STS_OBF)