Author: kevans Date: Thu Dec 26 17:09:36 2019 New Revision: 356091 URL: https://svnweb.freebsd.org/changeset/base/356091
Log: Revert r355806: kbd drivers: don't double register keyboard drivers r356087 made it rather innocuous to double-register built-in keyboard drivers; we now set a flag to indicate that it's been registered and only act once on a registration anyways. There is no misleading here, as the follow-up kbd_delete_driver will actually remove the driver as needed now that the linker set isn't also consulted after kbdinit. Modified: head/sys/dev/adb/adb_kbd.c head/sys/dev/gpio/gpiokeys.c head/sys/dev/hyperv/input/hv_kbd.c head/sys/dev/kbdmux/kbdmux.c head/sys/dev/usb/input/ukbd.c head/sys/dev/vkbd/vkbd.c Modified: head/sys/dev/adb/adb_kbd.c ============================================================================== --- head/sys/dev/adb/adb_kbd.c Thu Dec 26 16:58:11 2019 (r356090) +++ head/sys/dev/adb/adb_kbd.c Thu Dec 26 17:09:36 2019 (r356091) @@ -850,15 +850,11 @@ 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: Modified: head/sys/dev/gpio/gpiokeys.c ============================================================================== --- head/sys/dev/gpio/gpiokeys.c Thu Dec 26 16:58:11 2019 (r356090) +++ head/sys/dev/gpio/gpiokeys.c Thu Dec 26 17:09:36 2019 (r356091) @@ -983,8 +983,6 @@ KEYBOARD_DRIVER(gpiokeys, gpiokeyssw, gpiokeys_configu 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); @@ -993,7 +991,6 @@ gpiokeys_driver_load(module_t mod, int what, void *arg kbd_delete_driver(&gpiokeys_kbd_driver); break; } -#endif return (0); } Modified: head/sys/dev/hyperv/input/hv_kbd.c ============================================================================== --- head/sys/dev/hyperv/input/hv_kbd.c Thu Dec 26 16:58:11 2019 (r356090) +++ head/sys/dev/hyperv/input/hv_kbd.c Thu Dec 26 17:09:36 2019 (r356091) @@ -490,8 +490,6 @@ 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); @@ -500,7 +498,6 @@ hvkbd_driver_load(module_t mod, int what, void *arg) kbd_delete_driver(&hvkbd_kbd_driver); break; } -#endif return (0); } Modified: head/sys/dev/kbdmux/kbdmux.c ============================================================================== --- head/sys/dev/kbdmux/kbdmux.c Thu Dec 26 16:58:11 2019 (r356090) +++ head/sys/dev/kbdmux/kbdmux.c Thu Dec 26 17:09:36 2019 (r356091) @@ -1423,15 +1423,11 @@ 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; } @@ -1440,18 +1436,14 @@ 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 @@ -1462,9 +1454,7 @@ 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; @@ -1480,9 +1470,7 @@ 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; Modified: head/sys/dev/usb/input/ukbd.c ============================================================================== --- head/sys/dev/usb/input/ukbd.c Thu Dec 26 16:58:11 2019 (r356090) +++ head/sys/dev/usb/input/ukbd.c Thu Dec 26 17:09:36 2019 (r356091) @@ -2290,7 +2290,6 @@ 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); @@ -2299,7 +2298,6 @@ ukbd_driver_load(module_t mod, int what, void *arg) kbd_delete_driver(&ukbd_kbd_driver); break; } -#endif return (0); } Modified: head/sys/dev/vkbd/vkbd.c ============================================================================== --- head/sys/dev/vkbd/vkbd.c Thu Dec 26 16:58:11 2019 (r356090) +++ head/sys/dev/vkbd/vkbd.c Thu Dec 26 17:09:36 2019 (r356091) @@ -1360,15 +1360,11 @@ 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; _______________________________________________ svn-src-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"