Home
last modified time | relevance | path

Searched refs:hid (Results 1 – 25 of 251) sorted by relevance

1234567891011

/Linux-v4.19/drivers/hid/
DMakefile5 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 …]
Dhid-lg4ff.c73 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 …]
Dhid-cmedia.c53 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 …]
Dhid-mf.c44 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 …]
Dhid-appleir.c117 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 …]
Dhid-input.c76 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 …]
Dhid-holtekff.c88 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 …]
Duhid.c38 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 …]
Dhid-tmff.c86 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 …]
Dhid-dr.c46 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 …]
Dhid-pl.c62 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 …]
Dhid-sjoy.c44 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 …]
Dhid-core.c289 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 …]
Dhid-gaff.c45 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 …]
Dhid-axff.c45 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 …]
Dhid-emsff.c37 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/
Dhid-core.c77 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 …]
Dhiddev.c69 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 …]
Dhid-pidff.c157 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/
Dishtp-hid.c29 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/
Dhid.c23 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/
Di2c-hid.c137 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/
Dhiddev.h41 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
Dhid.h436 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/
Dcore.c89 } 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 …]

1234567891011