Changeset f1fae414 in mainline for uspace/lib/usbhid/src/hidparser.c


Ignore:
Timestamp:
2011-06-22T01:34:53Z (13 years ago)
Author:
Petr Koupy <petr.koupy@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
8d7e82c1, cac458f
Parents:
72ec8cc (diff), bf172825 (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:

Merge mainline changes.

File:
1 edited

Legend:

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

    r72ec8cc rf1fae414  
    135135        size_t size, uint8_t *report_id)
    136136{
    137         link_t *list_item;
    138137        usb_hid_report_field_t *item;
    139138
     
    161160
    162161        /* read data */
    163         list_item = report_des->report_items.next;         
    164         while(list_item != &(report_des->report_items)) {
    165 
     162        list_foreach(report_des->report_items, list_item) {
    166163                item = list_get_instance(list_item, usb_hid_report_field_t,
    167                                 link);
     164                                ritems_link);
    168165
    169166                if(USB_HID_ITEM_FLAG_CONSTANT(item->item_flags) == 0) {
     
    200197                        }                       
    201198                }
    202                 list_item = list_item->next;
    203199        }
    204200       
     
    310306        }
    311307
    312         link_t *report_it = report->reports.next;
    313308        usb_hid_report_description_t *report_des = NULL;
    314         while(report_it != &report->reports) {
    315                 report_des = list_get_instance(report_it,
    316                         usb_hid_report_description_t, link);
     309
     310        list_foreach(report->reports, report_it) {
     311                report_des = list_get_instance(report_it,
     312                        usb_hid_report_description_t, reports_link);
    317313               
    318                 if((report_des->report_id == report_id) && 
     314                if((report_des->report_id == report_id) &&
    319315                        (report_des->type == USB_HID_REPORT_TYPE_OUTPUT)){
    320316                        break;
    321317                }
    322 
    323                 report_it = report_it->next;
    324318        }
    325319
     
    362356        uint8_t report_id, uint8_t *buffer, size_t size)
    363357{
    364         link_t *item;   
    365358        int32_t value=0;
    366359        int offset;
     
    384377        }
    385378
    386         usb_hid_report_field_t *report_item;   
    387         item = report_des->report_items.next;   
    388         while(item != &report_des->report_items) {
    389                 report_item = list_get_instance(item, usb_hid_report_field_t, link);
     379        usb_hid_report_field_t *report_item;
     380
     381        list_foreach(report_des->report_items, item) {
     382                report_item = list_get_instance(item, usb_hid_report_field_t,
     383                    ritems_link);
    390384
    391385                value = usb_hid_translate_data_reverse(report_item,
     
    449443                // reset value
    450444                report_item->value = 0;
    451                
    452                 item = item->next;
    453445        }
    454446       
     
    550542
    551543        if(field == NULL){
    552                 field_it = report_des->report_items.next;
    553         }
    554         else {
    555                 field_it = field->link.next;
    556         }
    557 
    558         while(field_it != &report_des->report_items) {
     544                field_it = report_des->report_items.head.next;
     545        }
     546        else {
     547                field_it = field->ritems_link.next;
     548        }
     549
     550        while(field_it != &report_des->report_items.head) {
    559551                field = list_get_instance(field_it, usb_hid_report_field_t,
    560                         link);
     552                        ritems_link);
    561553
    562554                if(USB_HID_ITEM_FLAG_CONSTANT(field->item_flags) == 0) {
     
    611603                }
    612604                else {
    613                         report_it = report_des->link.next;
     605                        report_it = report_des->reports_link.next;
    614606                }       
    615607        }
    616608        else {
    617                 report_it = report->reports.next;
    618         }
    619 
    620         while(report_it != &report->reports) {
     609                report_it = report->reports.head.next;
     610        }
     611
     612        while(report_it != &report->reports.head) {
    621613                report_des = list_get_instance(report_it,
    622                         usb_hid_report_description_t, link);
     614                        usb_hid_report_description_t, reports_link);
    623615
    624616                if(report_des->type == type){
Note: See TracChangeset for help on using the changeset viewer.