Skip site navigation (1)Skip section navigation (2)
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>