Lines Matching defs:uref
109 hiddev_lookup_usage(struct hid_device *hid, struct hiddev_usage_ref *uref)
116 if (uref->report_type < HID_REPORT_TYPE_MIN ||
117 uref->report_type > HID_REPORT_TYPE_MAX)
121 (uref->report_type - HID_REPORT_TYPE_MIN);
127 if (field->usage[j].hid == uref->usage_code) {
128 uref->report_id = report->id;
129 uref->field_index = i;
130 uref->usage_index = j;
141 struct hiddev_usage_ref *uref)
149 if (uref->field_index != HID_FIELD_INDEX_NONE ||
151 list->buffer[list->head] = *uref;
170 struct hiddev_usage_ref uref;
172 uref.report_type =
176 uref.report_id = field->report->id;
177 uref.field_index = field->index;
178 uref.usage_index = (usage - field->usage);
179 uref.usage_code = usage->hid;
180 uref.value = value;
182 hiddev_send_event(hid, &uref);
189 struct hiddev_usage_ref uref;
191 memset(&uref, 0, sizeof(uref));
192 uref.report_type =
196 uref.report_id = report->id;
197 uref.field_index = HID_FIELD_INDEX_NONE;
199 hiddev_send_event(hid, &uref);
432 struct hiddev_usage_ref *uref;
440 uref = &uref_multi->uref;
446 if (copy_from_user(uref, user_arg, sizeof(*uref)))
452 rinfo.report_type = uref->report_type;
453 rinfo.report_id = uref->report_id;
457 if (uref->field_index >= report->maxfield)
459 uref->field_index = array_index_nospec(uref->field_index,
462 field = report->field[uref->field_index];
463 if (uref->usage_index >= field->maxusage)
465 uref->usage_index = array_index_nospec(uref->usage_index,
468 uref->usage_code = field->usage[uref->usage_index].hid;
470 if (copy_to_user(user_arg, uref, sizeof(*uref)))
478 uref->report_type == HID_REPORT_TYPE_INPUT)
481 if (uref->report_id == HID_REPORT_ID_UNKNOWN) {
482 field = hiddev_lookup_usage(hid, uref);
486 rinfo.report_type = uref->report_type;
487 rinfo.report_id = uref->report_id;
491 if (uref->field_index >= report->maxfield)
493 uref->field_index = array_index_nospec(uref->field_index,
496 field = report->field[uref->field_index];
499 if (uref->usage_index >= field->maxusage)
501 uref->usage_index =
502 array_index_nospec(uref->usage_index,
504 } else if (uref->usage_index >= field->report_count)
510 uref->usage_index + uref_multi->num_values >
514 uref->usage_index =
515 array_index_nospec(uref->usage_index,
522 if (uref->usage_index >= field->report_count)
524 uref->value = field->value[uref->usage_index];
525 if (copy_to_user(user_arg, uref, sizeof(*uref)))
530 if (uref->usage_index >= field->report_count)
532 field->value[uref->usage_index] = uref->value;
536 i = field->usage[uref->usage_index].collection_index;
542 field->value[uref->usage_index + i];
549 field->value[uref->usage_index + i] =