diff options
Diffstat (limited to 'sys')
-rw-r--r-- | sys/dev/atkbdc/atkbd.c | 3 | ||||
-rw-r--r-- | sys/dev/atkbdc/atkbdreg.h | 1 | ||||
-rw-r--r-- | sys/dev/kbd/atkbd.c | 3 | ||||
-rw-r--r-- | sys/dev/kbd/atkbdreg.h | 1 |
4 files changed, 6 insertions, 2 deletions
diff --git a/sys/dev/atkbdc/atkbd.c b/sys/dev/atkbdc/atkbd.c index 5d6822e..1335bc6 100644 --- a/sys/dev/atkbdc/atkbd.c +++ b/sys/dev/atkbdc/atkbd.c @@ -1117,7 +1117,8 @@ probe_keyboard(KBDC kbdc, int flags) * to set the command byte to particular values. */ test_controller(kbdc); - test_kbd_port(kbdc); + if (!(flags & KB_CONF_NO_PROBE_TEST)) + test_kbd_port(kbdc); err = get_kbd_echo(kbdc); diff --git a/sys/dev/atkbdc/atkbdreg.h b/sys/dev/atkbdc/atkbdreg.h index 4ae93e3..f60e48c 100644 --- a/sys/dev/atkbdc/atkbdreg.h +++ b/sys/dev/atkbdc/atkbdreg.h @@ -35,6 +35,7 @@ #define KB_CONF_FAIL_IF_NO_KBD (1 << 0) /* don't install if no kbd is found */ #define KB_CONF_NO_RESET (1 << 1) /* don't reset the keyboard */ #define KB_CONF_ALT_SCANCODESET (1 << 2) /* assume the XT type keyboard */ +#define KB_CONF_NO_PROBE_TEST (1 << 3) /* don't test keyboard during probe */ #ifdef _KERNEL diff --git a/sys/dev/kbd/atkbd.c b/sys/dev/kbd/atkbd.c index 5d6822e..1335bc6 100644 --- a/sys/dev/kbd/atkbd.c +++ b/sys/dev/kbd/atkbd.c @@ -1117,7 +1117,8 @@ probe_keyboard(KBDC kbdc, int flags) * to set the command byte to particular values. */ test_controller(kbdc); - test_kbd_port(kbdc); + if (!(flags & KB_CONF_NO_PROBE_TEST)) + test_kbd_port(kbdc); err = get_kbd_echo(kbdc); diff --git a/sys/dev/kbd/atkbdreg.h b/sys/dev/kbd/atkbdreg.h index 4ae93e3..f60e48c 100644 --- a/sys/dev/kbd/atkbdreg.h +++ b/sys/dev/kbd/atkbdreg.h @@ -35,6 +35,7 @@ #define KB_CONF_FAIL_IF_NO_KBD (1 << 0) /* don't install if no kbd is found */ #define KB_CONF_NO_RESET (1 << 1) /* don't reset the keyboard */ #define KB_CONF_ALT_SCANCODESET (1 << 2) /* assume the XT type keyboard */ +#define KB_CONF_NO_PROBE_TEST (1 << 3) /* don't test keyboard during probe */ #ifdef _KERNEL |