Lines Matching refs:dl
630 struct double_list *dl = v; in devinfo_seq_show() local
632 list_entry(dl->top, struct scsi_dev_info_list_table, node); in devinfo_seq_show()
634 list_entry(dl->bottom, struct scsi_dev_info_list, in devinfo_seq_show()
637 if (devinfo_table->scsi_dev_info_list.next == dl->bottom && in devinfo_seq_show()
648 struct double_list *dl = kmalloc(sizeof(*dl), GFP_KERNEL); in devinfo_seq_start() local
651 if (!dl) in devinfo_seq_start()
654 list_for_each(dl->top, &scsi_dev_info_list) { in devinfo_seq_start()
656 list_entry(dl->top, struct scsi_dev_info_list_table, in devinfo_seq_start()
658 list_for_each(dl->bottom, &devinfo_table->scsi_dev_info_list) in devinfo_seq_start()
660 return dl; in devinfo_seq_start()
663 kfree(dl); in devinfo_seq_start()
669 struct double_list *dl = v; in devinfo_seq_next() local
671 list_entry(dl->top, struct scsi_dev_info_list_table, node); in devinfo_seq_next()
674 dl->bottom = dl->bottom->next; in devinfo_seq_next()
675 while (&devinfo_table->scsi_dev_info_list == dl->bottom) { in devinfo_seq_next()
676 dl->top = dl->top->next; in devinfo_seq_next()
677 if (dl->top == &scsi_dev_info_list) { in devinfo_seq_next()
678 kfree(dl); in devinfo_seq_next()
681 devinfo_table = list_entry(dl->top, in devinfo_seq_next()
684 dl->bottom = devinfo_table->scsi_dev_info_list.next; in devinfo_seq_next()
687 return dl; in devinfo_seq_next()