• Home
  • Raw
  • Download

Lines Matching refs:ev

99 static void uhid_queue(struct uhid_device *uhid, struct uhid_event *ev)  in uhid_queue()  argument
106 uhid->outq[uhid->head] = ev; in uhid_queue()
111 kfree(ev); in uhid_queue()
118 struct uhid_event *ev; in uhid_queue_event() local
120 ev = kzalloc(sizeof(*ev), GFP_KERNEL); in uhid_queue_event()
121 if (!ev) in uhid_queue_event()
124 ev->type = event; in uhid_queue_event()
127 uhid_queue(uhid, ev); in uhid_queue_event()
136 struct uhid_event *ev; in uhid_hid_start() local
139 ev = kzalloc(sizeof(*ev), GFP_KERNEL); in uhid_hid_start()
140 if (!ev) in uhid_hid_start()
143 ev->type = UHID_START; in uhid_hid_start()
146 ev->u.start.dev_flags |= UHID_DEV_NUMBERED_FEATURE_REPORTS; in uhid_hid_start()
148 ev->u.start.dev_flags |= UHID_DEV_NUMBERED_OUTPUT_REPORTS; in uhid_hid_start()
150 ev->u.start.dev_flags |= UHID_DEV_NUMBERED_INPUT_REPORTS; in uhid_hid_start()
153 uhid_queue(uhid, ev); in uhid_hid_start()
201 struct uhid_event *ev, in __uhid_report_queue_and_wait() argument
209 uhid->report_type = ev->type + 1; in __uhid_report_queue_and_wait()
211 uhid_queue(uhid, ev); in __uhid_report_queue_and_wait()
230 const struct uhid_event *ev) in uhid_report_wake_up() argument
237 if (uhid->report_type != ev->type || uhid->report_id != id) in uhid_report_wake_up()
242 memcpy(&uhid->report_buf, ev, sizeof(*ev)); in uhid_report_wake_up()
255 struct uhid_event *ev; in uhid_hid_get_report() local
261 ev = kzalloc(sizeof(*ev), GFP_KERNEL); in uhid_hid_get_report()
262 if (!ev) in uhid_hid_get_report()
265 ev->type = UHID_GET_REPORT; in uhid_hid_get_report()
266 ev->u.get_report.rnum = rnum; in uhid_hid_get_report()
267 ev->u.get_report.rtype = rtype; in uhid_hid_get_report()
271 kfree(ev); in uhid_hid_get_report()
276 ret = __uhid_report_queue_and_wait(uhid, ev, &ev->u.get_report.id); in uhid_hid_get_report()
297 struct uhid_event *ev; in uhid_hid_set_report() local
303 ev = kzalloc(sizeof(*ev), GFP_KERNEL); in uhid_hid_set_report()
304 if (!ev) in uhid_hid_set_report()
307 ev->type = UHID_SET_REPORT; in uhid_hid_set_report()
308 ev->u.set_report.rnum = rnum; in uhid_hid_set_report()
309 ev->u.set_report.rtype = rtype; in uhid_hid_set_report()
310 ev->u.set_report.size = count; in uhid_hid_set_report()
311 memcpy(ev->u.set_report.data, buf, count); in uhid_hid_set_report()
315 kfree(ev); in uhid_hid_set_report()
320 ret = __uhid_report_queue_and_wait(uhid, ev, &ev->u.set_report.id); in uhid_hid_set_report()
370 struct uhid_event *ev; in uhid_hid_output_raw() local
386 ev = kzalloc(sizeof(*ev), GFP_KERNEL); in uhid_hid_output_raw()
387 if (!ev) in uhid_hid_output_raw()
390 ev->type = UHID_OUTPUT; in uhid_hid_output_raw()
391 ev->u.output.size = count; in uhid_hid_output_raw()
392 ev->u.output.rtype = rtype; in uhid_hid_output_raw()
393 memcpy(ev->u.output.data, buf, count); in uhid_hid_output_raw()
396 uhid_queue(uhid, ev); in uhid_hid_output_raw()
508 const struct uhid_event *ev) in uhid_dev_create2() argument
518 rd_size = ev->u.create2.rd_size; in uhid_dev_create2()
522 rd_data = kmemdup(ev->u.create2.rd_data, rd_size, GFP_KERNEL); in uhid_dev_create2()
535 len = min(sizeof(hid->name), sizeof(ev->u.create2.name)) - 1; in uhid_dev_create2()
536 strncpy(hid->name, ev->u.create2.name, len); in uhid_dev_create2()
537 len = min(sizeof(hid->phys), sizeof(ev->u.create2.phys)) - 1; in uhid_dev_create2()
538 strncpy(hid->phys, ev->u.create2.phys, len); in uhid_dev_create2()
539 len = min(sizeof(hid->uniq), sizeof(ev->u.create2.uniq)) - 1; in uhid_dev_create2()
540 strncpy(hid->uniq, ev->u.create2.uniq, len); in uhid_dev_create2()
543 hid->bus = ev->u.create2.bus; in uhid_dev_create2()
544 hid->vendor = ev->u.create2.vendor; in uhid_dev_create2()
545 hid->product = ev->u.create2.product; in uhid_dev_create2()
546 hid->version = ev->u.create2.version; in uhid_dev_create2()
547 hid->country = ev->u.create2.country; in uhid_dev_create2()
570 struct uhid_event *ev) in uhid_dev_create() argument
574 orig = ev->u.create; in uhid_dev_create()
578 if (copy_from_user(&ev->u.create2.rd_data, orig.rd_data, orig.rd_size)) in uhid_dev_create()
581 memcpy(ev->u.create2.name, orig.name, sizeof(orig.name)); in uhid_dev_create()
582 memcpy(ev->u.create2.phys, orig.phys, sizeof(orig.phys)); in uhid_dev_create()
583 memcpy(ev->u.create2.uniq, orig.uniq, sizeof(orig.uniq)); in uhid_dev_create()
584 ev->u.create2.rd_size = orig.rd_size; in uhid_dev_create()
585 ev->u.create2.bus = orig.bus; in uhid_dev_create()
586 ev->u.create2.vendor = orig.vendor; in uhid_dev_create()
587 ev->u.create2.product = orig.product; in uhid_dev_create()
588 ev->u.create2.version = orig.version; in uhid_dev_create()
589 ev->u.create2.country = orig.country; in uhid_dev_create()
591 return uhid_dev_create2(uhid, ev); in uhid_dev_create()
611 static int uhid_dev_input(struct uhid_device *uhid, struct uhid_event *ev) in uhid_dev_input() argument
616 hid_input_report(uhid->hid, HID_INPUT_REPORT, ev->u.input.data, in uhid_dev_input()
617 min_t(size_t, ev->u.input.size, UHID_DATA_MAX), 0); in uhid_dev_input()
622 static int uhid_dev_input2(struct uhid_device *uhid, struct uhid_event *ev) in uhid_dev_input2() argument
627 hid_input_report(uhid->hid, HID_INPUT_REPORT, ev->u.input2.data, in uhid_dev_input2()
628 min_t(size_t, ev->u.input2.size, UHID_DATA_MAX), 0); in uhid_dev_input2()
634 struct uhid_event *ev) in uhid_dev_get_report_reply() argument
639 uhid_report_wake_up(uhid, ev->u.get_report_reply.id, ev); in uhid_dev_get_report_reply()
644 struct uhid_event *ev) in uhid_dev_set_report_reply() argument
649 uhid_report_wake_up(uhid, ev->u.set_report_reply.id, ev); in uhid_dev_set_report_reply()