Lines Matching refs:field

96 	struct hid_field *field;  in hid_register_field()  local
103 field = kzalloc((sizeof(struct hid_field) + in hid_register_field()
106 if (!field) in hid_register_field()
109 field->index = report->maxfield++; in hid_register_field()
110 report->field[field->index] = field; in hid_register_field()
111 field->usage = (struct hid_usage *)(field + 1); in hid_register_field()
112 field->value = (s32 *)(field->usage + usages); in hid_register_field()
113 field->report = report; in hid_register_field()
115 return field; in hid_register_field()
224 struct hid_field *field; in hid_add_field() local
257 field = hid_register_field(report, usages, parser->global.report_count); in hid_add_field()
258 if (!field) in hid_add_field()
261 field->physical = hid_lookup_collection(parser, HID_COLLECTION_PHYSICAL); in hid_add_field()
262 field->logical = hid_lookup_collection(parser, HID_COLLECTION_LOGICAL); in hid_add_field()
263 field->application = hid_lookup_collection(parser, HID_COLLECTION_APPLICATION); in hid_add_field()
270 field->usage[i].hid = parser->local.usage[j]; in hid_add_field()
271 field->usage[i].collection_index = in hid_add_field()
273 field->usage[i].usage_index = i; in hid_add_field()
276 field->maxusage = usages; in hid_add_field()
277 field->flags = flags; in hid_add_field()
278 field->report_offset = offset; in hid_add_field()
279 field->report_type = report_type; in hid_add_field()
280 field->report_size = parser->global.report_size; in hid_add_field()
281 field->report_count = parser->global.report_count; in hid_add_field()
282 field->logical_minimum = parser->global.logical_minimum; in hid_add_field()
283 field->logical_maximum = parser->global.logical_maximum; in hid_add_field()
284 field->physical_minimum = parser->global.physical_minimum; in hid_add_field()
285 field->physical_maximum = parser->global.physical_maximum; in hid_add_field()
286 field->unit_exponent = parser->global.unit_exponent; in hid_add_field()
287 field->unit = parser->global.unit; in hid_add_field()
585 kfree(report->field[n]); in hid_free_report()
921 if (report->field[field_index]->report_count < report_counts) { in hid_validate_values()
1198 static void hid_process_event(struct hid_device *hid, struct hid_field *field, in hid_process_event() argument
1208 ret = hdrv->event(hid, field, usage, value); in hid_process_event()
1218 hidinput_hid_event(hid, field, usage, value); in hid_process_event()
1220 hid->hiddev_hid_event(hid, field, usage, value); in hid_process_event()
1229 static void hid_input_field(struct hid_device *hid, struct hid_field *field, in hid_input_field() argument
1233 unsigned count = field->report_count; in hid_input_field()
1234 unsigned offset = field->report_offset; in hid_input_field()
1235 unsigned size = field->report_size; in hid_input_field()
1236 __s32 min = field->logical_minimum; in hid_input_field()
1237 __s32 max = field->logical_maximum; in hid_input_field()
1252 if (!(field->flags & HID_MAIN_ITEM_VARIABLE) && in hid_input_field()
1254 field->usage[value[n] - min].hid == HID_UP_KEYBOARD + 1) in hid_input_field()
1260 if (HID_MAIN_ITEM_VARIABLE & field->flags) { in hid_input_field()
1261 hid_process_event(hid, field, &field->usage[n], value[n], interrupt); in hid_input_field()
1265 if (field->value[n] >= min && field->value[n] <= max in hid_input_field()
1266 && field->usage[field->value[n] - min].hid in hid_input_field()
1267 && search(value, field->value[n], count)) in hid_input_field()
1268 hid_process_event(hid, field, &field->usage[field->value[n] - min], 0, interrupt); in hid_input_field()
1271 && field->usage[value[n] - min].hid in hid_input_field()
1272 && search(field->value, value[n], count)) in hid_input_field()
1273 hid_process_event(hid, field, &field->usage[value[n] - min], 1, interrupt); in hid_input_field()
1276 memcpy(field->value, value, count * sizeof(__s32)); in hid_input_field()
1286 struct hid_field *field, __u8 *data) in hid_output_field() argument
1288 unsigned count = field->report_count; in hid_output_field()
1289 unsigned offset = field->report_offset; in hid_output_field()
1290 unsigned size = field->report_size; in hid_output_field()
1294 if (field->logical_minimum < 0) /* signed values */ in hid_output_field()
1296 s32ton(field->value[n], size)); in hid_output_field()
1299 field->value[n]); in hid_output_field()
1317 hid_output_field(report->device, report->field[n], data); in hid_output_report()
1343 int hid_set_field(struct hid_field *field, unsigned offset, __s32 value) in hid_set_field() argument
1347 if (!field) in hid_set_field()
1350 size = field->report_size; in hid_set_field()
1352 hid_dump_input(field->report->device, field->usage + offset, value); in hid_set_field()
1354 if (offset >= field->report_count) { in hid_set_field()
1355 hid_err(field->report->device, "offset (%d) exceeds report_count (%d)\n", in hid_set_field()
1356 offset, field->report_count); in hid_set_field()
1359 if (field->logical_minimum < 0) { in hid_set_field()
1361 hid_err(field->report->device, "value %d is out of range\n", value); in hid_set_field()
1365 field->value[offset] = value; in hid_set_field()
1463 hid_input_field(hid, report->field[a], cdata, interrupt); in hid_report_raw_event()