diff options
author | yokota <yokota@FreeBSD.org> | 1999-12-13 10:36:36 +0000 |
---|---|---|
committer | yokota <yokota@FreeBSD.org> | 1999-12-13 10:36:36 +0000 |
commit | 5fa506591286dadad6dba89bf9ca24d1369beb33 (patch) | |
tree | 3be6f5cad606f048450dae2d9b08b19d7ab290d8 /sys/dev/usb/ukbd.c | |
parent | dd933059e17546022cfd5d8f0461def61da4153f (diff) | |
download | FreeBSD-src-5fa506591286dadad6dba89bf9ca24d1369beb33.zip FreeBSD-src-5fa506591286dadad6dba89bf9ca24d1369beb33.tar.gz |
- Add a module event function to the ukbd driver and make the ukbd KLD
module work.
- Delete unnecessary #include.
Diffstat (limited to 'sys/dev/usb/ukbd.c')
-rw-r--r-- | sys/dev/usb/ukbd.c | 26 |
1 files changed, 22 insertions, 4 deletions
diff --git a/sys/dev/usb/ukbd.c b/sys/dev/usb/ukbd.c index 2870031..bc8c094 100644 --- a/sys/dev/usb/ukbd.c +++ b/sys/dev/usb/ukbd.c @@ -51,12 +51,10 @@ #include <sys/module.h> #include <sys/bus.h> #include <machine/clock.h> -#include <sys/tty.h> #include <sys/file.h> #include <sys/select.h> #include <sys/proc.h> #include <sys/vnode.h> -#include <sys/poll.h> #include <dev/usb/usb.h> #include <dev/usb/usbhid.h> @@ -66,7 +64,6 @@ #include <dev/usb/usb_quirks.h> #include <dev/usb/hid.h> -#include <sys/conf.h> #include <dev/kbd/kbdreg.h> #define UKBD_EMULATE_ATSCANCODE 1 @@ -115,6 +112,7 @@ typedef void usbd_intr_t(usbd_xfer_handle, usbd_private_handle, usbd_status); typedef void usbd_disco_t(void *); static usbd_intr_t ukbd_intr; +static int ukbd_driver_load(module_t mod, int what, void *arg); USB_DECLARE_DRIVER(ukbd); @@ -215,7 +213,7 @@ ukbd_intr(usbd_xfer_handle xfer, usbd_private_handle addr, usbd_status status) (*kbdsw[kbd->kb_index]->intr)(kbd, (void *)status); } -DRIVER_MODULE(ukbd, uhub, ukbd_driver, ukbd_devclass, usbd_driver_load, 0); +DRIVER_MODULE(ukbd, uhub, ukbd_driver, ukbd_devclass, ukbd_driver_load, 0); #include <machine/limits.h> #include <machine/console.h> @@ -1227,6 +1225,12 @@ ukbd_ioctl(keyboard_t *kbd, u_long cmd, caddr_t arg) default: splx(s); return genkbd_commonioctl(kbd, cmd, arg); + +#ifdef UKBD_DEBUG + case USB_SETDEBUG: + ukbddebug = *(int *)arg; + break; +#endif } splx(s); @@ -1426,3 +1430,17 @@ keycode2scancode(int keycode, int shift, int up) return (scancode | (up ? SCAN_RELEASE : SCAN_PRESS)); } #endif /* UKBD_EMULATE_ATSCANCODE */ + +static int +ukbd_driver_load(module_t mod, int what, void *arg) +{ + switch (what) { + case MOD_LOAD: + kbd_add_driver(&ukbd_kbd_driver); + break; + case MOD_UNLOAD: + kbd_delete_driver(&ukbd_kbd_driver); + break; + } + return usbd_driver_load(mod, what, 0); +} |