Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/drv/usbhid/kbd/kbddev.c

    r1b7dc5e9 r323b0ec  
    255255       
    256256        if (hid_dev == NULL || hid_dev->data == NULL) {
    257                 usb_log_debug("default_connection_handler: "
    258                     "Missing parameter.\n");
    259257                async_answer_0(icallid, EINVAL);
    260258                return;
     
    269267
    270268                if (kbd_dev->console_phone != -1) {
    271                         usb_log_debug("default_connection_handler: "
    272                             "console phone already set\n");
    273269                        async_answer_0(icallid, ELIMIT);
    274270                        return;
     
    276272
    277273                kbd_dev->console_phone = callback;
    278                
    279                 usb_log_debug("default_connection_handler: OK\n");
    280274                async_answer_0(icallid, EOK);
    281275                return;
    282276        }
    283277       
    284         usb_log_debug("default_connection_handler: Wrong function.\n");
    285278        async_answer_0(icallid, EINVAL);
    286279}
     
    562555                        usb_log_debug2("Key pressed: %d (keycode: %d)\n", key,
    563556                            kbd_dev->keys[i]);
     557                        usb_kbd_push_ev(hid_dev, kbd_dev, KEY_PRESS, key);
    564558                        if (!usb_kbd_is_lock(key)) {
    565559                                usb_kbd_repeat_start(kbd_dev, key);
    566560                        }
    567                         usb_kbd_push_ev(hid_dev, kbd_dev, KEY_PRESS, key);
    568561                } else {
    569562                        // found, nothing happens
     
    773766
    774767/*----------------------------------------------------------------------------*/
    775 
    776 static int usb_kbd_create_function(usb_hid_dev_t *hid_dev)
    777 {
    778         assert(hid_dev != NULL);
    779         assert(hid_dev->usb_dev != NULL);
    780        
    781         /* Create the function exposed under /dev/devices. */
    782         usb_log_debug("Creating DDF function %s...\n", HID_KBD_FUN_NAME);
    783         ddf_fun_t *fun = ddf_fun_create(hid_dev->usb_dev->ddf_dev, fun_exposed,
    784             HID_KBD_FUN_NAME);
    785         if (fun == NULL) {
    786                 usb_log_error("Could not create DDF function node.\n");
    787                 return ENOMEM;
    788         }
    789        
    790         /*
    791          * Store the initialized HID device and HID ops
    792          * to the DDF function.
    793          */
    794         fun->ops = &hid_dev->ops;
    795         fun->driver_data = hid_dev;   // TODO: maybe change to hid_dev->data
    796 
    797         int rc = ddf_fun_bind(fun);
    798         if (rc != EOK) {
    799                 usb_log_error("Could not bind DDF function: %s.\n",
    800                     str_error(rc));
    801                 ddf_fun_destroy(fun);
    802                 return rc;
    803         }
    804        
    805         usb_log_debug("Adding DDF function to class %s...\n",
    806             HID_KBD_CLASS_NAME);
    807         rc = ddf_fun_add_to_class(fun, HID_KBD_CLASS_NAME);
    808         if (rc != EOK) {
    809                 usb_log_error(
    810                     "Could not add DDF function to class %s: %s.\n",
    811                     HID_KBD_CLASS_NAME, str_error(rc));
    812                 ddf_fun_destroy(fun);
    813                 return rc;
    814         }
    815        
    816         return EOK;
    817 }
    818 
    819 /*----------------------------------------------------------------------------*/
    820768/* API functions                                                              */
    821769/*----------------------------------------------------------------------------*/
     
    982930        usb_log_debug("HID/KBD device structure initialized.\n");
    983931       
    984         usb_log_debug("Creating KBD function...\n");
    985         int rc = usb_kbd_create_function(hid_dev);
    986         if (rc != EOK) {
    987                 usb_kbd_free(&kbd_dev);
    988                 return rc;
    989         }
    990        
    991932        return EOK;
    992933}
     
    1052993        if ((*kbd_dev)->led_data != NULL) {
    1053994                free((*kbd_dev)->led_data);
     995        }
     996        if ((*kbd_dev)->output_buffer != NULL) {
     997                free((*kbd_dev)->output_buffer);
    1054998        }
    1055999        if ((*kbd_dev)->led_path != NULL) {
Note: See TracChangeset for help on using the changeset viewer.