Lines Matching refs:finfo
614 struct hiddev_field_info finfo; in hiddev_ioctl() local
762 if (copy_from_user(&finfo, user_arg, sizeof(finfo))) { in hiddev_ioctl()
767 rinfo.report_type = finfo.report_type; in hiddev_ioctl()
768 rinfo.report_id = finfo.report_id; in hiddev_ioctl()
774 if (finfo.field_index >= report->maxfield) in hiddev_ioctl()
776 finfo.field_index = array_index_nospec(finfo.field_index, in hiddev_ioctl()
779 field = report->field[finfo.field_index]; in hiddev_ioctl()
780 memset(&finfo, 0, sizeof(finfo)); in hiddev_ioctl()
781 finfo.report_type = rinfo.report_type; in hiddev_ioctl()
782 finfo.report_id = rinfo.report_id; in hiddev_ioctl()
783 finfo.field_index = field->report_count - 1; in hiddev_ioctl()
784 finfo.maxusage = field->maxusage; in hiddev_ioctl()
785 finfo.flags = field->flags; in hiddev_ioctl()
786 finfo.physical = field->physical; in hiddev_ioctl()
787 finfo.logical = field->logical; in hiddev_ioctl()
788 finfo.application = field->application; in hiddev_ioctl()
789 finfo.logical_minimum = field->logical_minimum; in hiddev_ioctl()
790 finfo.logical_maximum = field->logical_maximum; in hiddev_ioctl()
791 finfo.physical_minimum = field->physical_minimum; in hiddev_ioctl()
792 finfo.physical_maximum = field->physical_maximum; in hiddev_ioctl()
793 finfo.unit_exponent = field->unit_exponent; in hiddev_ioctl()
794 finfo.unit = field->unit; in hiddev_ioctl()
796 r = copy_to_user(user_arg, &finfo, sizeof(finfo)) ? in hiddev_ioctl()