| /linux/drivers/hid/intel-ish-hid/ |
| H A D | ishtp-hid.c | 21 static int ishtp_hid_parse(struct hid_device *hid) in ishtp_hid_parse() argument 23 struct ishtp_hid_data *hid_data = hid->driver_data; in ishtp_hid_parse() 27 rv = hid_parse_report(hid, client_data->report_descr[hid_data->index], in ishtp_hid_parse() 36 static int ishtp_hid_start(struct hid_device *hid) in ishtp_hid_start() argument 41 static void ishtp_hid_stop(struct hid_device *hid) in ishtp_hid_stop() argument 45 static int ishtp_hid_open(struct hid_device *hid) in ishtp_hid_open() argument 50 static void ishtp_hid_close(struct hid_device *hid) in ishtp_hid_close() argument 54 static int ishtp_raw_request(struct hid_device *hid, unsigned char reportnum, in ishtp_raw_request() argument 58 struct ishtp_hid_data *hid_data = hid->driver_data; in ishtp_raw_request() 73 hid_ishtp_get_report(hid, reportnum, rtype); in ishtp_raw_request() [all …]
|
| /linux/drivers/hid/intel-thc-hid/intel-quicki2c/ |
| H A D | quicki2c-hid.c | 21 static int quicki2c_hid_parse(struct hid_device *hid) in quicki2c_hid_parse() argument 23 struct quicki2c_device *qcdev = hid->driver_data; in quicki2c_hid_parse() 26 return hid_parse_report(hid, qcdev->report_descriptor, in quicki2c_hid_parse() 33 static int quicki2c_hid_start(struct hid_device *hid) in quicki2c_hid_start() argument 38 static void quicki2c_hid_stop(struct hid_device *hid) in quicki2c_hid_stop() argument 42 static int quicki2c_hid_open(struct hid_device *hid) in quicki2c_hid_open() argument 47 static void quicki2c_hid_close(struct hid_device *hid) in quicki2c_hid_close() argument 51 static int quicki2c_hid_raw_request(struct hid_device *hid, in quicki2c_hid_raw_request() argument 56 struct quicki2c_device *qcdev = hid->driver_data; in quicki2c_hid_raw_request() 80 static int quicki2c_hid_power(struct hid_device *hid, int lvl) in quicki2c_hid_power() argument [all …]
|
| /linux/sound/soc/sdca/ |
| H A D | sdca_hid.c | 13 #include <linux/hid.h> 25 static int sdwhid_parse(struct hid_device *hid) in sdwhid_parse() 27 struct sdca_function_data *function = hid->driver_data; in sdwhid_parse() 31 rsize = le16_to_cpu(function->hid.desc.rpt_desc.wDescriptorLength); in sdwhid_parse() 34 dev_err(&hid->dev, "invalid size of report descriptor (%u)\n", rsize); in sdwhid_parse() 38 ret = hid_parse_report(hid, function->hid.report_desc, rsize); in sdwhid_parse() 43 dev_err(&hid->dev, "parsing report descriptor failed\n"); in sdwhid_start() argument 47 static int sdwhid_start(struct hid_device *hid) 52 static void sdwhid_stop(struct hid_device *hid) in sdwhid_raw_request() argument 21 sdwhid_parse(struct hid_device * hid) sdwhid_parse() argument 48 sdwhid_stop(struct hid_device * hid) sdwhid_stop() argument 67 sdwhid_open(struct hid_device * hid) sdwhid_open() argument 72 sdwhid_close(struct hid_device * hid) sdwhid_close() argument 88 struct hid_device *hid; sdca_add_hid_device() local [all...] |
| /linux/drivers/staging/greybus/ |
| H A D | hid.c | 22 struct hid_device *hid; member 146 hid_input_report(ghid->hid, HID_INPUT_REPORT, in gb_hid_request_handler() 158 static void gb_hid_find_max_report(struct hid_device *hid, unsigned int type, in gb_hid_find_max_report() argument 164 list_for_each_entry(report, &hid->report_enum[type].report_list, list) { in gb_hid_find_max_report() 204 hid_report_raw_event(ghid->hid, report->type, ghid->inbuf, ghid->bufsize, size, 1); in gb_hid_init_report() 209 struct hid_device *hid = ghid->hid; in gb_hid_init_reports() local 213 &hid->report_enum[HID_INPUT_REPORT].report_list, in gb_hid_init_reports() 218 &hid->report_enum[HID_FEATURE_REPORT].report_list, in gb_hid_init_reports() 223 static int __gb_hid_get_raw_report(struct hid_device *hid, in __gb_hid_get_raw_report() argument 227 struct gb_hid *ghid = hid->driver_data; in __gb_hid_get_raw_report() [all …]
|
| /linux/drivers/hid/ |
| H A D | hid-cmedia.c | 87 struct hid_device *hid; member 91 static void hp_ev(struct hid_device *hid, struct cmhid *cm, int value) in hp_ev() argument 97 static int cmhid_raw_event(struct hid_device *hid, struct hid_report *report, in cmhid_raw_event() argument 100 struct cmhid *cm = hid_get_drvdata(hid); in cmhid_raw_event() 102 if (len != CM6533_JD_RAWEV_LEN || !(hid->claimed & HID_CLAIMED_INPUT)) in cmhid_raw_event() 108 hp_ev(hid, cm, 0); in cmhid_raw_event() 112 hp_ev(hid, cm, 1); in cmhid_raw_event() 120 static int cmhid_input_configured(struct hid_device *hid, in cmhid_input_configured() argument 124 struct cmhid *cm = hid_get_drvdata(hid); in cmhid_input_configured() 136 static int cmhid_input_mapping(struct hid_device *hid, in cmhid_input_mapping() argument [all …]
|
| H A D | hid-appleir.c | 109 struct hid_device *hid; member 152 static void key_up(struct hid_device *hid, struct appleir *appleir, int key) in key_up() argument 158 static void key_down(struct hid_device *hid, struct appleir *appleir, int key) in key_down() argument 172 struct hid_device *hid = appleir->hid; in key_up_tick() local 177 key_up(hid, appleir, appleir->current_key); in key_up_tick() 183 static int appleir_raw_event(struct hid_device *hid, struct hid_report *report, in appleir_raw_event() argument 186 struct appleir *appleir = hid_get_drvdata(hid); in appleir_raw_event() 192 if (len != 5 || !(hid->claimed & HID_CLAIMED_INPUT)) in appleir_raw_event() 208 key_up(hid, appleir, appleir->current_key); in appleir_raw_event() 219 key_down(hid, appleir, appleir->current_key); in appleir_raw_event() [all …]
|
| H A D | hid-samsung.c | 94 if (ifnum != 1 || HID_UP_CONSUMER != (usage->hid & HID_USAGE_PAGE)) in samsung_kbd_mouse_input_mapping() 98 usage->hid & HID_USAGE); in samsung_kbd_mouse_input_mapping() 100 switch (usage->hid & HID_USAGE) { in samsung_kbd_mouse_input_mapping() 146 if (!(HID_UP_CONSUMER == (usage->hid & HID_USAGE_PAGE) || in samsung_kbd_input_mapping() 147 HID_UP_KEYBOARD == (usage->hid & HID_USAGE_PAGE))) in samsung_kbd_input_mapping() 151 usage->hid & HID_USAGE); in samsung_kbd_input_mapping() 153 if (HID_UP_KEYBOARD == (usage->hid & HID_USAGE_PAGE)) { in samsung_kbd_input_mapping() 155 switch (usage->hid & HID_USAGE) { in samsung_kbd_input_mapping() 171 if (HID_UP_CONSUMER == (usage->hid & HID_USAGE_PAGE)) { in samsung_kbd_input_mapping() 172 switch (usage->hid & HID_USAGE) { in samsung_kbd_input_mapping() [all …]
|
| H A D | hid-creative-sb0540.c | 119 struct hid_device *hid; member 149 static int creative_sb0540_raw_event(struct hid_device *hid, in creative_sb0540_raw_event() argument 152 struct creative_sb0540 *creative_sb0540 = hid_get_drvdata(hid); in creative_sb0540_raw_event() 156 if (len != 6 || !(hid->claimed & HID_CLAIMED_INPUT)) in creative_sb0540_raw_event() 172 hid_err(hid, "Could not get a key for main_code %llX\n", in creative_sb0540_raw_event() 185 static int creative_sb0540_input_configured(struct hid_device *hid, in creative_sb0540_input_configured() argument 189 struct creative_sb0540 *creative_sb0540 = hid_get_drvdata(hid); in creative_sb0540_input_configured() 209 static int creative_sb0540_input_mapping(struct hid_device *hid, in creative_sb0540_input_mapping() argument 220 static int creative_sb0540_probe(struct hid_device *hid, in creative_sb0540_probe() argument 226 creative_sb0540 = devm_kzalloc(&hid->dev, in creative_sb0540_probe() [all …]
|
| H A D | hid-core.c | 353 field->usage[i].hid = parser->local.usage[j]; in hid_add_field() 767 struct hid_device *hid = container_of(ref, struct hid_device, ref); in hiddev_free() local 769 hid_close_report(hid); in hiddev_free() 770 hid_free_bpf_rdesc(hid); in hiddev_free() 771 kfree(hid->dev_rdesc); in hiddev_free() 772 kfree(hid); in hiddev_free() 777 struct hid_device *hid = to_hid_device(dev); in hid_device_release() local 779 kref_put(&hid->ref, hiddev_free); in hid_device_release() 845 struct hid_device *hid = parser->device; in hid_scan_input_usage() local 848 hid->group = HID_GROUP_MULTITOUCH; in hid_scan_input_usage() [all …]
|
| H A D | hid-lg3ff.c | 47 struct hid_device *hid = input_get_drvdata(dev); in hid_lg3ff_play() local 48 struct list_head *report_list = &hid->report_enum[HID_OUTPUT_REPORT].report_list; in hid_lg3ff_play() 78 hid_hw_request(hid, report, HID_REQ_SET_REPORT); in hid_lg3ff_play() 85 struct hid_device *hid = input_get_drvdata(dev); in hid_lg3ff_set_autocenter() local 86 struct list_head *report_list = &hid->report_enum[HID_OUTPUT_REPORT].report_list; in hid_lg3ff_set_autocenter() 104 hid_hw_request(hid, report, HID_REQ_SET_REPORT); in hid_lg3ff_set_autocenter() 114 int lg3ff_init(struct hid_device *hid) in lg3ff_init() argument 122 if (list_empty(&hid->inputs)) { in lg3ff_init() 123 hid_err(hid, "no inputs found\n"); in lg3ff_init() 126 hidinput = list_entry(hid->inputs.next, struct hid_input, list); in lg3ff_init() [all …]
|
| H A D | hidraw.c | 127 dev = hidraw_table[minor]->hid; in hidraw_send_report() 206 dev = hidraw_table[minor]->hid; in hidraw_get_report() 302 err = hid_hw_power(dev->hid, PM_HINT_FULLON); in hidraw_open() 308 err = hid_hw_open(dev->hid); in hidraw_open() 310 hid_hw_power(dev->hid, PM_HINT_NORMAL); in hidraw_open() 346 hid_hw_close(hidraw->hid); in drop_ref() 360 hid_hw_close(hidraw->hid); in drop_ref() 361 hid_hw_power(hidraw->hid, PM_HINT_NORMAL); in drop_ref() 400 struct hid_device *hid = dev->hid; in hidraw_fixed_size_ioctl() local 404 if (put_user(hid->rsize, (int __user *)arg)) in hidraw_fixed_size_ioctl() [all …]
|
| H A D | hid-lgff.c | 59 struct hid_device *hid = input_get_drvdata(dev); in hid_lgff_play() local 60 struct list_head *report_list = &hid->report_enum[HID_OUTPUT_REPORT].report_list; in hid_lgff_play() 78 hid_hw_request(hid, report, HID_REQ_SET_REPORT); in hid_lgff_play() 93 hid_hw_request(hid, report, HID_REQ_SET_REPORT); in hid_lgff_play() 101 struct hid_device *hid = input_get_drvdata(dev); in hid_lgff_set_autocenter() local 102 struct list_head *report_list = &hid->report_enum[HID_OUTPUT_REPORT].report_list; in hid_lgff_set_autocenter() 113 hid_hw_request(hid, report, HID_REQ_SET_REPORT); in hid_lgff_set_autocenter() 116 int lgff_init(struct hid_device* hid) in lgff_init() argument 124 if (list_empty(&hid->inputs)) { in lgff_init() 125 hid_err(hid, "no inputs found\n"); in lgff_init() [all …]
|
| H A D | hid-lg2ff.c | 25 struct hid_device *hid = input_get_drvdata(dev); in play_effect() local 45 hid_hw_request(hid, lg2ff->report, HID_REQ_SET_REPORT); in play_effect() 49 int lg2ff_init(struct hid_device *hid) in lg2ff_init() argument 57 if (list_empty(&hid->inputs)) { in lg2ff_init() 58 hid_err(hid, "no inputs found\n"); in lg2ff_init() 61 hidinput = list_entry(hid->inputs.next, struct hid_input, list); in lg2ff_init() 65 report = hid_validate_values(hid, HID_OUTPUT_REPORT, 0, 0, 7); in lg2ff_init() 90 hid_hw_request(hid, report, HID_REQ_SET_REPORT); in lg2ff_init() 92 …hid_info(hid, "Force feedback for Logitech variant 2 rumble devices by Anssi Hannula <anssi.hannul… in lg2ff_init()
|
| /linux/drivers/hid/surface-hid/ |
| H A D | surface_hid_core.c | 102 static int surface_hid_start(struct hid_device *hid) in surface_hid_start() argument 104 struct surface_hid_device *shid = hid->driver_data; in surface_hid_start() 109 static void surface_hid_stop(struct hid_device *hid) in surface_hid_stop() argument 111 struct surface_hid_device *shid = hid->driver_data; in surface_hid_stop() 126 static int surface_hid_open(struct hid_device *hid) in surface_hid_open() argument 131 static void surface_hid_close(struct hid_device *hid) in surface_hid_close() argument 135 static int surface_hid_parse(struct hid_device *hid) in surface_hid_parse() argument 137 struct surface_hid_device *shid = hid->driver_data; in surface_hid_parse() 151 status = hid_parse_report(hid, buf, len); in surface_hid_parse() 157 static int surface_hid_raw_request(struct hid_device *hid, unsigned char reportnum, u8 *buf, in surface_hid_raw_request() argument [all …]
|
| /linux/drivers/hid/usbhid/ |
| H A D | hiddev.c | 56 hiddev_lookup_report(struct hid_device *hid, struct hiddev_report_info *rinfo) in hiddev_lookup_report() argument 68 report_enum = hid->report_enum + in hiddev_lookup_report() 109 hiddev_lookup_usage(struct hid_device *hid, struct hiddev_usage_ref *uref) in hiddev_lookup_usage() argument 120 report_enum = hid->report_enum + in hiddev_lookup_usage() 127 if (field->usage[j].hid == uref->usage_code) { in hiddev_lookup_usage() 140 static void hiddev_send_event(struct hid_device *hid, in hiddev_send_event() argument 143 struct hiddev *hiddev = hid->hiddev; in hiddev_send_event() 166 void hiddev_hid_event(struct hid_device *hid, struct hid_field *field, in hiddev_hid_event() argument 179 uref.usage_code = usage->hid; in hiddev_hid_event() 182 hiddev_send_event(hid, &uref); in hiddev_hid_event() [all …]
|
| /linux/tools/testing/selftests/hid/ |
| H A D | hid_common.h | 161 static void uhid_destroy(struct __test_metadata *_metadata, struct uhid_device *hid) in uhid_destroy() argument 168 uhid_write(_metadata, hid->uhid_fd, &ev); in uhid_destroy() 302 static int uhid_send_event(struct __test_metadata *_metadata, struct uhid_device *hid, in uhid_send_event() argument 316 return uhid_write(_metadata, hid->uhid_fd, &ev); in uhid_send_event() 319 static bool match_sysfs_device(struct uhid_device *hid, const char *workdir, struct dirent *dir) in match_sysfs_device() argument 328 snprintf(target, sizeof(target), "%04X:%04X:%04X.*", hid->bus, hid->vid, hid->pid); in match_sysfs_device() 340 sprintf(phys, "PHYS=%d", hid->dev_id); in match_sysfs_device() 351 static int get_hid_id(struct uhid_device *hid) in get_hid_id() argument 366 if (!match_sysfs_device(hid, workdir, dir)) in get_hid_id() 383 static int get_hidraw(struct uhid_device *hid) in get_hidraw() argument [all …]
|
| H A D | hid_bpf.c | 9 unsigned int hid; member 17 struct uhid_device hid; in FIXTURE() local 19 struct hid *skel; in FIXTURE() 47 uhid_destroy(_metadata, &self->hid); in FIXTURE_TEARDOWN() 50 pthread_join(self->hid.tid, &uhid_err); in FIXTURE_TEARDOWN() 61 err = setup_uhid(_metadata, &self->hid, BUS_USB, 0x0001, 0x0a36, rdesc, sizeof(rdesc)); in FIXTURE_SETUP() 127 *ops_hid_id = self->hid.hid_id; in load_programs() 148 self->hidraw_fd = open_hidraw(&self->hid); in load_programs() 183 uhid_send_event(_metadata, &self->hid, buf, 6); in TEST_F() 199 uhid_send_event(_metadata, &self->hid, buf, 6); in TEST_F() [all …]
|
| /linux/drivers/hid/bpf/progs/ |
| H A D | README | 9 They should be loaded in the kernel by `udev-hid-bpf`: 11 https://gitlab.freedesktop.org/libevdev/udev-hid-bpf 17 Once a .bpf.c file is accepted here, it is duplicated in `udev-hid-bpf` 20 land in distributions when they update `udev-hid-bpf` 30 Just run `sudo udev-hid-bpf install ./my-awesome-fix.bpf.o` 34 - copy the `.bpf.o` you want in `/etc/udev-hid-bpf/` 37 The following should do the trick (assuming udev-hid-bpf is available in 41 $> cp xppen-ArtistPro16Gen2.bpf.o /etc/udev-hid-bpf/ 42 $> udev-hid-bpf inspect xppen-ArtistPro16Gen2.bpf.o 61 $> cat <EOF > /etc/udev/rules.d/99-load-hid-bpf-xppen-ArtistPro16Gen2.rules [all …]
|
| /linux/include/linux/ |
| H A D | hid.h | 506 unsigned hid; /* hid usage code */ member 1025 extern void hidinput_report_event(struct hid_device *hid, struct hid_report *report); 1026 extern int hidinput_connect(struct hid_device *hid, unsigned int connect_mask); 1028 void hidinput_reset_resume(struct hid_device *hid); 1033 int hid_input_report(struct hid_device *hid, enum hid_report_type type, u8 *data, u32 size, 1035 int hid_safe_input_report(struct hid_device *hid, enum hid_report_type type, u8 *data, 1037 struct hid_field *hidinput_get_led_field(struct hid_device *hid); 1038 unsigned int hidinput_count_leds(struct hid_device *hid); 1041 int __hid_request(struct hid_device *hid, struct hid_report *rep, enum hid_class_request reqtype); 1047 int hid_parse_report(struct hid_device *hid, const __u8 *start, unsigned size); [all …]
|
| H A D | hiddev.h | 29 struct hid_device *hid; member 41 int hiddev_connect(struct hid_device *hid, unsigned int force); 43 void hiddev_hid_event(struct hid_device *hid, struct hid_field *field, 45 void hiddev_report_event(struct hid_device *hid, struct hid_report *report); 47 static inline int hiddev_connect(struct hid_device *hid, in hiddev_connect() argument 50 static inline void hiddev_disconnect(struct hid_device *hid) { } in hiddev_disconnect() argument 51 static inline void hiddev_hid_event(struct hid_device *hid, struct hid_field *field, in hiddev_hid_event() argument 53 static inline void hiddev_report_event(struct hid_device *hid, struct hid_report *report) { } in hiddev_report_event() argument
|
| /linux/net/bluetooth/hidp/ |
| H A D | core.c | 86 } else if (session->hid) { in hidp_copy_session() 87 ci->vendor = session->hid->vendor; in hidp_copy_session() 88 ci->product = session->hid->product; in hidp_copy_session() 89 ci->version = session->hid->version; in hidp_copy_session() 90 strscpy(ci->name, session->hid->name, 128); in hidp_copy_session() 243 static int hidp_get_raw_report(struct hid_device *hid, in hidp_get_raw_report() argument 248 struct hidp_session *session = hid->driver_data; in hidp_get_raw_report() 251 int numbered_reports = hid->report_enum[report_type].numbered; in hidp_get_raw_report() 328 static int hidp_set_raw_report(struct hid_device *hid, unsigned char reportnum, in hidp_set_raw_report() argument 332 struct hidp_session *session = hid->driver_data; in hidp_set_raw_report() [all …]
|
| /linux/drivers/hid/i2c-hid/ |
| H A D | Kconfig | 22 will be called i2c-hid-acpi. It will also build/depend on the 23 module i2c-hid. 28 # (board-file) instantiated "hid-over-i2c" type i2c-clients. 35 well as binding to manually (board-file) instantiated i2c-hid-clients. 40 will be called i2c-hid-of. It will also build/depend on the 41 module i2c-hid. 44 tristate "Driver for Elan hid-i2c based devices on OF systems" 50 the i2c-hid protocol on Open Firmware (Device Tree)-based 56 will be called i2c-hid-of-elan. It will also build/depend on 57 the module i2c-hid. [all …]
|
| /linux/Documentation/ABI/testing/ |
| H A D | sysfs-driver-hid-ntrig | 1 What: /sys/bus/hid/drivers/ntrig/<dev>/activate_slack 10 What: /sys/bus/hid/drivers/ntrig/<dev>/decativate_slack 24 What: /sys/bus/hid/drivers/ntrig/<dev>/activation_width 25 What: /sys/bus/hid/drivers/ntrig/<dev>/activation_height 40 What: /sys/bus/hid/drivers/ntrig/<dev>/min_width 41 What: /sys/bus/hid/drivers/ntrig/<dev>/min_height 57 What: /sys/bus/hid/drivers/ntrig/<dev>/sensor_physical_width 58 What: /sys/bus/hid/drivers/ntrig/<dev>/sensor_physical_height 67 What: /sys/bus/hid/drivers/ntrig/<dev>/sensor_logical_width 68 What: /sys/bus/hid/drivers/ntrig/<dev>/sensor_logical_height
|
| /linux/drivers/platform/x86/ |
| H A D | asus-tf103c-dock.c | 108 struct hid_device *hid; member 214 static int tf103c_dock_hid_parse(struct hid_device *hid) in tf103c_dock_hid_parse() argument 216 return hid_parse_report(hid, tf103c_dock_kbd_hid_desc, in tf103c_dock_hid_parse() 220 static int tf103c_dock_hid_start(struct hid_device *hid) in tf103c_dock_hid_start() argument 225 static void tf103c_dock_hid_stop(struct hid_device *hid) in tf103c_dock_hid_stop() argument 227 hid->claimed = 0; in tf103c_dock_hid_stop() 230 static int tf103c_dock_hid_open(struct hid_device *hid) in tf103c_dock_hid_open() argument 232 struct tf103c_dock_data *dock = hid->driver_data; in tf103c_dock_hid_open() 238 static void tf103c_dock_hid_close(struct hid_device *hid) in tf103c_dock_hid_close() argument 240 struct tf103c_dock_data *dock = hid->driver_data; in tf103c_dock_hid_close() [all …]
|
| /linux/drivers/macintosh/ |
| H A D | adbhid.c | 756 struct adbhid *hid; in adbhid_input_register() local 767 adbhid[id] = hid = kzalloc_obj(struct adbhid); in adbhid_input_register() 769 if (!hid || !input_dev) { in adbhid_input_register() 774 sprintf(hid->phys, "adb%d:%d.%02x/input", id, default_id, original_handler_id); in adbhid_input_register() 776 hid->input = input_dev; in adbhid_input_register() 777 hid->id = default_id; in adbhid_input_register() 778 hid->original_handler_id = original_handler_id; in adbhid_input_register() 779 hid->current_handler_id = current_handler_id; in adbhid_input_register() 780 hid->mouse_kind = mouse_kind; in adbhid_input_register() 781 hid->flags = 0; in adbhid_input_register() [all …]
|