Lines Matching refs:list

661 	struct list_head *list;
667 list = report_enum->report_list.next;
668 while (list != &report_enum->report_list) {
669 report = (struct hid_report *) list;
681 list = list->next;
690 struct hid_debug_list *list;
694 list_for_each_entry(list, &hdev->debug_list, node)
695 kfifo_in(&list->hid_debug_fifo, buf, strlen(buf));
1076 list_for_each_entry(report, &hid->report_enum[k].report_list, list) {
1124 struct hid_debug_list *list;
1127 if (!(list = kzalloc(sizeof(struct hid_debug_list), GFP_KERNEL))) {
1132 err = kfifo_alloc(&list->hid_debug_fifo, HID_DEBUG_FIFOSIZE, GFP_KERNEL);
1134 kfree(list);
1137 list->hdev = (struct hid_device *) inode->i_private;
1138 kref_get(&list->hdev->ref);
1139 file->private_data = list;
1140 mutex_init(&list->read_mutex);
1142 spin_lock_irqsave(&list->hdev->debug_list_lock, flags);
1143 list_add_tail(&list->node, &list->hdev->debug_list);
1144 spin_unlock_irqrestore(&list->hdev->debug_list_lock, flags);
1153 struct hid_debug_list *list = file->private_data;
1157 mutex_lock(&list->read_mutex);
1158 if (kfifo_is_empty(&list->hid_debug_fifo)) {
1159 add_wait_queue(&list->hdev->debug_wait, &wait);
1162 while (kfifo_is_empty(&list->hid_debug_fifo)) {
1168 /* if list->hdev is NULL we cannot remove_wait_queue().
1169 * if list->hdev->debug is 0 then hid_debug_unregister()
1170 * was already called and list->hdev is being destroyed.
1173 if (!list->hdev || !list->hdev->debug) {
1185 mutex_unlock(&list->read_mutex);
1187 mutex_lock(&list->read_mutex);
1192 remove_wait_queue(&list->hdev->debug_wait, &wait);
1201 ret = kfifo_to_user(&list->hid_debug_fifo, buffer, count, &copied);
1206 mutex_unlock(&list->read_mutex);
1212 struct hid_debug_list *list = file->private_data;
1214 poll_wait(file, &list->hdev->debug_wait, wait);
1215 if (!kfifo_is_empty(&list->hid_debug_fifo))
1217 if (!list->hdev->debug)
1224 struct hid_debug_list *list = file->private_data;
1227 spin_lock_irqsave(&list->hdev->debug_list_lock, flags);
1228 list_del(&list->node);
1229 spin_unlock_irqrestore(&list->hdev->debug_list_lock, flags);
1230 kfifo_free(&list->hid_debug_fifo);
1232 kref_put(&list->hdev->ref, hiddev_free);
1233 kfree(list);