Lines Matching refs:urf
396 struct urfile *urf; in urfile_alloc() local
398 urf = kzalloc(sizeof(struct urfile), GFP_KERNEL); in urfile_alloc()
399 if (!urf) in urfile_alloc()
401 urf->urd = urd; in urfile_alloc()
403 TRACE("urfile_alloc: urd=%p urf=%p rl=%zu\n", urd, urf, in urfile_alloc()
404 urf->dev_reclen); in urfile_alloc()
406 return urf; in urfile_alloc()
409 static void urfile_free(struct urfile *urf) in urfile_free() argument
411 TRACE("urfile_free: urf=%p urd=%p\n", urf, urf->urd); in urfile_free()
412 kfree(urf); in urfile_free()
447 struct urfile *urf = file->private_data; in ur_write() local
454 if (count % urf->dev_reclen) in ur_write()
457 if (count > urf->dev_reclen * MAX_RECS_PER_IO) in ur_write()
458 count = urf->dev_reclen * MAX_RECS_PER_IO; in ur_write()
460 return do_write(urf->urd, udata, count, urf->dev_reclen, ppos); in ur_write()
698 struct urfile *urf; in ur_open() local
747 urf = urfile_alloc(urd); in ur_open()
748 if (!urf) { in ur_open()
753 urf->dev_reclen = urd->reclen; in ur_open()
757 urf->file_reclen = rc; in ur_open()
758 file->private_data = urf; in ur_open()
762 urfile_free(urf); in ur_open()
775 struct urfile *urf = file->private_data; in ur_release() local
778 spin_lock(&urf->urd->open_lock); in ur_release()
779 urf->urd->open_flag--; in ur_release()
780 spin_unlock(&urf->urd->open_lock); in ur_release()
781 wake_up_interruptible(&urf->urd->wait); in ur_release()
782 urdev_put(urf->urd); in ur_release()
783 urfile_free(urf); in ur_release()