Lines Matching refs:urf
394 struct urfile *urf; in urfile_alloc() local
396 urf = kzalloc(sizeof(struct urfile), GFP_KERNEL); in urfile_alloc()
397 if (!urf) in urfile_alloc()
399 urf->urd = urd; in urfile_alloc()
401 TRACE("urfile_alloc: urd=%p urf=%p rl=%zu\n", urd, urf, in urfile_alloc()
402 urf->dev_reclen); in urfile_alloc()
404 return urf; in urfile_alloc()
407 static void urfile_free(struct urfile *urf) in urfile_free() argument
409 TRACE("urfile_free: urf=%p urd=%p\n", urf, urf->urd); in urfile_free()
410 kfree(urf); in urfile_free()
445 struct urfile *urf = file->private_data; in ur_write() local
452 if (count % urf->dev_reclen) in ur_write()
455 if (count > urf->dev_reclen * MAX_RECS_PER_IO) in ur_write()
456 count = urf->dev_reclen * MAX_RECS_PER_IO; in ur_write()
458 return do_write(urf->urd, udata, count, urf->dev_reclen, ppos); in ur_write()
696 struct urfile *urf; in ur_open() local
745 urf = urfile_alloc(urd); in ur_open()
746 if (!urf) { in ur_open()
751 urf->dev_reclen = urd->reclen; in ur_open()
755 urf->file_reclen = rc; in ur_open()
756 file->private_data = urf; in ur_open()
760 urfile_free(urf); in ur_open()
773 struct urfile *urf = file->private_data; in ur_release() local
776 spin_lock(&urf->urd->open_lock); in ur_release()
777 urf->urd->open_flag--; in ur_release()
778 spin_unlock(&urf->urd->open_lock); in ur_release()
779 wake_up_interruptible(&urf->urd->wait); in ur_release()
780 urdev_put(urf->urd); in ur_release()
781 urfile_free(urf); in ur_release()