summaryrefslogtreecommitdiff
path: root/sys/dev/kbd
diff options
context:
space:
mode:
authorKazutaka YOKOTA <yokota@FreeBSD.org>2000-03-11 07:44:10 +0000
committerKazutaka YOKOTA <yokota@FreeBSD.org>2000-03-11 07:44:10 +0000
commita68d00e3fed024f2b4e3d94064751315b0a9d453 (patch)
tree980c123438aaf2cb1e7943213d1780f550c1808c /sys/dev/kbd
parent510a809e64832436400936b58729b59ac3e8b402 (diff)
Notes
Diffstat (limited to 'sys/dev/kbd')
-rw-r--r--sys/dev/kbd/atkbd.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/sys/dev/kbd/atkbd.c b/sys/dev/kbd/atkbd.c
index 2dc98779e5ae..549dc43e114d 100644
--- a/sys/dev/kbd/atkbd.c
+++ b/sys/dev/kbd/atkbd.c
@@ -1108,6 +1108,17 @@ probe_keyboard(KBDC kbdc, int flags)
test_kbd_port(kbdc);
err = get_kbd_echo(kbdc);
+
+ /*
+ * Even if the keyboard doesn't seem to be present (err != 0),
+ * we shall enable the keyboard port and interrupt so that
+ * the driver will be operable when the keyboard is attached
+ * to the system later. It is NOT recommended to hot-plug
+ * the AT keyboard, but many people do so...
+ */
+ kbdc_set_device_mask(kbdc, m | KBD_KBD_CONTROL_BITS);
+ setup_kbd_port(kbdc, TRUE, TRUE);
+#if 0
if (err == 0) {
kbdc_set_device_mask(kbdc, m | KBD_KBD_CONTROL_BITS);
} else {
@@ -1115,6 +1126,7 @@ probe_keyboard(KBDC kbdc, int flags)
set_controller_command_byte(kbdc, 0xff, c);
kbdc_set_device_mask(kbdc, m);
}
+#endif
kbdc_lock(kbdc, FALSE);
return err;