diff --git a/sys/dev/adb/adb_kbd.c b/sys/dev/adb/adb_kbd.c index 82003692804d..fbd0a8a84d73 100644 --- a/sys/dev/adb/adb_kbd.c +++ b/sys/dev/adb/adb_kbd.c @@ -850,11 +850,15 @@ akbd_modevent(module_t mod, int type, void *data) { switch (type) { case MOD_LOAD: +#ifdef KLD_MODULE kbd_add_driver(&akbd_kbd_driver); +#endif break; case MOD_UNLOAD: +#ifdef KLD_MODULE kbd_delete_driver(&akbd_kbd_driver); +#endif break; default: diff --git a/sys/dev/gpio/gpiokeys.c b/sys/dev/gpio/gpiokeys.c index 714bca6e61fb..492aad8541dc 100644 --- a/sys/dev/gpio/gpiokeys.c +++ b/sys/dev/gpio/gpiokeys.c @@ -983,6 +983,8 @@ KEYBOARD_DRIVER(gpiokeys, gpiokeyssw, gpiokeys_configure); static int gpiokeys_driver_load(module_t mod, int what, void *arg) { + +#ifdef KLD_MODULE switch (what) { case MOD_LOAD: kbd_add_driver(&gpiokeys_kbd_driver); @@ -991,6 +993,7 @@ gpiokeys_driver_load(module_t mod, int what, void *arg) kbd_delete_driver(&gpiokeys_kbd_driver); break; } +#endif return (0); } diff --git a/sys/dev/hyperv/input/hv_kbd.c b/sys/dev/hyperv/input/hv_kbd.c index 3be18da0efef..af3288139127 100644 --- a/sys/dev/hyperv/input/hv_kbd.c +++ b/sys/dev/hyperv/input/hv_kbd.c @@ -490,6 +490,8 @@ hv_kbd_intr(hv_kbd_sc *sc) int hvkbd_driver_load(module_t mod, int what, void *arg) { + +#ifdef KLD_MODULE switch (what) { case MOD_LOAD: kbd_add_driver(&hvkbd_kbd_driver); @@ -498,6 +500,7 @@ hvkbd_driver_load(module_t mod, int what, void *arg) kbd_delete_driver(&hvkbd_kbd_driver); break; } +#endif return (0); } 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; diff --git a/sys/dev/usb/input/ukbd.c b/sys/dev/usb/input/ukbd.c index 88f1035d70ef..eca326153852 100644 --- a/sys/dev/usb/input/ukbd.c +++ b/sys/dev/usb/input/ukbd.c @@ -2290,6 +2290,7 @@ KEYBOARD_DRIVER(ukbd, ukbdsw, ukbd_configure); static int ukbd_driver_load(module_t mod, int what, void *arg) { +#ifdef KLD_MODULE switch (what) { case MOD_LOAD: kbd_add_driver(&ukbd_kbd_driver); @@ -2298,6 +2299,7 @@ ukbd_driver_load(module_t mod, int what, void *arg) kbd_delete_driver(&ukbd_kbd_driver); break; } +#endif return (0); } diff --git a/sys/dev/vkbd/vkbd.c b/sys/dev/vkbd/vkbd.c index 9f7ccd6b1914..21cbf8286d73 100644 --- a/sys/dev/vkbd/vkbd.c +++ b/sys/dev/vkbd/vkbd.c @@ -1360,11 +1360,15 @@ vkbd_modevent(module_t mod, int type, void *data) clone_cleanup(&vkbd_dev_clones); return (ENOMEM); } +#ifdef KLD_MODULE kbd_add_driver(&vkbd_kbd_driver); +#endif break; case MOD_UNLOAD: +#ifdef KLD_MODULE kbd_delete_driver(&vkbd_kbd_driver); +#endif EVENTHANDLER_DEREGISTER(dev_clone, tag); clone_cleanup(&vkbd_dev_clones); break;