Lines Matching refs:field
143 for (j = 0; j < report->field[i]->maxusage; j++) { in hidinput_find_key()
144 usage = report->field[i]->usage + j; in hidinput_find_key()
246 __s32 hidinput_calc_abs_res(const struct hid_field *field, __u16 code) in hidinput_calc_abs_res() argument
248 __s32 unit_exponent = field->unit_exponent; in hidinput_calc_abs_res()
249 __s32 logical_extents = field->logical_maximum - in hidinput_calc_abs_res()
250 field->logical_minimum; in hidinput_calc_abs_res()
251 __s32 physical_extents = field->physical_maximum - in hidinput_calc_abs_res()
252 field->physical_minimum; in hidinput_calc_abs_res()
273 if (field->unit == 0x11) { /* If centimeters */ in hidinput_calc_abs_res()
276 } else if (field->unit == 0x13) { /* If inches */ in hidinput_calc_abs_res()
294 if (field->unit == 0x14) { /* If degrees */ in hidinput_calc_abs_res()
301 } else if (field->unit != 0x12) { /* If not radians */ in hidinput_calc_abs_res()
509 struct hid_field *field, bool is_percentage) in hidinput_setup_battery() argument
546 min = field->logical_minimum; in hidinput_setup_battery()
547 max = field->logical_maximum; in hidinput_setup_battery()
560 dev->battery_report_id = field->report->id; in hidinput_setup_battery()
569 field->physical == HID_DG_STYLUS; in hidinput_setup_battery()
644 struct hid_field *field, bool is_percentage) in hidinput_setup_battery() argument
664 static bool hidinput_field_in_collection(struct hid_device *device, struct hid_field *field, in hidinput_field_in_collection() argument
669 collection = &device->collection[field->usage->collection_index]; in hidinput_field_in_collection()
674 static void hidinput_configure_usage(struct hid_input *hidinput, struct hid_field *field, in hidinput_configure_usage() argument
684 field->hidinput = hidinput; in hidinput_configure_usage()
686 if (field->flags & HID_MAIN_ITEM_CONSTANT) in hidinput_configure_usage()
690 if (field->report_count < 1) in hidinput_configure_usage()
694 if (field->report_type == HID_OUTPUT_REPORT && in hidinput_configure_usage()
704 field->usages_priorities[usage_index] = in hidinput_configure_usage()
715 field->usages_priorities[usage_index] |= in hidinput_configure_usage()
718 field->usages_priorities[usage_index] |= in hidinput_configure_usage()
719 (0xff - field->slot_idx) << 16; in hidinput_configure_usage()
722 int ret = device->driver->input_mapping(device, hidinput, field, in hidinput_configure_usage()
748 switch (field->application) { in hidinput_configure_usage()
764 if (hidinput_field_in_collection(device, field, in hidinput_configure_usage()
775 switch (field->physical) { in hidinput_configure_usage()
843 if (field->application == HID_GD_SYSTEM_CONTROL) in hidinput_configure_usage()
854 if (field->dpad) { in hidinput_configure_usage()
855 map_abs(field->dpad); in hidinput_configure_usage()
866 if (field->flags & HID_MAIN_ITEM_RELATIVE) in hidinput_configure_usage()
873 if (field->flags & HID_MAIN_ITEM_RELATIVE) { in hidinput_configure_usage()
881 if (field->flags & HID_MAIN_ITEM_RELATIVE) in hidinput_configure_usage()
888 usage->hat_min = field->logical_minimum; in hidinput_configure_usage()
889 usage->hat_max = field->logical_maximum; in hidinput_configure_usage()
898 if (field->application == HID_GD_WIRELESS_RADIO_CTLS) { in hidinput_configure_usage()
901 field->flags |= HID_MAIN_ITEM_RELATIVE; in hidinput_configure_usage()
930 if ((field->application & 0xff) == 0x01) /* Digitizer */ in hidinput_configure_usage()
932 else if ((field->application & 0xff) == 0x02) /* Pen */ in hidinput_configure_usage()
949 switch (field->physical) { in hidinput_configure_usage()
961 if (!field->physical) { in hidinput_configure_usage()
962 switch (field->application) { in hidinput_configure_usage()
978 hidinput_setup_battery(device, HID_INPUT_REPORT, field, false); in hidinput_configure_usage()
1247 hidinput_setup_battery(device, HID_INPUT_REPORT, field, false); in hidinput_configure_usage()
1256 hidinput_setup_battery(device, HID_INPUT_REPORT, field, true); in hidinput_configure_usage()
1317 if (field->report_size == 1) { in hidinput_configure_usage()
1318 if (field->report->type == HID_OUTPUT_REPORT) { in hidinput_configure_usage()
1325 if (field->flags & HID_MAIN_ITEM_RELATIVE) { in hidinput_configure_usage()
1339 device->driver->input_mapped(device, hidinput, field, usage, in hidinput_configure_usage()
1381 int a = field->logical_minimum; in hidinput_configure_usage()
1382 int b = field->logical_maximum; in hidinput_configure_usage()
1385 a = field->logical_minimum = 0; in hidinput_configure_usage()
1386 b = field->logical_maximum = 255; in hidinput_configure_usage()
1389 if (field->application == HID_GD_GAMEPAD || field->application == HID_GD_JOYSTICK) in hidinput_configure_usage()
1394 hidinput_calc_abs_res(field, usage->code)); in hidinput_configure_usage()
1408 if (usage->hat_dir && !field->dpad) in hidinput_configure_usage()
1409 field->dpad = usage->code; in hidinput_configure_usage()
1416 if ((usage->type == EV_ABS) && (field->flags & HID_MAIN_ITEM_RELATIVE) && in hidinput_configure_usage()
1494 void hidinput_hid_event(struct hid_device *hid, struct hid_field *field, struct hid_usage *usage, _… in hidinput_hid_event() argument
1497 struct hid_report *report = field->report; in hidinput_hid_event()
1512 if (!field->hidinput) in hidinput_hid_event()
1515 input = field->hidinput->input; in hidinput_hid_event()
1538 if ((field->flags & HID_MAIN_ITEM_VARIABLE) && in hidinput_hid_event()
1539 field->logical_minimum < field->logical_maximum) { in hidinput_hid_event()
1540 if (field->flags & HID_MAIN_ITEM_NULL_STATE && in hidinput_hid_event()
1541 (value < field->logical_minimum || in hidinput_hid_event()
1542 value > field->logical_maximum)) { in hidinput_hid_event()
1547 field->logical_minimum, in hidinput_hid_event()
1548 field->logical_maximum); in hidinput_hid_event()
1617 int a = field->logical_minimum; in hidinput_hid_event()
1618 int b = field->logical_maximum; in hidinput_hid_event()
1651 if ((field->flags & HID_MAIN_ITEM_RELATIVE) && in hidinput_hid_event()
1667 value = field->logical_maximum - value; in hidinput_hid_event()
1681 if (!(field->flags & (HID_MAIN_ITEM_RELATIVE | in hidinput_hid_event()
1683 (field->flags & HID_MAIN_ITEM_VARIABLE) && in hidinput_hid_event()
1684 usage->usage_index < field->maxusage && in hidinput_hid_event()
1685 value == field->value[usage->usage_index]) in hidinput_hid_event()
1695 if ((field->flags & HID_MAIN_ITEM_RELATIVE) && in hidinput_hid_event()
1715 unsigned int code, struct hid_field **field) in hidinput_find_field() argument
1722 *field = report->field[i]; in hidinput_find_field()
1723 for (j = 0; j < (*field)->maxusage; j++) in hidinput_find_field()
1724 if ((*field)->usage[j].type == type && (*field)->usage[j].code == code) in hidinput_find_field()
1734 struct hid_field *field; in hidinput_get_led_field() local
1741 field = report->field[i]; in hidinput_get_led_field()
1742 for (j = 0; j < field->maxusage; j++) in hidinput_get_led_field()
1743 if (field->usage[j].type == EV_LED) in hidinput_get_led_field()
1744 return field; in hidinput_get_led_field()
1754 struct hid_field *field; in hidinput_count_leds() local
1762 field = report->field[i]; in hidinput_count_leds()
1763 for (j = 0; j < field->maxusage; j++) in hidinput_count_leds()
1764 if (field->usage[j].type == EV_LED && in hidinput_count_leds()
1765 field->value[j]) in hidinput_count_leds()
1777 struct hid_field *field; in hidinput_led_worker() local
1783 field = hidinput_get_led_field(hid); in hidinput_led_worker()
1784 if (!field) in hidinput_led_worker()
1800 report = field->report; in hidinput_led_worker()
1825 struct hid_field *field; in hidinput_input_event() local
1834 if ((offset = hidinput_find_field(hid, type, code, &field)) == -1) { in hidinput_input_event()
1839 hid_set_field(field, offset, value); in hidinput_input_event()
1872 report->field[i]->logical_maximum : in __hidinput_change_resolution_multipliers()
1873 report->field[i]->logical_minimum; in __hidinput_change_resolution_multipliers()
1879 if (report->field[i]->report_count != 1) in __hidinput_change_resolution_multipliers()
1882 for (j = 0; j < report->field[i]->maxusage; j++) { in __hidinput_change_resolution_multipliers()
1883 usage = &report->field[i]->usage[j]; in __hidinput_change_resolution_multipliers()
1907 report->field[i]->value[j] = value; in __hidinput_change_resolution_multipliers()
1952 if (rep->field[i]->report_count < 1) in report_features()
1955 for (j = 0; j < rep->field[i]->maxusage; j++) { in report_features()
1956 usage = &rep->field[i]->usage[j]; in report_features()
1961 rep->field[i], false); in report_features()
1964 drv->feature_mapping(hid, rep->field[i], usage); in report_features()
2125 if (report->field[i]->hidinput == hidinput) in hidinput_cleanup_hidinput()
2126 report->field[i]->hidinput = NULL; in hidinput_cleanup_hidinput()
2178 struct hid_field *field; in hidinput_configure_usages() local
2185 field = report->field[i]; in hidinput_configure_usages()
2188 if (field->maxusage < 1) in hidinput_configure_usages()
2194 if (prev_collection_index != field->usage->collection_index) { in hidinput_configure_usages()
2195 prev_collection_index = field->usage->collection_index; in hidinput_configure_usages()
2203 if (slot_collection_index == field->usage->collection_index) { in hidinput_configure_usages()
2204 field->slot_idx = slot_idx; in hidinput_configure_usages()
2209 for (j = 0; j < field->maxusage; j++) { in hidinput_configure_usages()
2210 if (field->usage[j].hid == HID_DG_CONTACTID) { in hidinput_configure_usages()
2211 slot_collection_index = field->usage->collection_index; in hidinput_configure_usages()
2219 report->field[k]->slot_idx = slot_idx; in hidinput_configure_usages()
2226 for (j = 0; j < report->field[i]->maxusage; j++) in hidinput_configure_usages()
2227 hidinput_configure_usage(hidinput, report->field[i], in hidinput_configure_usages()
2228 report->field[i]->usage + j, in hidinput_configure_usages()