• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-R7000-V1.0.7.12_1.2.5/components/opensource/linux/linux-2.6.36/drivers/media/video/uvc/

Lines Matching refs:mapping

336 static __s32 uvc_ctrl_get_zoom(struct uvc_control_mapping *mapping,
354 static void uvc_ctrl_set_zoom(struct uvc_control_mapping *mapping,
659 /* Extract the bit string specified by mapping->offset and mapping->size
661 * a signed 32bit integer. Sign extension will be performed if the mapping
664 static __s32 uvc_get_le_value(struct uvc_control_mapping *mapping,
667 int bits = mapping->size;
668 int offset = mapping->offset;
685 if (mapping->data_type == UVC_CTRL_DATA_TYPE_SIGNED)
686 value |= -(value & (1 << (mapping->size - 1)));
691 /* Set the bit string specified by mapping->offset and mapping->size
694 static void uvc_set_le_value(struct uvc_control_mapping *mapping,
697 int bits = mapping->size;
698 int offset = mapping->offset;
706 if (mapping->v4l2_type == V4L2_CTRL_TYPE_BUTTON)
756 struct uvc_control_mapping **mapping, struct uvc_control **control,
774 *mapping = map;
778 if ((*mapping == NULL || (*mapping)->id > map->id) &&
781 *mapping = map;
788 __u32 v4l2_id, struct uvc_control_mapping **mapping)
794 *mapping = NULL;
801 __uvc_find_control(entity, v4l2_id, mapping, &ctrl, next);
860 struct uvc_control_mapping *mapping;
865 ctrl = uvc_find_control(chain, v4l2_ctrl->id, &mapping);
870 v4l2_ctrl->id = mapping->id;
871 v4l2_ctrl->type = mapping->v4l2_type;
872 strlcpy(v4l2_ctrl->name, mapping->name, sizeof v4l2_ctrl->name);
887 v4l2_ctrl->default_value = mapping->get(mapping, UVC_GET_DEF,
891 switch (mapping->v4l2_type) {
894 v4l2_ctrl->maximum = mapping->menu_count - 1;
897 menu = mapping->menu_info;
898 for (i = 0; i < mapping->menu_count; ++i, ++menu) {
924 v4l2_ctrl->minimum = mapping->get(mapping, UVC_GET_MIN,
928 v4l2_ctrl->maximum = mapping->get(mapping, UVC_GET_MAX,
932 v4l2_ctrl->step = mapping->get(mapping, UVC_GET_RES,
1036 struct uvc_control_mapping *mapping;
1041 ctrl = uvc_find_control(chain, xctrl->id, &mapping);
1056 xctrl->value = mapping->get(mapping, UVC_GET_CUR,
1059 if (mapping->v4l2_type == V4L2_CTRL_TYPE_MENU) {
1060 menu = mapping->menu_info;
1061 for (i = 0; i < mapping->menu_count; ++i, ++menu) {
1076 struct uvc_control_mapping *mapping;
1083 ctrl = uvc_find_control(chain, xctrl->id, &mapping);
1088 switch (mapping->v4l2_type) {
1096 min = mapping->get(mapping, UVC_GET_MIN,
1098 max = mapping->get(mapping, UVC_GET_MAX,
1100 step = mapping->get(mapping, UVC_GET_RES,
1116 if (xctrl->value < 0 || xctrl->value >= mapping->menu_count)
1118 value = mapping->menu_info[xctrl->value].value;
1126 /* If the mapping doesn't span the whole UVC control, the current value
1130 if (!ctrl->loaded && (ctrl->info->size * 8) != mapping->size) {
1154 mapping->set(mapping, value,
1293 * Control and mapping handling
1436 int uvc_ctrl_add_mapping(struct uvc_control_mapping *mapping)
1442 if (mapping->get == NULL)
1443 mapping->get = uvc_get_le_value;
1444 if (mapping->set == NULL)
1445 mapping->set = uvc_set_le_value;
1447 if (mapping->id & ~V4L2_CTRL_ID_MASK) {
1448 uvc_trace(UVC_TRACE_CONTROL, "Can't add mapping '%s' with "
1449 "invalid control id 0x%08x\n", mapping->name,
1450 mapping->id);
1456 if (memcmp(info->entity, mapping->entity, 16) ||
1457 info->selector != mapping->selector)
1460 if (info->size * 8 < mapping->size + mapping->offset) {
1463 mapping->name, info->entity, info->selector);
1468 /* Check if the list contains a mapping matching the new one.
1472 if (map->id == mapping->id) {
1474 "already defined.\n", mapping->name);
1480 mapping->ctrl = info;
1481 list_add_tail(&mapping->list, &info->mappings);
1483 "Adding mapping %s to control %pUl/%u.\n",
1484 mapping->name, info->entity, info->selector);
1628 struct uvc_control_mapping *mapping;
1635 list_for_each_entry_safe(mapping, nm, &info->mappings, list) {
1636 list_del(&mapping->list);
1637 kfree(mapping->menu_info);
1638 kfree(mapping);
1650 struct uvc_control_mapping *mapping = uvc_ctrl_mappings;
1652 mapping + ARRAY_SIZE(uvc_ctrl_mappings);
1657 for (; mapping < mend; ++mapping)
1658 uvc_ctrl_add_mapping(mapping);