Lines Matching refs:uref_multi
445 struct hiddev_usage_ref_multi *uref_multi = NULL; in hiddev_ioctl_usage() local
451 uref_multi = kmalloc(sizeof(struct hiddev_usage_ref_multi), GFP_KERNEL); in hiddev_ioctl_usage()
452 if (!uref_multi) in hiddev_ioctl_usage()
454 uref = &uref_multi->uref; in hiddev_ioctl_usage()
456 if (copy_from_user(uref_multi, user_arg, in hiddev_ioctl_usage()
457 sizeof(*uref_multi))) in hiddev_ioctl_usage()
520 (uref_multi->num_values > HID_MAX_MULTI_USAGES || in hiddev_ioctl_usage()
521 uref->usage_index + uref_multi->num_values > field->report_count)) in hiddev_ioctl_usage()
537 kfree(uref_multi); in hiddev_ioctl_usage()
540 for (i = 0; i < uref_multi->num_values; i++) in hiddev_ioctl_usage()
541 uref_multi->values[i] = in hiddev_ioctl_usage()
543 if (copy_to_user(user_arg, uref_multi, in hiddev_ioctl_usage()
544 sizeof(*uref_multi))) in hiddev_ioctl_usage()
548 for (i = 0; i < uref_multi->num_values; i++) in hiddev_ioctl_usage()
550 uref_multi->values[i]; in hiddev_ioctl_usage()
555 kfree(uref_multi); in hiddev_ioctl_usage()
558 kfree(uref_multi); in hiddev_ioctl_usage()
561 kfree(uref_multi); in hiddev_ioctl_usage()