Lines Matching refs:evdev
102 struct evdev_dev *evdev = dev->si_drv1; in evdev_open() local
113 if (evdev == NULL) in evdev_open()
117 buffer_size = evdev->ev_report_size * DEF_RING_REPORTS; in evdev_open()
128 client->ec_evdev = evdev; in evdev_open()
132 EVDEV_LOCK(evdev); in evdev_open()
136 ret = evdev_register_client(evdev, client); in evdev_open()
144 EVDEV_UNLOCK(evdev); in evdev_open()
238 struct evdev_dev *evdev = dev->si_drv1; in evdev_write() local
249 if (client->ec_revoked || evdev == NULL) in evdev_write()
260 ret = evdev_inject_event(evdev, event.type, event.code, in evdev_write()
351 struct evdev_dev *evdev = dev->si_drv1; in evdev_ioctl() local
362 if (client->ec_revoked || evdev == NULL) 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_mt_get_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
609 bitmap = evdev->ev_type_flags; in evdev_ioctl_eviocgbit()
613 bitmap = evdev->ev_key_flags; in evdev_ioctl_eviocgbit()
617 bitmap = evdev->ev_rel_flags; in evdev_ioctl_eviocgbit()
621 bitmap = evdev->ev_abs_flags; in evdev_ioctl_eviocgbit()
625 bitmap = evdev->ev_msc_flags; in evdev_ioctl_eviocgbit()
629 bitmap = evdev->ev_led_flags; in evdev_ioctl_eviocgbit()
633 bitmap = evdev->ev_snd_flags; in evdev_ioctl_eviocgbit()
637 bitmap = evdev->ev_sw_flags; in evdev_ioctl_eviocgbit()
694 evdev_cdev_create(struct evdev_dev *evdev) in evdev_cdev_create() argument
718 dev->si_drv1 = evdev; in evdev_cdev_create()
719 evdev->ev_cdev = dev; in evdev_cdev_create()
720 evdev->ev_unit = unit; in evdev_cdev_create()
727 reference_dev(evdev->ev_cdev); in evdev_cdev_create()
734 evdev_cdev_destroy(struct evdev_dev *evdev) in evdev_cdev_destroy() argument
737 if (evdev->ev_cdev) { in evdev_cdev_destroy()
738 dev_ops_remove_minor(&evdev_cdevsw, evdev->ev_unit); in evdev_cdev_destroy()