Lines Matching refs:evdev

92 	struct evdev_dev *evdev = dev->si_drv1;  in evdev_open()  local
97 if (evdev == NULL) in evdev_open()
101 buffer_size = evdev->ev_report_size * DEF_RING_REPORTS; in evdev_open()
112 client->ec_evdev = evdev; in evdev_open()
117 EVDEV_LOCK(evdev); in evdev_open()
121 ret = evdev_register_client(evdev, client); in evdev_open()
129 EVDEV_UNLOCK(evdev); in evdev_open()
218 struct evdev_dev *evdev = dev->si_drv1; in evdev_write() local
230 if (client->ec_revoked || evdev == NULL) in evdev_write()
241 ret = evdev_inject_event(evdev, event.type, event.code, in evdev_write()
338 struct evdev_dev *evdev = dev->si_drv1; in evdev_ioctl() local
349 if (client->ec_revoked || evdev == NULL) in evdev_ioctl()
356 if (evdev->ev_kdb_active) { in evdev_ioctl()
357 EVDEV_LOCK(evdev); in evdev_ioctl()
358 if (evdev->ev_kdb_active) { in evdev_ioctl()
359 evdev->ev_kdb_active = false; in evdev_ioctl()
360 evdev_restore_after_kdb(evdev); in evdev_ioctl()
362 EVDEV_UNLOCK(evdev); in evdev_ioctl()
404 evdev->ev_id.bustype, evdev->ev_id.vendor, in evdev_ioctl()
405 evdev->ev_id.product); in evdev_ioctl()
406 memcpy(data, &evdev->ev_id, sizeof(struct input_id)); in evdev_ioctl()
410 if (!evdev_event_supported(evdev, EV_REP)) in evdev_ioctl()
413 memcpy(data, evdev->ev_rep, sizeof(evdev->ev_rep)); in evdev_ioctl()
417 if (!evdev_event_supported(evdev, EV_REP)) in evdev_ioctl()
420 evdev_inject_event(evdev, EV_REP, REP_DELAY, ((int *)data)[0]); in evdev_ioctl()
421 evdev_inject_event(evdev, EV_REP, REP_PERIOD, in evdev_ioctl()
430 if (evdev->ev_methods == NULL || in evdev_ioctl()
431 evdev->ev_methods->ev_get_keycode == NULL) in evdev_ioctl()
435 evdev->ev_methods->ev_get_keycode(evdev, ke); in evdev_ioctl()
443 if (evdev->ev_methods == NULL || in evdev_ioctl()
444 evdev->ev_methods->ev_set_keycode == NULL) in evdev_ioctl()
448 evdev->ev_methods->ev_set_keycode(evdev, ke); in evdev_ioctl()
452 if (evdev->ev_absinfo == NULL) in evdev_ioctl()
455 memcpy(data, &evdev->ev_absinfo[cmd - EVIOCGABS(0)], in evdev_ioctl()
460 if (evdev->ev_absinfo == NULL) in evdev_ioctl()
468 EVDEV_LOCK(evdev); in evdev_ioctl()
469 evdev_set_absinfo(evdev, code, (struct input_absinfo *)data); in evdev_ioctl()
470 EVDEV_UNLOCK(evdev); in evdev_ioctl()
480 EVDEV_LOCK(evdev); in evdev_ioctl()
482 ret = evdev_grab_client(evdev, client); in evdev_ioctl()
484 ret = evdev_release_client(evdev, client); in evdev_ioctl()
485 EVDEV_UNLOCK(evdev); in evdev_ioctl()
492 EVDEV_LOCK(evdev); in evdev_ioctl()
494 evdev_dispose_client(evdev, client); in evdev_ioctl()
497 EVDEV_UNLOCK(evdev); in evdev_ioctl()
516 strlcpy(data, evdev->ev_name, len); in evdev_ioctl()
520 if (evdev->ev_shortname[0] == 0) in evdev_ioctl()
523 strlcpy(data, evdev->ev_shortname, len); in evdev_ioctl()
527 if (evdev->ev_serial[0] == 0) in evdev_ioctl()
530 strlcpy(data, evdev->ev_serial, len); in evdev_ioctl()
535 memcpy(data, evdev->ev_prop_flags, limit); in evdev_ioctl()
539 if (evdev->ev_mt == NULL) in evdev_ioctl()
548 MIN(len / sizeof(int32_t) - 1, MAXIMAL_MT_SLOT(evdev) + 1); in evdev_ioctl()
551 evdev_get_mt_value(evdev, i, code); in evdev_ioctl()
556 EVDEV_LOCK(evdev); in evdev_ioctl()
558 memcpy(data, evdev->ev_key_states, limit); in evdev_ioctl()
559 EVDEV_UNLOCK(evdev); in evdev_ioctl()
564 EVDEV_LOCK(evdev); in evdev_ioctl()
566 memcpy(data, evdev->ev_led_states, limit); in evdev_ioctl()
567 EVDEV_UNLOCK(evdev); in evdev_ioctl()
572 EVDEV_LOCK(evdev); in evdev_ioctl()
574 memcpy(data, evdev->ev_snd_states, limit); in evdev_ioctl()
575 EVDEV_UNLOCK(evdev); in evdev_ioctl()
580 EVDEV_LOCK(evdev); in evdev_ioctl()
582 memcpy(data, evdev->ev_sw_states, limit); in evdev_ioctl()
583 EVDEV_UNLOCK(evdev); in evdev_ioctl()
590 return (evdev_ioctl_eviocgbit(evdev, type_num, len, data)); in evdev_ioctl()
597 evdev_ioctl_eviocgbit(struct evdev_dev *evdev, int type, int len, caddr_t data) in evdev_ioctl_eviocgbit() argument
604 bitmap = evdev->ev_type_flags; in evdev_ioctl_eviocgbit()
608 bitmap = evdev->ev_key_flags; in evdev_ioctl_eviocgbit()
612 bitmap = evdev->ev_rel_flags; in evdev_ioctl_eviocgbit()
616 bitmap = evdev->ev_abs_flags; in evdev_ioctl_eviocgbit()
620 bitmap = evdev->ev_msc_flags; in evdev_ioctl_eviocgbit()
624 bitmap = evdev->ev_led_flags; in evdev_ioctl_eviocgbit()
628 bitmap = evdev->ev_snd_flags; in evdev_ioctl_eviocgbit()
632 bitmap = evdev->ev_sw_flags; in evdev_ioctl_eviocgbit()
688 evdev_cdev_create(struct evdev_dev *evdev) in evdev_cdev_create() argument
699 mda.mda_si_drv1 = evdev; in evdev_cdev_create()
702 while ((ret = make_dev_s(&mda, &evdev->ev_cdev, "input/event%d", unit)) in evdev_cdev_create()
707 evdev->ev_unit = unit; in evdev_cdev_create()
713 evdev_cdev_destroy(struct evdev_dev *evdev) in evdev_cdev_destroy() argument
716 destroy_dev(evdev->ev_cdev); in evdev_cdev_destroy()