Lines Matching refs:field

91 	struct hid_field *field;  in hid_register_field()  local
98 field = kzalloc((sizeof(struct hid_field) + in hid_register_field()
101 if (!field) in hid_register_field()
104 field->index = report->maxfield++; in hid_register_field()
105 report->field[field->index] = field; in hid_register_field()
106 field->usage = (struct hid_usage *)(field + 1); in hid_register_field()
107 field->value = (s32 *)(field->usage + usages); in hid_register_field()
108 field->new_value = (s32 *)(field->value + usages); in hid_register_field()
109 field->usages_priorities = (s32 *)(field->new_value + usages); in hid_register_field()
110 field->report = report; in hid_register_field()
112 return field; in hid_register_field()
258 struct hid_field *field; in hid_add_field() local
305 field = hid_register_field(report, usages); in hid_add_field()
306 if (!field) in hid_add_field()
309 field->physical = hid_lookup_collection(parser, HID_COLLECTION_PHYSICAL); in hid_add_field()
310 field->logical = hid_lookup_collection(parser, HID_COLLECTION_LOGICAL); in hid_add_field()
311 field->application = application; in hid_add_field()
318 field->usage[i].hid = parser->local.usage[j]; in hid_add_field()
319 field->usage[i].collection_index = in hid_add_field()
321 field->usage[i].usage_index = i; in hid_add_field()
322 field->usage[i].resolution_multiplier = 1; in hid_add_field()
325 field->maxusage = usages; in hid_add_field()
326 field->flags = flags; in hid_add_field()
327 field->report_offset = offset; in hid_add_field()
328 field->report_type = report_type; in hid_add_field()
329 field->report_size = parser->global.report_size; in hid_add_field()
330 field->report_count = parser->global.report_count; in hid_add_field()
331 field->logical_minimum = parser->global.logical_minimum; in hid_add_field()
332 field->logical_maximum = parser->global.logical_maximum; in hid_add_field()
333 field->physical_minimum = parser->global.physical_minimum; in hid_add_field()
334 field->physical_maximum = parser->global.physical_maximum; in hid_add_field()
335 field->unit_exponent = parser->global.unit_exponent; in hid_add_field()
336 field->unit = parser->global.unit; in hid_add_field()
664 kfree(report->field[n]); in hid_free_report()
1018 if (report->field[field_index]->report_count < report_counts) { in hid_validate_values()
1067 struct hid_field *field, in hid_apply_multiplier_to_field() argument
1081 for (i = 0; i < field->maxusage; i++) { in hid_apply_multiplier_to_field()
1082 usage = &field->usage[i]; in hid_apply_multiplier_to_field()
1101 struct hid_field *field; in hid_apply_multiplier() local
1134 field = rep->field[i]; in hid_apply_multiplier()
1135 hid_apply_multiplier_to_field(hid, field, in hid_apply_multiplier()
1176 if (rep->field[i]->report_count < 1) in hid_setup_resolution_multiplier()
1179 for (j = 0; j < rep->field[i]->maxusage; j++) { in hid_setup_resolution_multiplier()
1180 usage = &rep->field[i]->usage[j]; in hid_setup_resolution_multiplier()
1183 rep->field[i]); in hid_setup_resolution_multiplier()
1520 static void hid_process_event(struct hid_device *hid, struct hid_field *field, in hid_process_event() argument
1530 ret = hdrv->event(hid, field, usage, value); in hid_process_event()
1540 hidinput_hid_event(hid, field, usage, value); in hid_process_event()
1542 hid->hiddev_hid_event(hid, field, usage, value); in hid_process_event()
1548 static inline int hid_array_value_is_valid(struct hid_field *field, in hid_array_value_is_valid() argument
1551 __s32 min = field->logical_minimum; in hid_array_value_is_valid()
1559 value <= field->logical_maximum && in hid_array_value_is_valid()
1560 value - min < field->maxusage; in hid_array_value_is_valid()
1568 struct hid_field *field, in hid_input_fetch_field() argument
1572 unsigned count = field->report_count; in hid_input_fetch_field()
1573 unsigned offset = field->report_offset; in hid_input_fetch_field()
1574 unsigned size = field->report_size; in hid_input_fetch_field()
1575 __s32 min = field->logical_minimum; in hid_input_fetch_field()
1578 value = field->new_value; in hid_input_fetch_field()
1580 field->ignored = false; in hid_input_fetch_field()
1590 if (!(field->flags & HID_MAIN_ITEM_VARIABLE) && in hid_input_fetch_field()
1591 hid_array_value_is_valid(field, value[n]) && in hid_input_fetch_field()
1592 field->usage[value[n] - min].hid == HID_UP_KEYBOARD + 1) { in hid_input_fetch_field()
1593 field->ignored = true; in hid_input_fetch_field()
1604 struct hid_field *field, in hid_input_var_field() argument
1607 unsigned int count = field->report_count; in hid_input_var_field()
1608 __s32 *value = field->new_value; in hid_input_var_field()
1613 field, in hid_input_var_field()
1614 &field->usage[n], in hid_input_var_field()
1618 memcpy(field->value, value, count * sizeof(__s32)); in hid_input_var_field()
1627 struct hid_field *field, in hid_input_array_field() argument
1631 unsigned int count = field->report_count; in hid_input_array_field()
1632 __s32 min = field->logical_minimum; in hid_input_array_field()
1635 value = field->new_value; in hid_input_array_field()
1638 if (field->ignored) in hid_input_array_field()
1642 if (hid_array_value_is_valid(field, field->value[n]) && in hid_input_array_field()
1643 search(value, field->value[n], count)) in hid_input_array_field()
1645 field, in hid_input_array_field()
1646 &field->usage[field->value[n] - min], in hid_input_array_field()
1650 if (hid_array_value_is_valid(field, value[n]) && in hid_input_array_field()
1651 search(field->value, value[n], count)) in hid_input_array_field()
1653 field, in hid_input_array_field()
1654 &field->usage[value[n] - min], in hid_input_array_field()
1659 memcpy(field->value, value, count * sizeof(__s32)); in hid_input_array_field()
1674 struct hid_field *field; in hid_process_report() local
1678 hid_input_fetch_field(hid, report->field[a], data); in hid_process_report()
1685 field = entry->field; in hid_process_report()
1687 if (field->flags & HID_MAIN_ITEM_VARIABLE) in hid_process_report()
1689 field, in hid_process_report()
1690 &field->usage[entry->index], in hid_process_report()
1691 field->new_value[entry->index], in hid_process_report()
1694 hid_input_array_field(hid, field, interrupt); in hid_process_report()
1699 field = report->field[a]; in hid_process_report()
1701 if (field->flags & HID_MAIN_ITEM_VARIABLE) in hid_process_report()
1702 memcpy(field->value, field->new_value, in hid_process_report()
1703 field->report_count * sizeof(__s32)); in hid_process_report()
1708 field = report->field[a]; in hid_process_report()
1710 if (field->flags & HID_MAIN_ITEM_VARIABLE) in hid_process_report()
1711 hid_input_var_field(hid, field, interrupt); in hid_process_report()
1713 hid_input_array_field(hid, field, interrupt); in hid_process_report()
1728 struct hid_field *field, in __hid_insert_field_entry() argument
1733 entry->field = field; in __hid_insert_field_entry()
1735 entry->priority = field->usages_priorities[usage_index]; in __hid_insert_field_entry()
1758 struct hid_field *field; in hid_report_process_ordering() local
1765 field = report->field[a]; in hid_report_process_ordering()
1767 if (field->flags & HID_MAIN_ITEM_VARIABLE) in hid_report_process_ordering()
1768 count += field->report_count; in hid_report_process_ordering()
1789 field = report->field[a]; in hid_report_process_ordering()
1791 if (field->flags & HID_MAIN_ITEM_VARIABLE) { in hid_report_process_ordering()
1792 for (u = 0; u < field->report_count; u++) { in hid_report_process_ordering()
1795 field, u); in hid_report_process_ordering()
1800 field, 0); in hid_report_process_ordering()
1820 struct hid_field *field, __u8 *data) in hid_output_field() argument
1822 unsigned count = field->report_count; in hid_output_field()
1823 unsigned offset = field->report_offset; in hid_output_field()
1824 unsigned size = field->report_size; in hid_output_field()
1828 if (field->logical_minimum < 0) /* signed values */ in hid_output_field()
1830 s32ton(field->value[n], size)); in hid_output_field()
1833 field->value[n]); in hid_output_field()
1862 hid_output_field(report->device, report->field[n], data); in hid_output_report()
1888 int hid_set_field(struct hid_field *field, unsigned offset, __s32 value) in hid_set_field() argument
1892 if (!field) in hid_set_field()
1895 size = field->report_size; in hid_set_field()
1897 hid_dump_input(field->report->device, field->usage + offset, value); in hid_set_field()
1899 if (offset >= field->report_count) { in hid_set_field()
1900 hid_err(field->report->device, "offset (%d) exceeds report_count (%d)\n", in hid_set_field()
1901 offset, field->report_count); in hid_set_field()
1904 if (field->logical_minimum < 0) { in hid_set_field()
1906 hid_err(field->report->device, "value %d is out of range\n", value); in hid_set_field()
1910 field->value[offset] = value; in hid_set_field()