Symbol: hiddev
drivers/hid/hid-core.c
2294
((struct hiddev *)hdev->hiddev)->minor);
drivers/hid/usbhid/hiddev.c
143
struct hiddev *hiddev = hid->hiddev;
drivers/hid/usbhid/hiddev.c
147
spin_lock_irqsave(&hiddev->list_lock, flags);
drivers/hid/usbhid/hiddev.c
148
list_for_each_entry(list, &hiddev->list, node) {
drivers/hid/usbhid/hiddev.c
157
spin_unlock_irqrestore(&hiddev->list_lock, flags);
drivers/hid/usbhid/hiddev.c
159
wake_up_interruptible(&hiddev->wait);
drivers/hid/usbhid/hiddev.c
221
spin_lock_irqsave(&list->hiddev->list_lock, flags);
drivers/hid/usbhid/hiddev.c
223
spin_unlock_irqrestore(&list->hiddev->list_lock, flags);
drivers/hid/usbhid/hiddev.c
225
mutex_lock(&list->hiddev->existancelock);
drivers/hid/usbhid/hiddev.c
226
if (!--list->hiddev->open) {
drivers/hid/usbhid/hiddev.c
227
if (list->hiddev->exist) {
drivers/hid/usbhid/hiddev.c
228
hid_hw_close(list->hiddev->hid);
drivers/hid/usbhid/hiddev.c
229
hid_hw_power(list->hiddev->hid, PM_HINT_NORMAL);
drivers/hid/usbhid/hiddev.c
231
mutex_unlock(&list->hiddev->existancelock);
drivers/hid/usbhid/hiddev.c
232
kfree(list->hiddev);
drivers/hid/usbhid/hiddev.c
238
mutex_unlock(&list->hiddev->existancelock);
drivers/hid/usbhid/hiddev.c
244
static int __hiddev_open(struct hiddev *hiddev, struct file *file)
drivers/hid/usbhid/hiddev.c
249
lockdep_assert_held(&hiddev->existancelock);
drivers/hid/usbhid/hiddev.c
256
list->hiddev = hiddev;
drivers/hid/usbhid/hiddev.c
258
if (!hiddev->open++) {
drivers/hid/usbhid/hiddev.c
259
error = hid_hw_power(hiddev->hid, PM_HINT_FULLON);
drivers/hid/usbhid/hiddev.c
263
error = hid_hw_open(hiddev->hid);
drivers/hid/usbhid/hiddev.c
268
spin_lock_irq(&hiddev->list_lock);
drivers/hid/usbhid/hiddev.c
269
list_add_tail(&list->node, &hiddev->list);
drivers/hid/usbhid/hiddev.c
270
spin_unlock_irq(&hiddev->list_lock);
drivers/hid/usbhid/hiddev.c
277
hid_hw_power(hiddev->hid, PM_HINT_NORMAL);
drivers/hid/usbhid/hiddev.c
279
hiddev->open--;
drivers/hid/usbhid/hiddev.c
291
struct hiddev *hiddev;
drivers/hid/usbhid/hiddev.c
299
hiddev = hid->hiddev;
drivers/hid/usbhid/hiddev.c
301
mutex_lock(&hiddev->existancelock);
drivers/hid/usbhid/hiddev.c
302
res = hiddev->exist ? __hiddev_open(hiddev, file) : -ENODEV;
drivers/hid/usbhid/hiddev.c
303
mutex_unlock(&hiddev->existancelock);
drivers/hid/usbhid/hiddev.c
339
prepare_to_wait(&list->hiddev->wait, &wait, TASK_INTERRUPTIBLE);
drivers/hid/usbhid/hiddev.c
346
if (!list->hiddev->exist) {
drivers/hid/usbhid/hiddev.c
359
finish_wait(&list->hiddev->wait, &wait);
drivers/hid/usbhid/hiddev.c
364
finish_wait(&list->hiddev->wait, &wait);
drivers/hid/usbhid/hiddev.c
416
poll_wait(file, &list->hiddev->wait, wait);
drivers/hid/usbhid/hiddev.c
419
if (!list->hiddev->exist)
drivers/hid/usbhid/hiddev.c
427
static noinline int hiddev_ioctl_usage(struct hiddev *hiddev, unsigned int cmd, void __user *user_arg)
drivers/hid/usbhid/hiddev.c
429
struct hid_device *hid = hiddev->hid;
drivers/hid/usbhid/hiddev.c
44
struct hiddev *hiddev;
drivers/hid/usbhid/hiddev.c
566
static noinline int hiddev_ioctl_string(struct hiddev *hiddev, unsigned int cmd, void __user *user_arg)
drivers/hid/usbhid/hiddev.c
568
struct hid_device *hid = hiddev->hid;
drivers/hid/usbhid/hiddev.c
597
struct hiddev *hiddev = list->hiddev;
drivers/hid/usbhid/hiddev.c
610
mutex_lock(&hiddev->existancelock);
drivers/hid/usbhid/hiddev.c
611
if (!hiddev->exist) {
drivers/hid/usbhid/hiddev.c
616
hid = hiddev->hid;
drivers/hid/usbhid/hiddev.c
685
r = hiddev_ioctl_string(hiddev, cmd, user_arg);
drivers/hid/usbhid/hiddev.c
690
hiddev->initialized = true;
drivers/hid/usbhid/hiddev.c
793
if (!hiddev->initialized) {
drivers/hid/usbhid/hiddev.c
795
hiddev->initialized = true;
drivers/hid/usbhid/hiddev.c
797
r = hiddev_ioctl_usage(hiddev, cmd, user_arg);
drivers/hid/usbhid/hiddev.c
843
mutex_unlock(&hiddev->existancelock);
drivers/hid/usbhid/hiddev.c
877
struct hiddev *hiddev;
drivers/hid/usbhid/hiddev.c
893
if (!(hiddev = kzalloc_obj(struct hiddev)))
drivers/hid/usbhid/hiddev.c
896
init_waitqueue_head(&hiddev->wait);
drivers/hid/usbhid/hiddev.c
897
INIT_LIST_HEAD(&hiddev->list);
drivers/hid/usbhid/hiddev.c
898
spin_lock_init(&hiddev->list_lock);
drivers/hid/usbhid/hiddev.c
899
mutex_init(&hiddev->existancelock);
drivers/hid/usbhid/hiddev.c
900
hid->hiddev = hiddev;
drivers/hid/usbhid/hiddev.c
901
hiddev->hid = hid;
drivers/hid/usbhid/hiddev.c
902
hiddev->exist = 1;
drivers/hid/usbhid/hiddev.c
906
hid->hiddev = NULL;
drivers/hid/usbhid/hiddev.c
907
kfree(hiddev);
drivers/hid/usbhid/hiddev.c
915
hiddev->initialized = hid->quirks & HID_QUIRK_NO_INIT_REPORTS;
drivers/hid/usbhid/hiddev.c
917
hiddev->minor = usbhid->intf->minor;
drivers/hid/usbhid/hiddev.c
929
struct hiddev *hiddev = hid->hiddev;
drivers/hid/usbhid/hiddev.c
934
mutex_lock(&hiddev->existancelock);
drivers/hid/usbhid/hiddev.c
935
hiddev->exist = 0;
drivers/hid/usbhid/hiddev.c
937
if (hiddev->open) {
drivers/hid/usbhid/hiddev.c
938
hid_hw_close(hiddev->hid);
drivers/hid/usbhid/hiddev.c
939
wake_up_interruptible(&hiddev->wait);
drivers/hid/usbhid/hiddev.c
940
mutex_unlock(&hiddev->existancelock);
drivers/hid/usbhid/hiddev.c
942
mutex_unlock(&hiddev->existancelock);
drivers/hid/usbhid/hiddev.c
943
kfree(hiddev);
include/linux/hid.h
696
void *hiddev; /* The hiddev structure */