Ignore:
File:
1 edited

Legend:

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

    re8a69913 r313775b  
    4646#include <fibril.h>
    4747#include <fibril_synch.h>
     48
     49#include <ddf/log.h>
    4850
    4951#include <usb/usb.h>
     
    408410        memcpy(kbd_dev->keys_old, kbd_dev->keys, kbd_dev->key_count * 4);
    409411       
    410         usb_log_debug2("New stored keys: ");
    411         for (i = 0; i < kbd_dev->key_count; ++i) {
    412                 usb_log_debug2("%d ", kbd_dev->keys_old[i]);
    413         }
    414         usb_log_debug2("\n");
     412        char key_buffer[512];
     413        ddf_dump_buffer(key_buffer, 512,
     414            kbd_dev->keys_old, 4, kbd_dev->key_count, 0);
     415        usb_log_debug2("Stored keys %s.\n", key_buffer);
    415416}
    416417
     
    434435 *     usb_hid_parse_report().
    435436 */
    436 static void usb_kbd_process_data(usb_hid_dev_t *hid_dev, usb_kbd_t *kbd_dev,
    437                                  uint8_t *buffer, size_t actual_size)
     437static void usb_kbd_process_data(usb_hid_dev_t *hid_dev, usb_kbd_t *kbd_dev)
    438438{
    439439        assert(hid_dev->report != NULL);
    440440        assert(hid_dev != NULL);
    441441        assert(kbd_dev != NULL);
    442 
    443         usb_log_debug("Calling usb_hid_parse_report() with "
    444             "buffer %s\n", usb_debug_str_buffer(buffer, actual_size, 0));
    445442       
    446443        usb_hid_report_path_t *path = usb_hid_report_path();
    447444        usb_hid_report_path_append_item(path, USB_HIDUT_PAGE_KEYBOARD, 0);
    448445
    449         uint8_t report_id;
    450         int rc = usb_hid_parse_report(hid_dev->report, buffer, actual_size,
    451             &report_id);
    452        
    453         if (rc != EOK) {
    454                 usb_log_warning("Error in usb_hid_parse_report():"
    455                     "%s\n", str_error(rc));
    456         }
    457        
    458         usb_hid_report_path_set_report_id (path, report_id);
     446        usb_hid_report_path_set_report_id (path, hid_dev->report_id);
    459447       
    460448        // fill in the currently pressed keys
     
    756744/*----------------------------------------------------------------------------*/
    757745
    758 bool usb_kbd_polling_callback(usb_hid_dev_t *hid_dev, void *data,
    759      uint8_t *buffer, size_t buffer_size)
    760 {
    761         if (hid_dev == NULL || buffer == NULL || data == NULL) {
     746bool usb_kbd_polling_callback(usb_hid_dev_t *hid_dev, void *data)
     747{
     748        if (hid_dev == NULL/* || buffer == NULL*/ || data == NULL) {
    762749                // do not continue polling (???)
    763750                return false;
     
    768755       
    769756        // TODO: add return value from this function
    770         usb_kbd_process_data(hid_dev, kbd_dev, buffer, buffer_size);
     757        usb_kbd_process_data(hid_dev, kbd_dev);
    771758       
    772759        return true;
     
    804791        if ((*kbd_dev)->repeat_mtx != NULL) {
    805792                //assert(!fibril_mutex_is_locked((*kbd_dev)->repeat_mtx));
     793                // FIXME - the fibril_mutex_is_locked may not cause
     794                // fibril scheduling
    806795                while (fibril_mutex_is_locked((*kbd_dev)->repeat_mtx)) {}
    807796                free((*kbd_dev)->repeat_mtx);
Note: See TracChangeset for help on using the changeset viewer.