Lines Matching refs:finfo
601 struct hiddev_field_info finfo; in hiddev_ioctl() local
749 if (copy_from_user(&finfo, user_arg, sizeof(finfo))) { in hiddev_ioctl()
754 rinfo.report_type = finfo.report_type; in hiddev_ioctl()
755 rinfo.report_id = finfo.report_id; in hiddev_ioctl()
761 if (finfo.field_index >= report->maxfield) in hiddev_ioctl()
763 finfo.field_index = array_index_nospec(finfo.field_index, in hiddev_ioctl()
766 field = report->field[finfo.field_index]; in hiddev_ioctl()
767 memset(&finfo, 0, sizeof(finfo)); in hiddev_ioctl()
768 finfo.report_type = rinfo.report_type; in hiddev_ioctl()
769 finfo.report_id = rinfo.report_id; in hiddev_ioctl()
770 finfo.field_index = field->report_count - 1; in hiddev_ioctl()
771 finfo.maxusage = field->maxusage; in hiddev_ioctl()
772 finfo.flags = field->flags; in hiddev_ioctl()
773 finfo.physical = field->physical; in hiddev_ioctl()
774 finfo.logical = field->logical; in hiddev_ioctl()
775 finfo.application = field->application; in hiddev_ioctl()
776 finfo.logical_minimum = field->logical_minimum; in hiddev_ioctl()
777 finfo.logical_maximum = field->logical_maximum; in hiddev_ioctl()
778 finfo.physical_minimum = field->physical_minimum; in hiddev_ioctl()
779 finfo.physical_maximum = field->physical_maximum; in hiddev_ioctl()
780 finfo.unit_exponent = field->unit_exponent; in hiddev_ioctl()
781 finfo.unit = field->unit; in hiddev_ioctl()
783 r = copy_to_user(user_arg, &finfo, sizeof(finfo)) ? in hiddev_ioctl()