Lines Matching refs:uref

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