Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/lib/usbhid/src/hidreport.c

    re2dfa86 r9d58539  
    5050#include <usb/hid/hidreport.h>
    5151
    52 static int usb_hid_get_report_descriptor(usb_device_t *dev,
     52static int usb_hid_get_report_descriptor(usb_device_t *dev, 
    5353    uint8_t **report_desc, size_t *size)
    5454{
     
    6161       
    6262        usb_dp_parser_data_t parser_data = {
    63                 .data = usb_device_descriptors(dev)->full_config,
    64                 .size = usb_device_descriptors(dev)->full_config_size,
     63                .data = dev->descriptors.configuration,
     64                .size = dev->descriptors.configuration_size,
    6565                .arg = NULL
    6666        };
     
    6969         * First nested descriptor of the configuration descriptor.
    7070         */
    71         const uint8_t *d =
    72             usb_dp_get_nested_descriptor(&parser, &parser_data,
    73                 usb_device_descriptors(dev)->full_config);
     71        const uint8_t *d = 
     72            usb_dp_get_nested_descriptor(&parser, &parser_data, 
     73            dev->descriptors.configuration);
    7474       
    7575        /*
     
    7777         */
    7878        int i = 0;
    79         while (d != NULL && i < usb_device_get_iface_number(dev)) {
    80                 d = usb_dp_get_sibling_descriptor(&parser, &parser_data,
    81                     usb_device_descriptors(dev)->full_config, d);
     79        while (d != NULL && i < dev->interface_no) {
     80                d = usb_dp_get_sibling_descriptor(&parser, &parser_data, 
     81                    dev->descriptors.configuration, d);
    8282                ++i;
    8383        }
     
    8585        if (d == NULL) {
    8686                usb_log_error("The %d. interface descriptor not found!\n",
    87                     usb_device_get_iface_number(dev));
     87                    dev->interface_no);
    8888                return ENOENT;
    8989        }
     
    9999         */
    100100        while (d != NULL && *(d + 1) != USB_DESCTYPE_HID) {
    101                 d = usb_dp_get_sibling_descriptor(&parser, &parser_data,
     101                d = usb_dp_get_sibling_descriptor(&parser, &parser_data, 
    102102                    iface_desc, d);
    103103        }
     
    114114        }
    115115       
    116         usb_standard_hid_descriptor_t *hid_desc =
     116        usb_standard_hid_descriptor_t *hid_desc = 
    117117            (usb_standard_hid_descriptor_t *)d;
    118118       
    119         uint16_t length = uint16_usb2host(hid_desc->report_desc_info.length);
     119        uint16_t length =  hid_desc->report_desc_info.length;
    120120        size_t actual_size = 0;
    121121
     
    135135         * Get the descriptor from the device.
    136136         */
    137         int rc = usb_request_get_descriptor(usb_device_get_default_pipe(dev),
     137        int rc = usb_request_get_descriptor(&dev->ctrl_pipe,
    138138            USB_REQUEST_TYPE_STANDARD, USB_REQUEST_RECIPIENT_INTERFACE,
    139             USB_DESCTYPE_HID_REPORT, 0, usb_device_get_iface_number(dev),
     139            USB_DESCTYPE_HID_REPORT, 0, dev->interface_no,
    140140            *report_desc, length, &actual_size);
    141141
     
    161161}
    162162
    163 
     163/*----------------------------------------------------------------------------*/
    164164
    165165int usb_hid_process_report_descriptor(usb_device_t *dev,
Note: See TracChangeset for help on using the changeset viewer.