Lines Matching refs:report
59 struct hid_report *report;
61 list_for_each_entry(report, &hdev->report_enum[dir].report_list, list) {
62 if (report->id == id)
63 return report;
65 hid_warn(hdev, "No report with id 0x%x found\n", id);
194 struct hid_report *report;
203 report = sensor_hub_report(report_id, hsdev->hdev, HID_FEATURE_REPORT);
204 if (!report || (field_index >= report->maxfield)) {
213 ret = hid_set_field(report->field[field_index], i,
224 ret = hid_set_field(report->field[field_index], i,
229 hid_hw_request(hsdev->hdev, report, HID_REQ_SET_REPORT);
242 struct hid_report *report;
253 report = sensor_hub_report(report_id, hsdev->hdev, HID_FEATURE_REPORT);
254 if (!report || (field_index >= report->maxfield) ||
255 report->field[field_index]->report_count < 1) {
259 hid_hw_request(hsdev->hdev, report, HID_REQ_GET_REPORT);
263 report_size = DIV_ROUND_UP(report->field[field_index]->report_size,
265 report->field[field_index]->report_count;
272 val_ptr = (u8 *)report->field[field_index]->value;
273 for (i = 0; i < report->field[field_index]->report_count; ++i) {
278 report->field[field_index]->report_size / 8);
280 buffer_index += (report->field[field_index]->report_size / 8);
299 struct hid_report *report;
302 report = sensor_hub_report(report_id, hsdev->hdev,
304 if (!report)
320 hid_hw_request(hsdev->hdev, report, HID_REQ_GET_REPORT);
356 struct hid_report *report;
360 report = sensor_hub_report(report_id, hsdev->hdev, HID_FEATURE_REPORT);
361 if (!report || (field_index >= report->maxfield))
364 field = report->field[field_index];
383 struct hid_report *report;
397 list_for_each_entry(report, &report_enum->report_list, list) {
398 for (i = 0; i < report->maxfield; ++i) {
399 field = report->field[i];
411 report->id,
469 * Handle raw report as sent by device
472 struct hid_report *report, u8 *raw_data, int size)
484 hid_dbg(hdev, "sensor_hub_raw_event report id:0x%x size:%d type:%d\n",
485 report->id, size, report->type);
486 hid_dbg(hdev, "maxfield:%d\n", report->maxfield);
487 if (report->type != HID_INPUT_REPORT)
491 if (report->id)
492 ptr++; /* Skip report id */
496 for (i = 0; i < report->maxfield; ++i) {
498 i, report->field[i]->usage->collection_index,
499 report->field[i]->usage->hid,
500 (report->field[i]->report_size *
501 report->field[i]->report_count)/8);
502 sz = (report->field[i]->report_size *
503 report->field[i]->report_count)/8;
505 report->field[i]->usage->collection_index];
510 report->field[i]->physical,
511 report->field[i]->usage[0].collection_index,
518 report->field[i]->usage->hid ||
520 report->field[i]->logical)) {
530 if (report->field[i]->logical)
532 report->field[i]->logical, sz, ptr,
536 report->field[i]->usage->hid, sz, ptr,
586 * Checks if the report descriptor of Thinkpad Helix 2 has a logical