Date: Thu, 26 Dec 2019 17:09:37 +0000 (UTC) From: Kyle Evans <kevans@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r356091 - in head/sys/dev: adb gpio hyperv/input kbdmux usb/input vkbd Message-ID: <201912261709.xBQH9boq064851@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
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;
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201912261709.xBQH9boq064851>