Symbol: evdev
drivers/clocksource/nomadik-mtu.c
177
struct clock_event_device *evdev = dev_id;
drivers/clocksource/nomadik-mtu.c
180
evdev->event_handler(evdev);
drivers/clocksource/timer-clint.c
156
struct clock_event_device *evdev = this_cpu_ptr(&clint_clock_event);
drivers/clocksource/timer-clint.c
159
evdev->event_handler(evdev);
drivers/clocksource/timer-riscv.c
150
struct clock_event_device *evdev = this_cpu_ptr(&riscv_clock_event);
drivers/clocksource/timer-riscv.c
153
evdev->event_handler(evdev);
drivers/input/evdev.c
1031
struct evdev *evdev = client->evdev;
drivers/input/evdev.c
1032
struct input_dev *dev = evdev->handle.dev;
drivers/input/evdev.c
1069
input_inject_event(&evdev->handle, EV_REP, REP_DELAY, u);
drivers/input/evdev.c
1070
input_inject_event(&evdev->handle, EV_REP, REP_PERIOD, v);
drivers/input/evdev.c
1086
return evdev_grab(evdev, client);
drivers/input/evdev.c
1088
return evdev_ungrab(evdev, client);
drivers/input/evdev.c
1094
return evdev_revoke(evdev, client, file);
drivers/input/evdev.c
1258
struct evdev *evdev = client->evdev;
drivers/input/evdev.c
1261
retval = mutex_lock_interruptible(&evdev->mutex);
drivers/input/evdev.c
1265
if (!evdev->exist || client->revoked) {
drivers/input/evdev.c
1273
mutex_unlock(&evdev->mutex);
drivers/input/evdev.c
1309
static void evdev_mark_dead(struct evdev *evdev)
drivers/input/evdev.c
1311
mutex_lock(&evdev->mutex);
drivers/input/evdev.c
1312
evdev->exist = false;
drivers/input/evdev.c
1313
mutex_unlock(&evdev->mutex);
drivers/input/evdev.c
1316
static void evdev_cleanup(struct evdev *evdev)
drivers/input/evdev.c
1318
struct input_handle *handle = &evdev->handle;
drivers/input/evdev.c
1320
evdev_mark_dead(evdev);
drivers/input/evdev.c
1321
evdev_hangup(evdev);
drivers/input/evdev.c
1324
if (evdev->open) {
drivers/input/evdev.c
1337
struct evdev *evdev;
drivers/input/evdev.c
1349
evdev = kzalloc_obj(struct evdev);
drivers/input/evdev.c
1350
if (!evdev) {
drivers/input/evdev.c
1355
INIT_LIST_HEAD(&evdev->client_list);
drivers/input/evdev.c
1356
spin_lock_init(&evdev->client_lock);
drivers/input/evdev.c
1357
mutex_init(&evdev->mutex);
drivers/input/evdev.c
1358
evdev->exist = true;
drivers/input/evdev.c
1364
dev_set_name(&evdev->dev, "event%d", dev_no);
drivers/input/evdev.c
1366
evdev->handle.dev = input_get_device(dev);
drivers/input/evdev.c
1367
evdev->handle.name = dev_name(&evdev->dev);
drivers/input/evdev.c
1368
evdev->handle.handler = handler;
drivers/input/evdev.c
1369
evdev->handle.private = evdev;
drivers/input/evdev.c
1371
evdev->dev.devt = MKDEV(INPUT_MAJOR, minor);
drivers/input/evdev.c
1372
evdev->dev.class = &input_class;
drivers/input/evdev.c
1373
evdev->dev.parent = &dev->dev;
drivers/input/evdev.c
1374
evdev->dev.release = evdev_free;
drivers/input/evdev.c
1375
device_initialize(&evdev->dev);
drivers/input/evdev.c
1377
error = input_register_handle(&evdev->handle);
drivers/input/evdev.c
1381
cdev_init(&evdev->cdev, &evdev_fops);
drivers/input/evdev.c
1383
error = cdev_device_add(&evdev->cdev, &evdev->dev);
drivers/input/evdev.c
1390
evdev_cleanup(evdev);
drivers/input/evdev.c
1391
input_unregister_handle(&evdev->handle);
drivers/input/evdev.c
1393
put_device(&evdev->dev);
drivers/input/evdev.c
1401
struct evdev *evdev = handle->private;
drivers/input/evdev.c
1403
cdev_device_del(&evdev->cdev, &evdev->dev);
drivers/input/evdev.c
1404
evdev_cleanup(evdev);
drivers/input/evdev.c
1405
input_free_minor(MINOR(evdev->dev.devt));
drivers/input/evdev.c
1407
put_device(&evdev->dev);
drivers/input/evdev.c
145
ktime_t *ev_time = input_get_timestamp(client->evdev->handle.dev);
drivers/input/evdev.c
294
struct evdev *evdev = handle->private;
drivers/input/evdev.c
300
client = rcu_dereference(evdev->grab);
drivers/input/evdev.c
305
list_for_each_entry_rcu(client, &evdev->client_list, node)
drivers/input/evdev.c
322
struct evdev *evdev = container_of(dev, struct evdev, dev);
drivers/input/evdev.c
324
input_put_device(evdev->handle.dev);
drivers/input/evdev.c
325
kfree(evdev);
drivers/input/evdev.c
332
static int evdev_grab(struct evdev *evdev, struct evdev_client *client)
drivers/input/evdev.c
336
if (evdev->grab)
drivers/input/evdev.c
339
error = input_grab_device(&evdev->handle);
drivers/input/evdev.c
343
rcu_assign_pointer(evdev->grab, client);
drivers/input/evdev.c
348
static int evdev_ungrab(struct evdev *evdev, struct evdev_client *client)
drivers/input/evdev.c
350
struct evdev_client *grab = rcu_dereference_protected(evdev->grab,
drivers/input/evdev.c
351
lockdep_is_held(&evdev->mutex));
drivers/input/evdev.c
356
rcu_assign_pointer(evdev->grab, NULL);
drivers/input/evdev.c
358
input_release_device(&evdev->handle);
drivers/input/evdev.c
363
static void evdev_attach_client(struct evdev *evdev,
drivers/input/evdev.c
366
spin_lock(&evdev->client_lock);
drivers/input/evdev.c
367
list_add_tail_rcu(&client->node, &evdev->client_list);
drivers/input/evdev.c
368
spin_unlock(&evdev->client_lock);
drivers/input/evdev.c
371
static void evdev_detach_client(struct evdev *evdev,
drivers/input/evdev.c
374
spin_lock(&evdev->client_lock);
drivers/input/evdev.c
376
spin_unlock(&evdev->client_lock);
drivers/input/evdev.c
380
static int evdev_open_device(struct evdev *evdev)
drivers/input/evdev.c
384
retval = mutex_lock_interruptible(&evdev->mutex);
drivers/input/evdev.c
388
if (!evdev->exist)
drivers/input/evdev.c
390
else if (!evdev->open++) {
drivers/input/evdev.c
391
retval = input_open_device(&evdev->handle);
drivers/input/evdev.c
393
evdev->open--;
drivers/input/evdev.c
396
mutex_unlock(&evdev->mutex);
drivers/input/evdev.c
400
static void evdev_close_device(struct evdev *evdev)
drivers/input/evdev.c
402
mutex_lock(&evdev->mutex);
drivers/input/evdev.c
404
if (evdev->exist && !--evdev->open)
drivers/input/evdev.c
405
input_close_device(&evdev->handle);
drivers/input/evdev.c
407
mutex_unlock(&evdev->mutex);
drivers/input/evdev.c
414
static void evdev_hangup(struct evdev *evdev)
drivers/input/evdev.c
418
spin_lock(&evdev->client_lock);
drivers/input/evdev.c
419
list_for_each_entry(client, &evdev->client_list, node) {
drivers/input/evdev.c
423
spin_unlock(&evdev->client_lock);
drivers/input/evdev.c
429
struct evdev *evdev = client->evdev;
drivers/input/evdev.c
432
mutex_lock(&evdev->mutex);
drivers/input/evdev.c
434
if (evdev->exist && !client->revoked)
drivers/input/evdev.c
435
input_flush_device(&evdev->handle, file);
drivers/input/evdev.c
437
evdev_ungrab(evdev, client);
drivers/input/evdev.c
438
mutex_unlock(&evdev->mutex);
drivers/input/evdev.c
440
evdev_detach_client(evdev, client);
drivers/input/evdev.c
447
evdev_close_device(evdev);
drivers/input/evdev.c
463
struct evdev *evdev = container_of(inode->i_cdev, struct evdev, cdev);
drivers/input/evdev.c
464
unsigned int bufsize = evdev_compute_buffer_size(evdev->handle.dev);
drivers/input/evdev.c
47
struct evdev *evdev;
drivers/input/evdev.c
475
client->evdev = evdev;
drivers/input/evdev.c
476
evdev_attach_client(evdev, client);
drivers/input/evdev.c
478
error = evdev_open_device(evdev);
drivers/input/evdev.c
488
evdev_detach_client(evdev, client);
drivers/input/evdev.c
497
struct evdev *evdev = client->evdev;
drivers/input/evdev.c
511
retval = mutex_lock_interruptible(&evdev->mutex);
drivers/input/evdev.c
515
if (!evdev->exist || client->revoked) {
drivers/input/evdev.c
528
input_inject_event(&evdev->handle,
drivers/input/evdev.c
534
mutex_unlock(&evdev->mutex);
drivers/input/evdev.c
560
struct evdev *evdev = client->evdev;
drivers/input/evdev.c
569
if (!evdev->exist || client->revoked)
drivers/input/evdev.c
598
!evdev->exist || client->revoked);
drivers/input/evdev.c
611
struct evdev *evdev = client->evdev;
drivers/input/evdev.c
616
if (evdev->exist && !client->revoked)
drivers/input/evdev.c
941
static int evdev_revoke(struct evdev *evdev, struct evdev_client *client,
drivers/input/evdev.c
945
evdev_ungrab(evdev, client);
drivers/input/evdev.c
946
input_flush_device(&evdev->handle, file);