evdev             177 drivers/clocksource/nomadik-mtu.c 	struct clock_event_device *evdev = dev_id;
evdev             180 drivers/clocksource/nomadik-mtu.c 	evdev->event_handler(evdev);
evdev              77 drivers/clocksource/timer-riscv.c 	struct clock_event_device *evdev = this_cpu_ptr(&riscv_clock_event);
evdev              80 drivers/clocksource/timer-riscv.c 	evdev->event_handler(evdev);
evdev              47 drivers/input/evdev.c 	struct evdev *evdev;
evdev             145 drivers/input/evdev.c 	ktime_t *ev_time = input_get_timestamp(client->evdev->handle.dev);
evdev             248 drivers/input/evdev.c 	struct evdev *evdev = client->evdev;
evdev             285 drivers/input/evdev.c 		wake_up_interruptible(&evdev->wait);
evdev             294 drivers/input/evdev.c 	struct evdev *evdev = handle->private;
evdev             300 drivers/input/evdev.c 	client = rcu_dereference(evdev->grab);
evdev             305 drivers/input/evdev.c 		list_for_each_entry_rcu(client, &evdev->client_list, node)
evdev             331 drivers/input/evdev.c 	struct evdev *evdev = container_of(dev, struct evdev, dev);
evdev             333 drivers/input/evdev.c 	input_put_device(evdev->handle.dev);
evdev             334 drivers/input/evdev.c 	kfree(evdev);
evdev             341 drivers/input/evdev.c static int evdev_grab(struct evdev *evdev, struct evdev_client *client)
evdev             345 drivers/input/evdev.c 	if (evdev->grab)
evdev             348 drivers/input/evdev.c 	error = input_grab_device(&evdev->handle);
evdev             352 drivers/input/evdev.c 	rcu_assign_pointer(evdev->grab, client);
evdev             357 drivers/input/evdev.c static int evdev_ungrab(struct evdev *evdev, struct evdev_client *client)
evdev             359 drivers/input/evdev.c 	struct evdev_client *grab = rcu_dereference_protected(evdev->grab,
evdev             360 drivers/input/evdev.c 					lockdep_is_held(&evdev->mutex));
evdev             365 drivers/input/evdev.c 	rcu_assign_pointer(evdev->grab, NULL);
evdev             367 drivers/input/evdev.c 	input_release_device(&evdev->handle);
evdev             372 drivers/input/evdev.c static void evdev_attach_client(struct evdev *evdev,
evdev             375 drivers/input/evdev.c 	spin_lock(&evdev->client_lock);
evdev             376 drivers/input/evdev.c 	list_add_tail_rcu(&client->node, &evdev->client_list);
evdev             377 drivers/input/evdev.c 	spin_unlock(&evdev->client_lock);
evdev             380 drivers/input/evdev.c static void evdev_detach_client(struct evdev *evdev,
evdev             383 drivers/input/evdev.c 	spin_lock(&evdev->client_lock);
evdev             385 drivers/input/evdev.c 	spin_unlock(&evdev->client_lock);
evdev             389 drivers/input/evdev.c static int evdev_open_device(struct evdev *evdev)
evdev             393 drivers/input/evdev.c 	retval = mutex_lock_interruptible(&evdev->mutex);
evdev             397 drivers/input/evdev.c 	if (!evdev->exist)
evdev             399 drivers/input/evdev.c 	else if (!evdev->open++) {
evdev             400 drivers/input/evdev.c 		retval = input_open_device(&evdev->handle);
evdev             402 drivers/input/evdev.c 			evdev->open--;
evdev             405 drivers/input/evdev.c 	mutex_unlock(&evdev->mutex);
evdev             409 drivers/input/evdev.c static void evdev_close_device(struct evdev *evdev)
evdev             411 drivers/input/evdev.c 	mutex_lock(&evdev->mutex);
evdev             413 drivers/input/evdev.c 	if (evdev->exist && !--evdev->open)
evdev             414 drivers/input/evdev.c 		input_close_device(&evdev->handle);
evdev             416 drivers/input/evdev.c 	mutex_unlock(&evdev->mutex);
evdev             423 drivers/input/evdev.c static void evdev_hangup(struct evdev *evdev)
evdev             427 drivers/input/evdev.c 	spin_lock(&evdev->client_lock);
evdev             428 drivers/input/evdev.c 	list_for_each_entry(client, &evdev->client_list, node)
evdev             430 drivers/input/evdev.c 	spin_unlock(&evdev->client_lock);
evdev             432 drivers/input/evdev.c 	wake_up_interruptible(&evdev->wait);
evdev             438 drivers/input/evdev.c 	struct evdev *evdev = client->evdev;
evdev             441 drivers/input/evdev.c 	mutex_lock(&evdev->mutex);
evdev             443 drivers/input/evdev.c 	if (evdev->exist && !client->revoked)
evdev             444 drivers/input/evdev.c 		input_flush_device(&evdev->handle, file);
evdev             446 drivers/input/evdev.c 	evdev_ungrab(evdev, client);
evdev             447 drivers/input/evdev.c 	mutex_unlock(&evdev->mutex);
evdev             449 drivers/input/evdev.c 	evdev_detach_client(evdev, client);
evdev             456 drivers/input/evdev.c 	evdev_close_device(evdev);
evdev             472 drivers/input/evdev.c 	struct evdev *evdev = container_of(inode->i_cdev, struct evdev, cdev);
evdev             473 drivers/input/evdev.c 	unsigned int bufsize = evdev_compute_buffer_size(evdev->handle.dev);
evdev             483 drivers/input/evdev.c 	client->evdev = evdev;
evdev             484 drivers/input/evdev.c 	evdev_attach_client(evdev, client);
evdev             486 drivers/input/evdev.c 	error = evdev_open_device(evdev);
evdev             496 drivers/input/evdev.c 	evdev_detach_client(evdev, client);
evdev             505 drivers/input/evdev.c 	struct evdev *evdev = client->evdev;
evdev             512 drivers/input/evdev.c 	retval = mutex_lock_interruptible(&evdev->mutex);
evdev             516 drivers/input/evdev.c 	if (!evdev->exist || client->revoked) {
evdev             529 drivers/input/evdev.c 		input_inject_event(&evdev->handle,
evdev             535 drivers/input/evdev.c 	mutex_unlock(&evdev->mutex);
evdev             561 drivers/input/evdev.c 	struct evdev *evdev = client->evdev;
evdev             570 drivers/input/evdev.c 		if (!evdev->exist || client->revoked)
evdev             597 drivers/input/evdev.c 			error = wait_event_interruptible(evdev->wait,
evdev             599 drivers/input/evdev.c 					!evdev->exist || client->revoked);
evdev             612 drivers/input/evdev.c 	struct evdev *evdev = client->evdev;
evdev             615 drivers/input/evdev.c 	poll_wait(file, &evdev->wait, wait);
evdev             617 drivers/input/evdev.c 	if (evdev->exist && !client->revoked)
evdev             942 drivers/input/evdev.c static int evdev_revoke(struct evdev *evdev, struct evdev_client *client,
evdev             946 drivers/input/evdev.c 	evdev_ungrab(evdev, client);
evdev             947 drivers/input/evdev.c 	input_flush_device(&evdev->handle, file);
evdev             948 drivers/input/evdev.c 	wake_up_interruptible(&evdev->wait);
evdev            1032 drivers/input/evdev.c 	struct evdev *evdev = client->evdev;
evdev            1033 drivers/input/evdev.c 	struct input_dev *dev = evdev->handle.dev;
evdev            1070 drivers/input/evdev.c 		input_inject_event(&evdev->handle, EV_REP, REP_DELAY, u);
evdev            1071 drivers/input/evdev.c 		input_inject_event(&evdev->handle, EV_REP, REP_PERIOD, v);
evdev            1087 drivers/input/evdev.c 			return evdev_grab(evdev, client);
evdev            1089 drivers/input/evdev.c 			return evdev_ungrab(evdev, client);
evdev            1095 drivers/input/evdev.c 			return evdev_revoke(evdev, client, file);
evdev            1259 drivers/input/evdev.c 	struct evdev *evdev = client->evdev;
evdev            1262 drivers/input/evdev.c 	retval = mutex_lock_interruptible(&evdev->mutex);
evdev            1266 drivers/input/evdev.c 	if (!evdev->exist || client->revoked) {
evdev            1274 drivers/input/evdev.c 	mutex_unlock(&evdev->mutex);
evdev            1311 drivers/input/evdev.c static void evdev_mark_dead(struct evdev *evdev)
evdev            1313 drivers/input/evdev.c 	mutex_lock(&evdev->mutex);
evdev            1314 drivers/input/evdev.c 	evdev->exist = false;
evdev            1315 drivers/input/evdev.c 	mutex_unlock(&evdev->mutex);
evdev            1318 drivers/input/evdev.c static void evdev_cleanup(struct evdev *evdev)
evdev            1320 drivers/input/evdev.c 	struct input_handle *handle = &evdev->handle;
evdev            1322 drivers/input/evdev.c 	evdev_mark_dead(evdev);
evdev            1323 drivers/input/evdev.c 	evdev_hangup(evdev);
evdev            1326 drivers/input/evdev.c 	if (evdev->open) {
evdev            1339 drivers/input/evdev.c 	struct evdev *evdev;
evdev            1351 drivers/input/evdev.c 	evdev = kzalloc(sizeof(struct evdev), GFP_KERNEL);
evdev            1352 drivers/input/evdev.c 	if (!evdev) {
evdev            1357 drivers/input/evdev.c 	INIT_LIST_HEAD(&evdev->client_list);
evdev            1358 drivers/input/evdev.c 	spin_lock_init(&evdev->client_lock);
evdev            1359 drivers/input/evdev.c 	mutex_init(&evdev->mutex);
evdev            1360 drivers/input/evdev.c 	init_waitqueue_head(&evdev->wait);
evdev            1361 drivers/input/evdev.c 	evdev->exist = true;
evdev            1367 drivers/input/evdev.c 	dev_set_name(&evdev->dev, "event%d", dev_no);
evdev            1369 drivers/input/evdev.c 	evdev->handle.dev = input_get_device(dev);
evdev            1370 drivers/input/evdev.c 	evdev->handle.name = dev_name(&evdev->dev);
evdev            1371 drivers/input/evdev.c 	evdev->handle.handler = handler;
evdev            1372 drivers/input/evdev.c 	evdev->handle.private = evdev;
evdev            1374 drivers/input/evdev.c 	evdev->dev.devt = MKDEV(INPUT_MAJOR, minor);
evdev            1375 drivers/input/evdev.c 	evdev->dev.class = &input_class;
evdev            1376 drivers/input/evdev.c 	evdev->dev.parent = &dev->dev;
evdev            1377 drivers/input/evdev.c 	evdev->dev.release = evdev_free;
evdev            1378 drivers/input/evdev.c 	device_initialize(&evdev->dev);
evdev            1380 drivers/input/evdev.c 	error = input_register_handle(&evdev->handle);
evdev            1384 drivers/input/evdev.c 	cdev_init(&evdev->cdev, &evdev_fops);
evdev            1386 drivers/input/evdev.c 	error = cdev_device_add(&evdev->cdev, &evdev->dev);
evdev            1393 drivers/input/evdev.c 	evdev_cleanup(evdev);
evdev            1394 drivers/input/evdev.c 	input_unregister_handle(&evdev->handle);
evdev            1396 drivers/input/evdev.c 	put_device(&evdev->dev);
evdev            1404 drivers/input/evdev.c 	struct evdev *evdev = handle->private;
evdev            1406 drivers/input/evdev.c 	cdev_device_del(&evdev->cdev, &evdev->dev);
evdev            1407 drivers/input/evdev.c 	evdev_cleanup(evdev);
evdev            1408 drivers/input/evdev.c 	input_free_minor(MINOR(evdev->dev.devt));
evdev            1410 drivers/input/evdev.c 	put_device(&evdev->dev);