Lines Matching refs:report
137 struct hid_report *report; in hidinput_find_key() local
141 list_for_each_entry(report, &hid->report_enum[k].report_list, list) { in hidinput_find_key()
142 for (i = 0; i < report->maxfield; i++) { in hidinput_find_key()
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()
533 if (hidinput_find_battery(dev, field->report->id)) in hidinput_setup_battery()
540 field->report->id); in hidinput_setup_battery()
559 field->report->id); in hidinput_setup_battery()
586 bat->report_id = field->report->id; in hidinput_setup_battery()
1382 if (field->report->type == HID_OUTPUT_REPORT) { in hidinput_configure_usage()
1530 static void hid_report_release_tool(struct hid_report *report, struct input_dev *input, in hid_report_release_tool() argument
1545 report->tool = 0; in hid_report_release_tool()
1548 static void hid_report_set_tool(struct hid_report *report, struct input_dev *input, in hid_report_set_tool() argument
1551 if (report->tool != new_tool) in hid_report_set_tool()
1552 hid_report_release_tool(report, input, report->tool); in hid_report_set_tool()
1555 report->tool = new_tool; in hid_report_set_tool()
1561 struct hid_report *report = field->report; in hidinput_hid_event() local
1568 hidinput_update_battery(hid, report->id, usage->hid, value); in hidinput_hid_event()
1613 report->tool_active |= !!value; in hidinput_hid_event()
1620 hid_report_set_tool(report, input, BTN_TOOL_RUBBER); in hidinput_hid_event()
1621 else if (report->tool != BTN_TOOL_RUBBER) in hidinput_hid_event()
1630 hid_report_release_tool(report, input, BTN_TOOL_RUBBER); in hidinput_hid_event()
1638 report->tool_active |= !!value; in hidinput_hid_event()
1644 hid_report_set_tool(report, input, BTN_TOOL_RUBBER); in hidinput_hid_event()
1645 else if (!report->tool_active) in hidinput_hid_event()
1647 hid_report_release_tool(report, input, BTN_TOOL_RUBBER); in hidinput_hid_event()
1653 report->tool_active |= !!value; in hidinput_hid_event()
1655 if (report->tool_active) { in hidinput_hid_event()
1660 if (!report->tool) in hidinput_hid_event()
1661 report->tool = usage->code; in hidinput_hid_event()
1664 hid_report_set_tool(report, input, report->tool); in hidinput_hid_event()
1666 hid_report_release_tool(report, input, usage->code); in hidinput_hid_event()
1670 report->tool_active = false; in hidinput_hid_event()
1676 report->tool_active |= !!value; in hidinput_hid_event()
1679 if (report->tool == BTN_TOOL_RUBBER) in hidinput_hid_event()
1691 report->tool_active = true; in hidinput_hid_event()
1771 void hidinput_report_event(struct hid_device *hid, struct hid_report *report) in hidinput_report_event() argument
1786 struct hid_report *report; in hidinput_find_field() local
1789 list_for_each_entry(report, &hid->report_enum[HID_OUTPUT_REPORT].report_list, list) { in hidinput_find_field()
1790 for (i = 0; i < report->maxfield; i++) { in hidinput_find_field()
1791 *field = report->field[i]; in hidinput_find_field()
1802 struct hid_report *report; in hidinput_get_led_field() local
1806 list_for_each_entry(report, in hidinput_get_led_field()
1809 for (i = 0; i < report->maxfield; i++) { in hidinput_get_led_field()
1810 field = report->field[i]; in hidinput_get_led_field()
1822 struct hid_report *report; in hidinput_count_leds() local
1827 list_for_each_entry(report, in hidinput_count_leds()
1830 for (i = 0; i < report->maxfield; i++) { in hidinput_count_leds()
1831 field = report->field[i]; in hidinput_count_leds()
1847 struct hid_report *report; in hidinput_led_worker() local
1868 report = field->report; in hidinput_led_worker()
1872 return hid->ll_driver->request(hid, report, HID_REQ_SET_REPORT); in hidinput_led_worker()
1875 len = hid_report_len(report); in hidinput_led_worker()
1876 u8 *buf __free(kfree) = hid_alloc_report_buf(report, GFP_KERNEL); in hidinput_led_worker()
1880 hid_output_report(report, buf); in hidinput_led_worker()
1884 hid_hw_raw_request(hid, report->id, buf, len, HID_OUTPUT_REPORT, in hidinput_led_worker()
1927 struct hid_report *report, bool use_logical_max) in __hidinput_change_resolution_multipliers() argument
1934 if (report->maxfield == 0) in __hidinput_change_resolution_multipliers()
1937 for (i = 0; i < report->maxfield; i++) { in __hidinput_change_resolution_multipliers()
1939 report->field[i]->logical_maximum : in __hidinput_change_resolution_multipliers()
1940 report->field[i]->logical_minimum; in __hidinput_change_resolution_multipliers()
1946 if (report->field[i]->report_count != 1) in __hidinput_change_resolution_multipliers()
1949 for (j = 0; j < report->field[i]->maxusage; j++) { in __hidinput_change_resolution_multipliers()
1950 usage = &report->field[i]->usage[j]; in __hidinput_change_resolution_multipliers()
1965 if (!get_report_completed && report->maxfield > 1) { in __hidinput_change_resolution_multipliers()
1969 hid_hw_request(hid, report, HID_REQ_GET_REPORT); in __hidinput_change_resolution_multipliers()
1974 report->field[i]->value[j] = value; in __hidinput_change_resolution_multipliers()
2176 struct hid_report *report; in hidinput_cleanup_hidinput() local
2188 list_for_each_entry(report, &hid->report_enum[k].report_list, in hidinput_cleanup_hidinput()
2191 for (i = 0; i < report->maxfield; i++) in hidinput_cleanup_hidinput()
2192 if (report->field[i]->hidinput == hidinput) in hidinput_cleanup_hidinput()
2193 report->field[i]->hidinput = NULL; in hidinput_cleanup_hidinput()
2200 static struct hid_input *hidinput_match(struct hid_report *report) in hidinput_match() argument
2202 struct hid_device *hid = report->device; in hidinput_match()
2206 if (hidinput->report && in hidinput_match()
2207 hidinput->report->id == report->id) in hidinput_match()
2214 static struct hid_input *hidinput_match_application(struct hid_report *report) in hidinput_match_application() argument
2216 struct hid_device *hid = report->device; in hidinput_match_application()
2220 if (hidinput->application == report->application) in hidinput_match_application()
2227 if ((report->application == HID_GD_SYSTEM_CONTROL || in hidinput_match_application()
2228 report->application == HID_CP_CONSUMER_CONTROL) && in hidinput_match_application()
2238 struct hid_report *report) in hidinput_configure_usages() argument
2251 for (i = 0; i < report->maxfield; i++) { in hidinput_configure_usages()
2252 field = report->field[i]; in hidinput_configure_usages()
2286 report->field[k]->slot_idx = slot_idx; in hidinput_configure_usages()
2292 for (i = 0; i < report->maxfield; i++) in hidinput_configure_usages()
2293 for (j = 0; j < report->field[i]->maxusage; j++) in hidinput_configure_usages()
2294 hidinput_configure_usage(hidinput, report->field[i], in hidinput_configure_usages()
2295 report->field[i]->usage + j, in hidinput_configure_usages()
2308 struct hid_report *report; in hidinput_connect() local
2338 list_for_each_entry(report, &hid->report_enum[k].report_list, list) { in hidinput_connect()
2340 if (!report->maxfield) in hidinput_connect()
2343 application = report->application; in hidinput_connect()
2350 hidinput = hidinput_match(report); in hidinput_connect()
2353 hidinput = hidinput_match_application(report); in hidinput_connect()
2361 hidinput_configure_usages(hidinput, report); in hidinput_connect()
2364 hidinput->report = report; in hidinput_connect()
2366 list_add_tail(&report->hidinput_list, in hidinput_connect()