diff options
| author | Kyle Evans <kevans@FreeBSD.org> | 2019-12-16 16:41:24 +0000 |
|---|---|---|
| committer | Kyle Evans <kevans@FreeBSD.org> | 2019-12-16 16:41:24 +0000 |
| commit | 5a7a578be9e92e1ceb16fced892a9e4f2eba1712 (patch) | |
| tree | 909914ece201178363199d1ebc8f88d2c8142afa /sys/dev/kbdmux | |
| parent | 1fa29c42bb742a5f31926b7a4eb61b6164734d00 (diff) | |
Notes
Diffstat (limited to 'sys/dev/kbdmux')
| -rw-r--r-- | sys/dev/kbdmux/kbdmux.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/sys/dev/kbdmux/kbdmux.c b/sys/dev/kbdmux/kbdmux.c index c2a8bd2779db..d88d1e48dd0e 100644 --- a/sys/dev/kbdmux/kbdmux.c +++ b/sys/dev/kbdmux/kbdmux.c @@ -1423,11 +1423,15 @@ kbdmux_modevent(module_t mod, int type, void *data) switch (type) { case MOD_LOAD: +#ifdef KLD_MODULE if ((error = kbd_add_driver(&kbdmux_kbd_driver)) != 0) break; +#endif if ((sw = kbd_get_switch(KEYBOARD_NAME)) == NULL) { +#ifdef KLD_MODULE kbd_delete_driver(&kbdmux_kbd_driver); +#endif error = ENXIO; break; } @@ -1436,14 +1440,18 @@ kbdmux_modevent(module_t mod, int type, void *data) if ((error = (*sw->probe)(0, NULL, 0)) != 0 || (error = (*sw->init)(0, &kbd, NULL, 0)) != 0) { +#ifdef KLD_MODULE kbd_delete_driver(&kbdmux_kbd_driver); +#endif break; } #ifdef KBD_INSTALL_CDEV if ((error = kbd_attach(kbd)) != 0) { (*sw->term)(kbd); +#ifdef KLD_MODULE kbd_delete_driver(&kbdmux_kbd_driver); +#endif break; } #endif @@ -1454,7 +1462,9 @@ kbdmux_modevent(module_t mod, int type, void *data) kbd_detach(kbd); #endif (*sw->term)(kbd); +#ifdef KLD_MODULE kbd_delete_driver(&kbdmux_kbd_driver); +#endif break; } break; @@ -1470,7 +1480,9 @@ kbdmux_modevent(module_t mod, int type, void *data) kbd_detach(kbd); #endif (*sw->term)(kbd); +#ifdef KLD_MODULE kbd_delete_driver(&kbdmux_kbd_driver); +#endif } error = 0; break; |
