/Linux-v4.19/drivers/hid/ |
D | Makefile | 5 hid-y := hid-core.o hid-input.o hid-quirks.o 6 hid-$(CONFIG_DEBUG_FS) += hid-debug.o 8 obj-$(CONFIG_HID) += hid.o 11 obj-$(CONFIG_HID_GENERIC) += hid-generic.o 13 hid-$(CONFIG_HIDRAW) += hidraw.o 15 hid-logitech-y := hid-lg.o 16 hid-logitech-$(CONFIG_LOGITECH_FF) += hid-lgff.o 17 hid-logitech-$(CONFIG_LOGIRUMBLEPAD2_FF) += hid-lg2ff.o 18 hid-logitech-$(CONFIG_LOGIG940_FF) += hid-lg3ff.o 19 hid-logitech-$(CONFIG_LOGIWHEELS_FF) += hid-lg4ff.o [all …]
|
D | hid-lg4ff.c | 73 static void lg4ff_set_range_dfp(struct hid_device *hid, u16 range); 74 static void lg4ff_set_range_g25(struct hid_device *hid, u16 range); 91 void (*set_range)(struct hid_device *hid, u16 range); 111 void (*set_range)(struct hid_device *hid, u16 range); 307 int lg4ff_adjust_input_event(struct hid_device *hid, struct hid_field *field, in lg4ff_adjust_input_event() argument 314 hid_err(hid, "Device properties not found"); in lg4ff_adjust_input_event() 414 struct hid_device *hid = input_get_drvdata(dev); in lg4ff_play() local 421 drv_data = hid_get_drvdata(hid); in lg4ff_play() 423 hid_err(hid, "Private driver data not found!\n"); in lg4ff_play() 429 hid_err(hid, "Device properties not found!\n"); in lg4ff_play() [all …]
|
D | hid-cmedia.c | 53 struct hid_device *hid; member 57 static void hp_ev(struct hid_device *hid, struct cmhid *cm, int value) in hp_ev() argument 63 static int cmhid_raw_event(struct hid_device *hid, struct hid_report *report, in cmhid_raw_event() argument 66 struct cmhid *cm = hid_get_drvdata(hid); in cmhid_raw_event() 74 hp_ev(hid, cm, 0); in cmhid_raw_event() 78 hp_ev(hid, cm, 1); in cmhid_raw_event() 86 static int cmhid_input_configured(struct hid_device *hid, in cmhid_input_configured() argument 90 struct cmhid *cm = hid_get_drvdata(hid); in cmhid_input_configured() 102 static int cmhid_input_mapping(struct hid_device *hid, in cmhid_input_mapping() argument 109 static int cmhid_probe(struct hid_device *hid, const struct hid_device_id *id) in cmhid_probe() argument [all …]
|
D | hid-mf.c | 44 struct hid_device *hid = input_get_drvdata(dev); in mf_play() local 60 hid_hw_request(hid, mf->report, HID_REQ_SET_REPORT); in mf_play() 65 static int mf_init(struct hid_device *hid) in mf_init() argument 70 &hid->report_enum[HID_OUTPUT_REPORT].report_list; in mf_init() 75 struct list_head *input_ptr = &hid->inputs; in mf_init() 87 hid_err(hid, "Invalid report, this should never happen!\n"); in mf_init() 91 if (list_is_last(input_ptr, &hid->inputs)) { in mf_init() 92 hid_err(hid, "Missing input, this should never happen!\n"); in mf_init() 115 hid_hw_request(hid, mf->report, HID_REQ_SET_REPORT); in mf_init() 118 hid_info(hid, "Force feedback for HJZ Mayflash game controller " in mf_init() [all …]
|
D | hid-appleir.c | 117 struct hid_device *hid; member 159 static void key_up(struct hid_device *hid, struct appleir *appleir, int key) in key_up() argument 165 static void key_down(struct hid_device *hid, struct appleir *appleir, int key) in key_down() argument 179 struct hid_device *hid = appleir->hid; in key_up_tick() local 184 key_up(hid, appleir, appleir->current_key); in key_up_tick() 190 static int appleir_raw_event(struct hid_device *hid, struct hid_report *report, in appleir_raw_event() argument 193 struct appleir *appleir = hid_get_drvdata(hid); in appleir_raw_event() 211 key_up(hid, appleir, appleir->current_key); in appleir_raw_event() 222 key_down(hid, appleir, appleir->current_key); in appleir_raw_event() 240 key_down(hid, appleir, appleir->current_key); in appleir_raw_event() [all …]
|
D | hid-input.c | 76 return (usage->hid & (HID_USAGE_PAGE | HID_USAGE)) == scancode; in match_scancode() 97 static struct hid_usage *hidinput_find_key(struct hid_device *hid, in hidinput_find_key() argument 107 list_for_each_entry(report, &hid->report_enum[k].report_list, list) { in hidinput_find_key() 126 static struct hid_usage *hidinput_locate_usage(struct hid_device *hid, in hidinput_locate_usage() argument 134 usage = hidinput_find_key(hid, match_index, ke->index, index); in hidinput_locate_usage() 136 usage = hidinput_find_key(hid, match_scancode, scancode, index); in hidinput_locate_usage() 146 struct hid_device *hid = input_get_drvdata(dev); in hidinput_getkeycode() local 150 usage = hidinput_locate_usage(hid, ke, &index); in hidinput_getkeycode() 155 scancode = usage->hid & (HID_USAGE_PAGE | HID_USAGE); in hidinput_getkeycode() 168 struct hid_device *hid = input_get_drvdata(dev); in hidinput_setkeycode() local [all …]
|
D | hid-holtekff.c | 88 struct hid_device *hid, in holtekff_send() argument 99 hid_hw_request(hid, holtekff->field->report, HID_REQ_SET_REPORT); in holtekff_send() 105 struct hid_device *hid = input_get_drvdata(dev); in holtekff_play() local 117 holtekff_send(holtekff, hid, stop_all6); in holtekff_play() 129 holtekff_send(holtekff, hid, buf); in holtekff_play() 130 holtekff_send(holtekff, hid, start_effect_1); in holtekff_play() 135 static int holtekff_init(struct hid_device *hid) in holtekff_init() argument 139 struct hid_input *hidinput = list_entry(hid->inputs.next, in holtekff_init() 142 &hid->report_enum[HID_OUTPUT_REPORT].report_list; in holtekff_init() 147 hid_err(hid, "no output report found\n"); in holtekff_init() [all …]
|
D | uhid.c | 38 struct hid_device *hid; member 64 ret = hid_add_device(uhid->hid); in uhid_device_add_worker() 66 hid_err(uhid->hid, "Cannot register HID device: error %d\n", ret); in uhid_device_add_worker() 68 hid_destroy_device(uhid->hid); in uhid_device_add_worker() 69 uhid->hid = NULL; in uhid_device_add_worker() 85 hid_warn(uhid->hid, "Output queue is full\n"); in uhid_queue() 108 static int uhid_hid_start(struct hid_device *hid) in uhid_hid_start() argument 110 struct uhid_device *uhid = hid->driver_data; in uhid_hid_start() 120 if (hid->report_enum[HID_FEATURE_REPORT].numbered) in uhid_hid_start() 122 if (hid->report_enum[HID_OUTPUT_REPORT].numbered) in uhid_hid_start() [all …]
|
D | hid-tmff.c | 86 struct hid_device *hid = input_get_drvdata(dev); in tmff_play() local 104 hid_hw_request(hid, tmff->report, HID_REQ_SET_REPORT); in tmff_play() 118 hid_hw_request(hid, tmff->report, HID_REQ_SET_REPORT); in tmff_play() 124 static int tmff_init(struct hid_device *hid, const signed short *ff_bits) in tmff_init() argument 129 struct hid_input *hidinput = list_entry(hid->inputs.next, in tmff_init() 140 report_list = &hid->report_enum[HID_OUTPUT_REPORT].report_list; in tmff_init() 150 switch (field->usage[0].hid) { in tmff_init() 153 hid_warn(hid, "ignoring FF field with report_count < 2\n"); in tmff_init() 159 hid_warn(hid, "ignoring FF field with logical_maximum == logical_minimum\n"); in tmff_init() 164 hid_warn(hid, "ignoring FF field in other report\n"); in tmff_init() [all …]
|
D | hid-dr.c | 46 struct hid_device *hid = input_get_drvdata(dev); in drff_play() local 69 hid_hw_request(hid, drff->report, HID_REQ_SET_REPORT); in drff_play() 81 hid_hw_request(hid, drff->report, HID_REQ_SET_REPORT); in drff_play() 86 static int drff_init(struct hid_device *hid) in drff_init() argument 90 struct hid_input *hidinput = list_first_entry(&hid->inputs, in drff_init() 93 &hid->report_enum[HID_OUTPUT_REPORT].report_list; in drff_init() 98 hid_err(hid, "no output reports found\n"); in drff_init() 104 hid_err(hid, "no fields in the report\n"); in drff_init() 109 hid_err(hid, "not enough values in the field\n"); in drff_init() 133 hid_hw_request(hid, drff->report, HID_REQ_SET_REPORT); in drff_init() [all …]
|
D | hid-pl.c | 62 struct hid_device *hid = input_get_drvdata(dev); in hid_plff_play() local 76 hid_hw_request(hid, plff->report, HID_REQ_SET_REPORT); in hid_plff_play() 81 static int plff_init(struct hid_device *hid) in plff_init() argument 87 &hid->report_enum[HID_OUTPUT_REPORT].report_list; in plff_init() 109 hid_err(hid, "no output reports found\n"); in plff_init() 113 list_for_each_entry(hidinput, &hid->inputs, list) { in plff_init() 118 hid_err(hid, "required output report is missing\n"); in plff_init() 124 hid_err(hid, "no fields in the report\n"); in plff_init() 136 report->field[0]->usage[0].hid == in plff_init() 147 if (hid->vendor == USB_VENDOR_ID_JESS2) in plff_init() [all …]
|
D | hid-sjoy.c | 44 struct hid_device *hid = input_get_drvdata(dev); in hid_sjoyff_play() local 58 hid_hw_request(hid, sjoyff->report, HID_REQ_SET_REPORT); in hid_sjoyff_play() 63 static int sjoyff_init(struct hid_device *hid) in sjoyff_init() argument 69 &hid->report_enum[HID_OUTPUT_REPORT].report_list; in sjoyff_init() 75 hid_err(hid, "no output reports found\n"); in sjoyff_init() 79 list_for_each_entry(hidinput, &hid->inputs, list) { in sjoyff_init() 83 hid_err(hid, "required output report is missing\n"); in sjoyff_init() 89 hid_err(hid, "no fields in the report\n"); in sjoyff_init() 94 hid_err(hid, "not enough values in the field\n"); in sjoyff_init() 116 hid_hw_request(hid, sjoyff->report, HID_REQ_SET_REPORT); in sjoyff_init() [all …]
|
D | hid-core.c | 289 field->usage[i].hid = parser->local.usage[j]; in hid_add_field() 647 struct hid_device *hid = to_hid_device(dev); in hid_device_release() local 649 hid_close_report(hid); in hid_device_release() 650 kfree(hid->dev_rdesc); in hid_device_release() 651 kfree(hid); in hid_device_release() 723 struct hid_device *hid = parser->device; in hid_scan_input_usage() local 726 hid->group = HID_GROUP_MULTITOUCH; in hid_scan_input_usage() 738 struct hid_device *hid = parser->device; in hid_scan_collection() local 743 hid->group = HID_GROUP_SENSOR_HUB; in hid_scan_collection() 745 if (hid->vendor == USB_VENDOR_ID_MICROSOFT && in hid_scan_collection() [all …]
|
D | hid-gaff.c | 45 struct hid_device *hid = input_get_drvdata(dev); in hid_gaff_play() local 64 hid_hw_request(hid, gaff->report, HID_REQ_SET_REPORT); in hid_gaff_play() 71 hid_hw_request(hid, gaff->report, HID_REQ_SET_REPORT); in hid_gaff_play() 76 static int gaff_init(struct hid_device *hid) in gaff_init() argument 80 struct hid_input *hidinput = list_entry(hid->inputs.next, in gaff_init() 83 &hid->report_enum[HID_OUTPUT_REPORT].report_list; in gaff_init() 89 hid_err(hid, "no output reports found\n"); in gaff_init() 97 hid_err(hid, "no fields in the report\n"); in gaff_init() 102 hid_err(hid, "not enough values in the field\n"); in gaff_init() 123 hid_hw_request(hid, gaff->report, HID_REQ_SET_REPORT); in gaff_init() [all …]
|
D | hid-axff.c | 45 struct hid_device *hid = input_get_drvdata(dev); in axff_play() local 69 hid_hw_request(hid, axff->report, HID_REQ_SET_REPORT); in axff_play() 74 static int axff_init(struct hid_device *hid) in axff_init() argument 78 struct hid_input *hidinput = list_first_entry(&hid->inputs, struct hid_input, list); in axff_init() 79 struct list_head *report_list =&hid->report_enum[HID_OUTPUT_REPORT].report_list; in axff_init() 86 hid_err(hid, "no output reports found\n"); in axff_init() 98 if (field_count < 4 && hid->product != 0xf705) { in axff_init() 99 hid_err(hid, "not enough fields in the report: %d\n", in axff_init() 115 hid_hw_request(hid, axff->report, HID_REQ_SET_REPORT); in axff_init() 117 hid_info(hid, "Force Feedback for ACRUX game controllers by Sergei Kolzun <x0r@dv-life.ru>\n"); in axff_init() [all …]
|
D | hid-emsff.c | 37 struct hid_device *hid = input_get_drvdata(dev); in emsff_play() local 53 hid_hw_request(hid, emsff->report, HID_REQ_SET_REPORT); in emsff_play() 58 static int emsff_init(struct hid_device *hid) in emsff_init() argument 62 struct hid_input *hidinput = list_first_entry(&hid->inputs, in emsff_init() 65 &hid->report_enum[HID_OUTPUT_REPORT].report_list; in emsff_init() 70 hid_err(hid, "no output reports found\n"); in emsff_init() 76 hid_err(hid, "no fields in the report\n"); in emsff_init() 81 hid_err(hid, "not enough values in the field\n"); in emsff_init() 105 hid_hw_request(hid, emsff->report, HID_REQ_SET_REPORT); in emsff_init() 107 hid_info(hid, "force feedback for EMS based devices by Ignaz Forster <ignaz.forster@gmx.de>\n"); in emsff_init() [all …]
|
/Linux-v4.19/drivers/hid/usbhid/ |
D | hid-core.c | 77 static void hid_io_error(struct hid_device *hid); 78 static int hid_submit_out(struct hid_device *hid); 79 static int hid_submit_ctrl(struct hid_device *hid); 83 static int hid_start_in(struct hid_device *hid) in hid_start_in() argument 87 struct usbhid_device *usbhid = hid->driver_data; in hid_start_in() 111 struct hid_device *hid = usbhid->hid; in hid_retry_timeout() local 114 if (hid_start_in(hid)) in hid_retry_timeout() 115 hid_io_error(hid); in hid_retry_timeout() 123 struct hid_device *hid = usbhid->hid; in hid_reset() local 128 rc = usb_clear_halt(hid_to_usb_dev(hid), usbhid->urbin->pipe); in hid_reset() [all …]
|
D | hiddev.c | 69 hiddev_lookup_report(struct hid_device *hid, struct hiddev_report_info *rinfo) in hiddev_lookup_report() argument 81 report_enum = hid->report_enum + in hiddev_lookup_report() 122 hiddev_lookup_usage(struct hid_device *hid, struct hiddev_usage_ref *uref) in hiddev_lookup_usage() argument 133 report_enum = hid->report_enum + in hiddev_lookup_usage() 140 if (field->usage[j].hid == uref->usage_code) { in hiddev_lookup_usage() 153 static void hiddev_send_event(struct hid_device *hid, in hiddev_send_event() argument 156 struct hiddev *hiddev = hid->hiddev; in hiddev_send_event() 179 void hiddev_hid_event(struct hid_device *hid, struct hid_field *field, in hiddev_hid_event() argument 192 uref.usage_code = usage->hid; in hiddev_hid_event() 195 hiddev_send_event(hid, &uref); in hiddev_hid_event() [all …]
|
D | hid-pidff.c | 157 struct hid_device *hid; member 262 hid_dbg(pidff->hid, "attack %u => %d\n", in pidff_set_envelope_report() 266 hid_hw_request(pidff->hid, pidff->reports[PID_SET_ENVELOPE], in pidff_set_envelope_report() 293 hid_hw_request(pidff->hid, pidff->reports[PID_SET_CONSTANT], in pidff_set_constant_force_report() 328 hid_hw_request(pidff->hid, pidff->reports[PID_SET_EFFECT], in pidff_set_effect_report() 360 hid_hw_request(pidff->hid, pidff->reports[PID_SET_PERIODIC], in pidff_set_periodic_report() 402 hid_hw_request(pidff->hid, pidff->reports[PID_SET_CONDITION], in pidff_set_condition_report() 443 hid_hw_request(pidff->hid, pidff->reports[PID_SET_RAMP], in pidff_set_ramp_force_report() 468 hid_hw_request(pidff->hid, pidff->reports[PID_CREATE_NEW_EFFECT], in pidff_request_effect_upload() 470 hid_dbg(pidff->hid, "create_new_effect sent, type: %d\n", efnum); in pidff_request_effect_upload() [all …]
|
/Linux-v4.19/drivers/hid/intel-ish-hid/ |
D | ishtp-hid.c | 29 static int ishtp_hid_parse(struct hid_device *hid) in ishtp_hid_parse() argument 31 struct ishtp_hid_data *hid_data = hid->driver_data; in ishtp_hid_parse() 35 rv = hid_parse_report(hid, client_data->report_descr[hid_data->index], in ishtp_hid_parse() 44 static int ishtp_hid_start(struct hid_device *hid) in ishtp_hid_start() argument 49 static void ishtp_hid_stop(struct hid_device *hid) in ishtp_hid_stop() argument 53 static int ishtp_hid_open(struct hid_device *hid) in ishtp_hid_open() argument 58 static void ishtp_hid_close(struct hid_device *hid) in ishtp_hid_close() argument 76 static void ishtp_hid_request(struct hid_device *hid, struct hid_report *rep, in ishtp_hid_request() argument 79 struct ishtp_hid_data *hid_data = hid->driver_data; in ishtp_hid_request() 90 hid_ishtp_get_report(hid, rep->id, rep->type); in ishtp_hid_request() [all …]
|
/Linux-v4.19/drivers/staging/greybus/ |
D | hid.c | 23 struct hid_device *hid; member 147 hid_input_report(ghid->hid, HID_INPUT_REPORT, in gb_hid_request_handler() 159 static void gb_hid_find_max_report(struct hid_device *hid, unsigned int type, in gb_hid_find_max_report() argument 165 list_for_each_entry(report, &hid->report_enum[type].report_list, list) { in gb_hid_find_max_report() 205 hid_report_raw_event(ghid->hid, report->type, ghid->inbuf, size, 1); in gb_hid_init_report() 210 struct hid_device *hid = ghid->hid; in gb_hid_init_reports() local 214 &hid->report_enum[HID_INPUT_REPORT].report_list, list) in gb_hid_init_reports() 218 &hid->report_enum[HID_FEATURE_REPORT].report_list, list) in gb_hid_init_reports() 222 static int __gb_hid_get_raw_report(struct hid_device *hid, in __gb_hid_get_raw_report() argument 226 struct gb_hid *ghid = hid->driver_data; in __gb_hid_get_raw_report() [all …]
|
/Linux-v4.19/drivers/hid/i2c-hid/ |
D | i2c-hid.c | 137 struct hid_device *hid; /* pointer to corresponding HID dev */ member 493 hid_input_report(ihid->hid, HID_INPUT_REPORT, ihid->inbuf + 2, in i2c_hid_get_input() 520 static void i2c_hid_find_max_report(struct hid_device *hid, unsigned int type, in i2c_hid_find_max_report() argument 528 list_for_each_entry(report, &hid->report_enum[type].report_list, list) { in i2c_hid_find_max_report() 573 static int i2c_hid_get_raw_report(struct hid_device *hid, in i2c_hid_get_raw_report() argument 577 struct i2c_client *client = hid->driver_data; in i2c_hid_get_raw_report() 609 static int i2c_hid_output_raw_report(struct hid_device *hid, __u8 *buf, in i2c_hid_output_raw_report() argument 612 struct i2c_client *client = hid->driver_data; in i2c_hid_output_raw_report() 639 static int i2c_hid_output_report(struct hid_device *hid, __u8 *buf, in i2c_hid_output_report() argument 642 return i2c_hid_output_raw_report(hid, buf, count, HID_OUTPUT_REPORT, in i2c_hid_output_report() [all …]
|
/Linux-v4.19/include/linux/ |
D | hiddev.h | 41 struct hid_device *hid; member 53 int hiddev_connect(struct hid_device *hid, unsigned int force); 55 void hiddev_hid_event(struct hid_device *hid, struct hid_field *field, 57 void hiddev_report_event(struct hid_device *hid, struct hid_report *report); 59 static inline int hiddev_connect(struct hid_device *hid, in hiddev_connect() argument 62 static inline void hiddev_disconnect(struct hid_device *hid) { } in hiddev_disconnect() argument 63 static inline void hiddev_hid_event(struct hid_device *hid, struct hid_field *field, in hiddev_hid_event() argument 65 static inline void hiddev_report_event(struct hid_device *hid, struct hid_report *report) { } in hiddev_report_event() argument
|
D | hid.h | 436 unsigned hid; /* hid usage code */ member 873 extern void hidinput_report_event(struct hid_device *hid, struct hid_report *report); 874 extern int hidinput_connect(struct hid_device *hid, unsigned int force); 879 int hidinput_find_field(struct hid_device *hid, unsigned int type, unsigned int code, struct hid_fi… 880 struct hid_field *hidinput_get_led_field(struct hid_device *hid); 881 unsigned int hidinput_count_leds(struct hid_device *hid); 884 void __hid_request(struct hid_device *hid, struct hid_report *rep, int reqtype); 890 int hid_parse_report(struct hid_device *hid, __u8 *start, unsigned size); 891 struct hid_report *hid_validate_values(struct hid_device *hid, 896 int hid_check_keys_pressed(struct hid_device *hid); [all …]
|
/Linux-v4.19/net/bluetooth/hidp/ |
D | core.c | 89 } else if (session->hid) { in hidp_copy_session() 90 ci->vendor = session->hid->vendor; in hidp_copy_session() 91 ci->product = session->hid->product; in hidp_copy_session() 92 ci->version = session->hid->version; in hidp_copy_session() 93 strlcpy(ci->name, session->hid->name, 128); in hidp_copy_session() 228 static int hidp_get_raw_report(struct hid_device *hid, in hidp_get_raw_report() argument 233 struct hidp_session *session = hid->driver_data; in hidp_get_raw_report() 236 int numbered_reports = hid->report_enum[report_type].numbered; in hidp_get_raw_report() 313 static int hidp_set_raw_report(struct hid_device *hid, unsigned char reportnum, in hidp_set_raw_report() argument 317 struct hidp_session *session = hid->driver_data; in hidp_set_raw_report() [all …]
|