some routines for removing a device on demand. thist do not work properly
[ppcskel.git] / usb / drivers / class / hid.c
index b79bcd3f85c77db2e25aeef73f13cd4e04483672..933b592073e938dedb1d09c47207563bf762b38d 100644 (file)
@@ -21,6 +21,7 @@ struct usb_driver hidkb = {
        .name     = "hidkb",
        .probe  = usb_hidkb_probe,
        .check  = usb_hidkb_check,
+       .remove = usb_hidkb_remove,
        .data     = NULL
 };
 
@@ -90,6 +91,10 @@ u8 usb_hidkb_inuse()
        return hidkb.data ? 1 : 0;
 }
 
+void usb_hidkb_remove() {
+       hidkb.data = NULL;
+}
+
 struct kbrep *usb_hidkb_getChars() {
        struct usb_device *dev = (struct usb_device*) hidkb.data;
        struct kbrep *ret = (struct kbrep*) malloc(sizeof(struct kbrep));