Ignore:
File:
1 edited

Legend:

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

    r78bfae9 rfaa44e58  
    3737#include <usb/debug.h>
    3838#include <usb/classes/classes.h>
    39 #include <usb/classes/hid.h>
    40 #include <usb/classes/hidparser.h>
    41 #include <usb/classes/hidreport.h>
    42 #include <usb/classes/hidreq.h>
     39#include <usb/hid/hid.h>
     40#include <usb/hid/hidparser.h>
     41#include <usb/hid/hidreport.h>
     42#include <usb/hid/request.h>
    4343#include <errno.h>
    4444#include <str_error.h>
     
    203203       
    204204        usb_log_debug("Compare flags: %d\n", mapping->compare);
    205 //      size_t size = usb_hid_report_size(hid_dev->report, 0,
    206 //          USB_HID_REPORT_TYPE_INPUT);
    207         size_t size = 0;
    208         usb_hid_report_field_t *field = usb_hid_report_get_sibling (hid_dev->report,
    209                 NULL, usage_path, mapping->compare, USB_HID_REPORT_TYPE_INPUT);
    210         while(field != NULL) {
    211                 size++;
    212                 field = usb_hid_report_get_sibling (hid_dev->report,
    213                                         field, usage_path, mapping->compare,
    214                             USB_HID_REPORT_TYPE_INPUT);
    215         }
    216        
     205        size_t size = usb_hid_report_input_length(hid_dev->report, usage_path,
     206            mapping->compare);
    217207        usb_log_debug("Size of the input report: %zuB\n", size);
     208       
    218209        usb_hid_report_path_free(usage_path);
    219210       
     
    234225        }
    235226       
    236         // add one generic HID subdriver per device
    237        
    238         hid_dev->subdrivers = (usb_hid_subdriver_t *)malloc((count + 1) *
     227        hid_dev->subdrivers = (usb_hid_subdriver_t *)malloc(count *
    239228            sizeof(usb_hid_subdriver_t));
    240229        if (hid_dev->subdrivers == NULL) {
     
    249238        }
    250239       
    251         hid_dev->subdrivers[count].init = usb_generic_hid_init;
    252         hid_dev->subdrivers[count].poll = usb_generic_hid_polling_callback;
    253         hid_dev->subdrivers[count].deinit = NULL;
    254         hid_dev->subdrivers[count].poll_end = NULL;
    255        
    256         hid_dev->subdriver_count = count + 1;
     240        hid_dev->subdriver_count = count;
    257241       
    258242        return EOK;
     
    473457                        if (hid_dev->subdrivers[i].init != NULL) {
    474458                                usb_log_debug("Initializing subdriver %d.\n",i);
    475                                 rc = hid_dev->subdrivers[i].init(hid_dev,
    476                                     &hid_dev->subdrivers[i].data);
     459                                rc = hid_dev->subdrivers[i].init(hid_dev);
    477460                                if (rc != EOK) {
    478461                                        usb_log_warning("Failed to initialize"
     
    539522        for (i = 0; i < hid_dev->subdriver_count; ++i) {
    540523                if (hid_dev->subdrivers[i].poll != NULL
    541                     && hid_dev->subdrivers[i].poll(hid_dev,
    542                         hid_dev->subdrivers[i].data, buffer, buffer_size)) {
     524                    && hid_dev->subdrivers[i].poll(hid_dev, buffer,
     525                    buffer_size)) {
    543526                        cont = true;
    544527                }
     
    563546        for (i = 0; i < hid_dev->subdriver_count; ++i) {
    564547                if (hid_dev->subdrivers[i].poll_end != NULL) {
    565                         hid_dev->subdrivers[i].poll_end(hid_dev,
    566                             hid_dev->subdrivers[i].data, reason);
     548                        hid_dev->subdrivers[i].poll_end(hid_dev, reason);
    567549                }
    568550        }
     
    645627        for (i = 0; i < (*hid_dev)->subdriver_count; ++i) {
    646628                if ((*hid_dev)->subdrivers[i].deinit != NULL) {
    647                         (*hid_dev)->subdrivers[i].deinit(*hid_dev,
    648                             (*hid_dev)->subdrivers[i].data);
     629                        (*hid_dev)->subdrivers[i].deinit(*hid_dev);
    649630                }
    650631        }
Note: See TracChangeset for help on using the changeset viewer.