Changeset b9e3aa3 in mainline for uspace/drv/usbhid/usbhid.c


Ignore:
Timestamp:
2011-05-30T14:13:53Z (14 years ago)
Author:
Lubos Slovak <lubos.slovak@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
f3f9733
Parents:
2002595 (diff), 8357fc9 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent.
Message:

Development changes (a lot of stuff)

File:
1 edited

Legend:

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

    r2002595 rb9e3aa3  
    217217//          USB_HID_REPORT_TYPE_INPUT);
    218218        size_t size = 0;
    219         usb_hid_report_field_t *field = usb_hid_report_get_sibling (hid_dev->report,
    220                 NULL, usage_path, mapping->compare, USB_HID_REPORT_TYPE_INPUT);
    221         while(field != NULL) {
    222                 size++;
    223                 field = usb_hid_report_get_sibling (hid_dev->report,
     219
     220        usb_hid_report_description_t *report_des =
     221                usb_hid_report_find_description(hid_dev->report,
     222                mapping->report_id, USB_HID_REPORT_TYPE_INPUT);
     223
     224        while(report_des != NULL) {
     225
     226                if((mapping->report_id) == 0 && (report_des->report_id != 0)) {
     227                        usb_hid_report_path_set_report_id(usage_path,
     228                                report_des->report_id);
     229                }
     230
     231                usb_hid_report_field_t *field = usb_hid_report_get_sibling (
     232                        hid_dev->report,
     233                        NULL, usage_path, mapping->compare,
     234                        USB_HID_REPORT_TYPE_INPUT);
     235
     236                while(field != NULL) {
     237                        size++;
     238                        field = usb_hid_report_get_sibling (hid_dev->report,
    224239                                        field, usage_path, mapping->compare,
    225240                            USB_HID_REPORT_TYPE_INPUT);
     241                }
     242
     243                if((mapping->report_id == 0) && (report_des->report_id != 0)) {
     244                        uint8_t report_id = usb_hid_get_next_report_id(
     245                                hid_dev->report, report_des->report_id,
     246                                USB_HID_REPORT_TYPE_INPUT);
     247
     248                        if(report_id == 0) {
     249                                break;
     250                        }
     251
     252                        report_des = usb_hid_report_find_description(
     253                                hid_dev->report, report_id,
     254                                USB_HID_REPORT_TYPE_INPUT);
     255                }
     256                else {
     257                        break;
     258                }
    226259        }
    227260       
Note: See TracChangeset for help on using the changeset viewer.