Lines Matching refs:v4l2

138 	struct em28xx_v4l2 *v4l2 = dev->v4l2;  in norm_maxw()  local
141 return v4l2->sensor_xres; in norm_maxw()
151 struct em28xx_v4l2 *v4l2 = dev->v4l2; in norm_maxh() local
154 return v4l2->sensor_yres; in norm_maxh()
159 return (v4l2->norm & V4L2_STD_625_50) ? 576 : 480; in norm_maxh()
187 struct v4l2_device *v4l2_dev = &dev->v4l2->v4l2_dev; in em28xx_wake_i2c()
216 struct em28xx_v4l2 *v4l2 = dev->v4l2; in em28xx_set_outfmt() local
218 fmt = v4l2->format->reg; in em28xx_set_outfmt()
234 ret = em28xx_write_reg(dev, EM28XX_R10_VINMODE, v4l2->vinmode); in em28xx_set_outfmt()
238 vinctrl = v4l2->vinctl; in em28xx_set_outfmt()
243 v4l2->vbi_width / 4); in em28xx_set_outfmt()
244 em28xx_write_reg(dev, EM28XX_R37_VBI_HEIGHT, v4l2->vbi_height); in em28xx_set_outfmt()
245 if (v4l2->norm & V4L2_STD_525_60) { in em28xx_set_outfmt()
248 } else if (v4l2->norm & V4L2_STD_625_50) { in em28xx_set_outfmt()
325 struct em28xx_v4l2 *v4l2 = dev->v4l2; in em28xx_resolution_set() local
330 v4l2->vbi_width = 720; in em28xx_resolution_set()
331 if (v4l2->norm & V4L2_STD_525_60) in em28xx_resolution_set()
332 v4l2->vbi_height = 12; in em28xx_resolution_set()
334 v4l2->vbi_height = 18; in em28xx_resolution_set()
354 return em28xx_scaler_set(dev, v4l2->hscale, v4l2->vscale); in em28xx_resolution_set()
360 struct em28xx_v4l2 *v4l2 = dev->v4l2; in em28xx_set_alternate() local
364 unsigned int min_pkt_size = v4l2->width * 2 + 4; in em28xx_set_alternate()
384 if (v4l2->width * 2 * v4l2->height > 720 * 240 * 2) in em28xx_set_alternate()
442 buf->vb.sequence = dev->v4l2->field_count++; in finish_buffer()
443 if (dev->v4l2->progressive) in finish_buffer()
460 struct em28xx_v4l2 *v4l2 = dev->v4l2; in em28xx_copy_video() local
463 int bytesperline = v4l2->width << 1; in em28xx_copy_video()
471 if (v4l2->progressive || buf->top_field) in em28xx_copy_video()
479 if (v4l2->progressive) in em28xx_copy_video()
503 if (v4l2->progressive) in em28xx_copy_video()
549 offset += dev->v4l2->vbi_width * dev->v4l2->vbi_height; in em28xx_copy_vbi()
625 struct em28xx_v4l2 *v4l2 = dev->v4l2; in finish_field_prepare_next() local
627 if (v4l2->progressive || v4l2->top_field) { /* Brand new frame */ in finish_field_prepare_next()
633 buf->top_field = v4l2->top_field; in finish_field_prepare_next()
647 struct em28xx_v4l2 *v4l2 = dev->v4l2; in process_frame_data_em28xx() local
671 v4l2->capture_type = 0; in process_frame_data_em28xx()
672 v4l2->vbi_read = 0; in process_frame_data_em28xx()
674 v4l2->top_field = !(data_pkt[2] & 1); in process_frame_data_em28xx()
679 v4l2->capture_type = 2; in process_frame_data_em28xx()
681 v4l2->top_field = !(data_pkt[2] & 1); in process_frame_data_em28xx()
691 if (v4l2->capture_type == 0) { in process_frame_data_em28xx()
694 v4l2->capture_type = 1; in process_frame_data_em28xx()
697 if (v4l2->capture_type == 1) { in process_frame_data_em28xx()
698 int vbi_size = v4l2->vbi_width * v4l2->vbi_height; in process_frame_data_em28xx()
699 int vbi_data_len = ((v4l2->vbi_read + data_len) > vbi_size) ? in process_frame_data_em28xx()
700 (vbi_size - v4l2->vbi_read) : data_len; in process_frame_data_em28xx()
705 v4l2->vbi_read += vbi_data_len; in process_frame_data_em28xx()
709 v4l2->capture_type = 2; in process_frame_data_em28xx()
715 if (v4l2->capture_type == 2) { in process_frame_data_em28xx()
718 v4l2->capture_type = 3; in process_frame_data_em28xx()
721 if (v4l2->capture_type == 3 && buf && data_len > 0) in process_frame_data_em28xx()
734 struct em28xx_v4l2 *v4l2 = dev->v4l2; in process_frame_data_em25xx() local
745 v4l2->top_field = !(data_pkt[1] & in process_frame_data_em25xx()
909 struct em28xx_v4l2 *v4l2 = dev->v4l2; in em28xx_enable_analog_tuner() local
914 if (!mdev || !v4l2->decoder) in em28xx_enable_analog_tuner()
924 list_for_each_entry(link, &v4l2->decoder->links, list) { in em28xx_enable_analog_tuner()
925 if (link->sink->entity == v4l2->decoder) { in em28xx_enable_analog_tuner()
943 if (sink == v4l2->decoder) in em28xx_enable_analog_tuner()
974 struct em28xx_v4l2 *v4l2 = dev->v4l2; in em28xx_v4l2_create_entities() local
978 v4l2->video_pad.flags = MEDIA_PAD_FL_SINK; in em28xx_v4l2_create_entities()
979 ret = media_entity_pads_init(&v4l2->vdev.entity, 1, &v4l2->video_pad); in em28xx_v4l2_create_entities()
985 v4l2->vbi_pad.flags = MEDIA_PAD_FL_SINK; in em28xx_v4l2_create_entities()
986 ret = media_entity_pads_init(&v4l2->vbi_dev.entity, 1, in em28xx_v4l2_create_entities()
987 &v4l2->vbi_pad); in em28xx_v4l2_create_entities()
1043 struct em28xx_v4l2 *v4l2 = dev->v4l2; in queue_setup() local
1045 (v4l2->width * v4l2->height * v4l2->format->depth + 7) >> 3; in queue_setup()
1062 struct em28xx_v4l2 *v4l2 = dev->v4l2; in buffer_prepare() local
1067 size = (v4l2->width * v4l2->height * v4l2->format->depth + 7) >> 3; in buffer_prepare()
1082 struct em28xx_v4l2 *v4l2 = dev->v4l2; in em28xx_start_analog_streaming() local
1089 dev->v4l2->field_count = 0; in em28xx_start_analog_streaming()
1099 if (v4l2->streaming_users == 0) { in em28xx_start_analog_streaming()
1111 v4l2->capture_type = -1; in em28xx_start_analog_streaming()
1129 f.frequency = v4l2->frequency; in em28xx_start_analog_streaming()
1135 v4l2_device_call_all(&v4l2->v4l2_dev, in em28xx_start_analog_streaming()
1139 v4l2_device_call_all(&v4l2->v4l2_dev, 0, video, s_stream, 1); in em28xx_start_analog_streaming()
1142 v4l2->streaming_users++; in em28xx_start_analog_streaming()
1150 struct em28xx_v4l2 *v4l2 = dev->v4l2; in em28xx_stop_streaming() local
1158 if (v4l2->streaming_users-- == 1) { in em28xx_stop_streaming()
1160 v4l2_device_call_all(&v4l2->v4l2_dev, 0, video, s_stream, 0); in em28xx_stop_streaming()
1185 struct em28xx_v4l2 *v4l2 = dev->v4l2; in em28xx_stop_vbi_streaming() local
1193 if (v4l2->streaming_users-- == 1) { in em28xx_stop_vbi_streaming()
1195 v4l2_device_call_all(&v4l2->v4l2_dev, 0, video, s_stream, 0); in em28xx_stop_vbi_streaming()
1250 struct em28xx_v4l2 *v4l2 = dev->v4l2; in em28xx_vb2_setup() local
1253 q = &v4l2->vb_vidq; in em28xx_vb2_setup()
1267 q = &v4l2->vb_vbiq; in em28xx_vb2_setup()
1289 struct v4l2_device *v4l2_dev = &dev->v4l2->v4l2_dev; in video_mux()
1344 struct em28xx_v4l2 *v4l2 = in em28xx_s_ctrl() local
1346 struct em28xx *dev = v4l2->dev; in em28xx_s_ctrl()
1426 struct em28xx_v4l2 *v4l2 = dev->v4l2; in vidioc_g_fmt_vid_cap() local
1428 f->fmt.pix.width = v4l2->width; in vidioc_g_fmt_vid_cap()
1429 f->fmt.pix.height = v4l2->height; in vidioc_g_fmt_vid_cap()
1430 f->fmt.pix.pixelformat = v4l2->format->fourcc; in vidioc_g_fmt_vid_cap()
1431 f->fmt.pix.bytesperline = (v4l2->width * v4l2->format->depth + 7) >> 3; in vidioc_g_fmt_vid_cap()
1432 f->fmt.pix.sizeimage = f->fmt.pix.bytesperline * v4l2->height; in vidioc_g_fmt_vid_cap()
1436 if (v4l2->progressive) in vidioc_g_fmt_vid_cap()
1439 f->fmt.pix.field = v4l2->interlaced_fieldmode ? in vidioc_g_fmt_vid_cap()
1459 struct em28xx_v4l2 *v4l2 = dev->v4l2; in vidioc_try_fmt_vid_cap() local
1508 if (v4l2->progressive) in vidioc_try_fmt_vid_cap()
1511 f->fmt.pix.field = v4l2->interlaced_fieldmode ? in vidioc_try_fmt_vid_cap()
1521 struct em28xx_v4l2 *v4l2 = dev->v4l2; in em28xx_set_video_format() local
1527 v4l2->format = fmt; in em28xx_set_video_format()
1528 v4l2->width = width; in em28xx_set_video_format()
1529 v4l2->height = height; in em28xx_set_video_format()
1532 size_to_scale(dev, v4l2->width, v4l2->height, in em28xx_set_video_format()
1533 &v4l2->hscale, &v4l2->vscale); in em28xx_set_video_format()
1544 struct em28xx_v4l2 *v4l2 = dev->v4l2; in vidioc_s_fmt_vid_cap() local
1546 if (vb2_is_busy(&v4l2->vb_vidq)) in vidioc_s_fmt_vid_cap()
1559 *norm = dev->v4l2->norm; in vidioc_g_std()
1568 v4l2_device_call_all(&dev->v4l2->v4l2_dev, 0, video, querystd, norm); in vidioc_querystd()
1576 struct em28xx_v4l2 *v4l2 = dev->v4l2; in vidioc_s_std() local
1579 if (norm == v4l2->norm) in vidioc_s_std()
1582 if (v4l2->streaming_users > 0) in vidioc_s_std()
1585 v4l2->norm = norm; in vidioc_s_std()
1593 v4l2->width = f.fmt.pix.width; in vidioc_s_std()
1594 v4l2->height = f.fmt.pix.height; in vidioc_s_std()
1595 size_to_scale(dev, v4l2->width, v4l2->height, in vidioc_s_std()
1596 &v4l2->hscale, &v4l2->vscale); in vidioc_s_std()
1599 v4l2_device_call_all(&v4l2->v4l2_dev, 0, video, s_std, v4l2->norm); in vidioc_s_std()
1609 struct em28xx_v4l2 *v4l2 = dev->v4l2; in vidioc_g_parm() local
1619 rc = v4l2_device_call_until_err(&v4l2->v4l2_dev, 0, in vidioc_g_parm()
1624 v4l2_video_std_frame_period(v4l2->norm, in vidioc_g_parm()
1651 rc = v4l2_device_call_until_err(&dev->v4l2->v4l2_dev, 0, in vidioc_s_parm()
1678 i->std = dev->v4l2->vdev.tvnorms; in vidioc_enum_input()
1842 v4l2_device_call_all(&dev->v4l2->v4l2_dev, 0, tuner, g_tuner, t); in vidioc_g_tuner()
1854 v4l2_device_call_all(&dev->v4l2->v4l2_dev, 0, tuner, s_tuner, t); in vidioc_s_tuner()
1862 struct em28xx_v4l2 *v4l2 = dev->v4l2; in vidioc_g_frequency() local
1867 f->frequency = v4l2->frequency; in vidioc_g_frequency()
1876 struct em28xx_v4l2 *v4l2 = dev->v4l2; in vidioc_s_frequency() local
1881 v4l2_device_call_all(&v4l2->v4l2_dev, 0, tuner, s_frequency, f); in vidioc_s_frequency()
1882 v4l2_device_call_all(&v4l2->v4l2_dev, 0, tuner, g_frequency, &new_freq); in vidioc_s_frequency()
1883 v4l2->frequency = new_freq.frequency; in vidioc_s_frequency()
1900 dev->v4l2->v4l2_dev.name, sizeof(chip->name)); in vidioc_g_chip_info()
1980 struct em28xx_v4l2 *v4l2 = dev->v4l2; in vidioc_querycap() local
1993 if (video_is_registered(&v4l2->vbi_dev)) in vidioc_querycap()
1995 if (video_is_registered(&v4l2->radio_dev)) in vidioc_querycap()
2059 struct em28xx_v4l2 *v4l2 = dev->v4l2; in vidioc_g_fmt_vbi_cap() local
2061 format->fmt.vbi.samples_per_line = v4l2->vbi_width; in vidioc_g_fmt_vbi_cap()
2066 format->fmt.vbi.count[0] = v4l2->vbi_height; in vidioc_g_fmt_vbi_cap()
2067 format->fmt.vbi.count[1] = v4l2->vbi_height; in vidioc_g_fmt_vbi_cap()
2071 if (v4l2->norm & V4L2_STD_525_60) { in vidioc_g_fmt_vbi_cap()
2075 } else if (v4l2->norm & V4L2_STD_625_50) { in vidioc_g_fmt_vbi_cap()
2098 v4l2_device_call_all(&dev->v4l2->v4l2_dev, 0, tuner, g_tuner, t); in radio_g_tuner()
2111 v4l2_device_call_all(&dev->v4l2->v4l2_dev, 0, tuner, s_tuner, t); in radio_s_tuner()
2125 struct em28xx_v4l2 *v4l2 = container_of(ref, struct em28xx_v4l2, ref); in em28xx_free_v4l2() local
2127 v4l2->dev->v4l2 = NULL; in em28xx_free_v4l2()
2128 kfree(v4l2); in em28xx_free_v4l2()
2139 struct em28xx_v4l2 *v4l2 = dev->v4l2; in em28xx_v4l2_open() local
2158 v4l2->users); in em28xx_v4l2_open()
2172 if (v4l2->users == 0) { in em28xx_v4l2_open()
2187 v4l2_device_call_all(&v4l2->v4l2_dev, 0, tuner, s_radio); in em28xx_v4l2_open()
2191 kref_get(&v4l2->ref); in em28xx_v4l2_open()
2192 v4l2->users++; in em28xx_v4l2_open()
2206 struct em28xx_v4l2 *v4l2 = dev->v4l2; in em28xx_v4l2_fini() local
2218 if (!v4l2) in em28xx_v4l2_fini()
2225 v4l2_device_disconnect(&v4l2->v4l2_dev); in em28xx_v4l2_fini()
2231 if (video_is_registered(&v4l2->radio_dev)) { in em28xx_v4l2_fini()
2233 video_device_node_name(&v4l2->radio_dev)); in em28xx_v4l2_fini()
2234 video_unregister_device(&v4l2->radio_dev); in em28xx_v4l2_fini()
2236 if (video_is_registered(&v4l2->vbi_dev)) { in em28xx_v4l2_fini()
2238 video_device_node_name(&v4l2->vbi_dev)); in em28xx_v4l2_fini()
2239 video_unregister_device(&v4l2->vbi_dev); in em28xx_v4l2_fini()
2241 if (video_is_registered(&v4l2->vdev)) { in em28xx_v4l2_fini()
2243 video_device_node_name(&v4l2->vdev)); in em28xx_v4l2_fini()
2244 video_unregister_device(&v4l2->vdev); in em28xx_v4l2_fini()
2247 v4l2_ctrl_handler_free(&v4l2->ctrl_handler); in em28xx_v4l2_fini()
2248 v4l2_device_unregister(&v4l2->v4l2_dev); in em28xx_v4l2_fini()
2250 kref_put(&v4l2->ref, em28xx_free_v4l2); in em28xx_v4l2_fini()
2293 struct em28xx_v4l2 *v4l2 = dev->v4l2; in em28xx_v4l2_close() local
2297 em28xx_videodbg("users=%d\n", v4l2->users); in em28xx_v4l2_close()
2302 if (v4l2->users == 1) { in em28xx_v4l2_close()
2308 v4l2_device_call_all(&v4l2->v4l2_dev, 0, tuner, standby); in em28xx_v4l2_close()
2325 v4l2->users--; in em28xx_v4l2_close()
2326 kref_put(&v4l2->ref, em28xx_free_v4l2); in em28xx_v4l2_close()
2448 vfd->v4l2_dev = &dev->v4l2->v4l2_dev; in em28xx_vdev_init()
2461 struct em28xx_v4l2 *v4l2 = dev->v4l2; in em28xx_tuner_setup() local
2462 struct v4l2_device *v4l2_dev = &v4l2->v4l2_dev; in em28xx_tuner_setup()
2516 v4l2->frequency = f.frequency; in em28xx_tuner_setup()
2526 struct em28xx_v4l2 *v4l2; in em28xx_v4l2_init() local
2542 v4l2 = kzalloc(sizeof(*v4l2), GFP_KERNEL); in em28xx_v4l2_init()
2543 if (!v4l2) { in em28xx_v4l2_init()
2547 kref_init(&v4l2->ref); in em28xx_v4l2_init()
2548 v4l2->dev = dev; in em28xx_v4l2_init()
2549 dev->v4l2 = v4l2; in em28xx_v4l2_init()
2552 v4l2->v4l2_dev.mdev = dev->media_dev; in em28xx_v4l2_init()
2554 ret = v4l2_device_register(&dev->intf->dev, &v4l2->v4l2_dev); in em28xx_v4l2_init()
2561 hdl = &v4l2->ctrl_handler; in em28xx_v4l2_init()
2563 v4l2->v4l2_dev.ctrl_handler = hdl; in em28xx_v4l2_init()
2566 v4l2->progressive = true; in em28xx_v4l2_init()
2571 v4l2->vinmode = EM28XX_VINMODE_YUV422_CbYCrY; in em28xx_v4l2_init()
2572 v4l2->vinctl = EM28XX_VINCTRL_INTERLACED | in em28xx_v4l2_init()
2578 v4l2_i2c_new_subdev(&v4l2->v4l2_dev, in em28xx_v4l2_init()
2583 v4l2_i2c_new_subdev(&v4l2->v4l2_dev, in em28xx_v4l2_init()
2588 v4l2_i2c_new_subdev(&v4l2->v4l2_dev, in em28xx_v4l2_init()
2593 v4l2_i2c_new_subdev(&v4l2->v4l2_dev, in em28xx_v4l2_init()
2604 v4l2_i2c_new_subdev(&v4l2->v4l2_dev, in em28xx_v4l2_init()
2610 v4l2_i2c_new_subdev(&v4l2->v4l2_dev, in em28xx_v4l2_init()
2619 sd = v4l2_i2c_new_subdev(&v4l2->v4l2_dev, in em28xx_v4l2_init()
2627 v4l2_i2c_new_subdev(&v4l2->v4l2_dev, in em28xx_v4l2_init()
2688 v4l2->norm = V4L2_STD_PAL; in em28xx_v4l2_init()
2689 v4l2_device_call_all(&v4l2->v4l2_dev, 0, video, s_std, v4l2->norm); in em28xx_v4l2_init()
2690 v4l2->interlaced_fieldmode = EM28XX_INTERLACED_DEFAULT; in em28xx_v4l2_init()
2693 v4l2->format = &format[0]; in em28xx_v4l2_init()
2759 em28xx_vdev_init(dev, &v4l2->vdev, &em28xx_video_template, "video"); in em28xx_v4l2_init()
2760 mutex_init(&v4l2->vb_queue_lock); in em28xx_v4l2_init()
2761 mutex_init(&v4l2->vb_vbi_queue_lock); in em28xx_v4l2_init()
2762 v4l2->vdev.queue = &v4l2->vb_vidq; in em28xx_v4l2_init()
2763 v4l2->vdev.queue->lock = &v4l2->vb_queue_lock; in em28xx_v4l2_init()
2764 v4l2->vdev.device_caps = V4L2_CAP_READWRITE | V4L2_CAP_VIDEO_CAPTURE | in em28xx_v4l2_init()
2767 v4l2->vdev.device_caps |= V4L2_CAP_AUDIO; in em28xx_v4l2_init()
2769 v4l2->vdev.device_caps |= V4L2_CAP_TUNER; in em28xx_v4l2_init()
2774 v4l2_disable_ioctl(&v4l2->vdev, VIDIOC_QUERYSTD); in em28xx_v4l2_init()
2775 v4l2_disable_ioctl(&v4l2->vdev, VIDIOC_G_STD); in em28xx_v4l2_init()
2776 v4l2_disable_ioctl(&v4l2->vdev, VIDIOC_S_STD); in em28xx_v4l2_init()
2778 v4l2_disable_ioctl(&v4l2->vdev, VIDIOC_S_PARM); in em28xx_v4l2_init()
2781 v4l2_disable_ioctl(&v4l2->vdev, VIDIOC_G_TUNER); in em28xx_v4l2_init()
2782 v4l2_disable_ioctl(&v4l2->vdev, VIDIOC_S_TUNER); in em28xx_v4l2_init()
2783 v4l2_disable_ioctl(&v4l2->vdev, VIDIOC_G_FREQUENCY); in em28xx_v4l2_init()
2784 v4l2_disable_ioctl(&v4l2->vdev, VIDIOC_S_FREQUENCY); in em28xx_v4l2_init()
2787 v4l2_disable_ioctl(&v4l2->vdev, VIDIOC_G_AUDIO); in em28xx_v4l2_init()
2788 v4l2_disable_ioctl(&v4l2->vdev, VIDIOC_S_AUDIO); in em28xx_v4l2_init()
2792 ret = video_register_device(&v4l2->vdev, VFL_TYPE_VIDEO, in em28xx_v4l2_init()
2802 em28xx_vdev_init(dev, &v4l2->vbi_dev, &em28xx_video_template, in em28xx_v4l2_init()
2805 v4l2->vbi_dev.queue = &v4l2->vb_vbiq; in em28xx_v4l2_init()
2806 v4l2->vbi_dev.queue->lock = &v4l2->vb_vbi_queue_lock; in em28xx_v4l2_init()
2807 v4l2->vbi_dev.device_caps = V4L2_CAP_STREAMING | in em28xx_v4l2_init()
2810 v4l2->vbi_dev.device_caps |= V4L2_CAP_TUNER; in em28xx_v4l2_init()
2813 v4l2_disable_ioctl(&v4l2->vbi_dev, VIDIOC_S_PARM); in em28xx_v4l2_init()
2815 v4l2_disable_ioctl(&v4l2->vbi_dev, VIDIOC_G_TUNER); in em28xx_v4l2_init()
2816 v4l2_disable_ioctl(&v4l2->vbi_dev, VIDIOC_S_TUNER); in em28xx_v4l2_init()
2817 v4l2_disable_ioctl(&v4l2->vbi_dev, VIDIOC_G_FREQUENCY); in em28xx_v4l2_init()
2818 v4l2_disable_ioctl(&v4l2->vbi_dev, VIDIOC_S_FREQUENCY); in em28xx_v4l2_init()
2821 v4l2_disable_ioctl(&v4l2->vbi_dev, VIDIOC_G_AUDIO); in em28xx_v4l2_init()
2822 v4l2_disable_ioctl(&v4l2->vbi_dev, VIDIOC_S_AUDIO); in em28xx_v4l2_init()
2826 ret = video_register_device(&v4l2->vbi_dev, VFL_TYPE_VBI, in em28xx_v4l2_init()
2836 em28xx_vdev_init(dev, &v4l2->radio_dev, &em28xx_radio_template, in em28xx_v4l2_init()
2838 v4l2->radio_dev.device_caps = V4L2_CAP_RADIO | V4L2_CAP_TUNER; in em28xx_v4l2_init()
2839 ret = video_register_device(&v4l2->radio_dev, VFL_TYPE_RADIO, in em28xx_v4l2_init()
2848 video_device_node_name(&v4l2->radio_dev)); in em28xx_v4l2_init()
2866 video_device_node_name(&v4l2->vdev)); in em28xx_v4l2_init()
2868 if (video_is_registered(&v4l2->vbi_dev)) in em28xx_v4l2_init()
2871 video_device_node_name(&v4l2->vbi_dev)); in em28xx_v4l2_init()
2874 v4l2_device_call_all(&v4l2->v4l2_dev, 0, tuner, standby); in em28xx_v4l2_init()
2888 if (video_is_registered(&v4l2->radio_dev)) { in em28xx_v4l2_init()
2891 video_device_node_name(&v4l2->radio_dev)); in em28xx_v4l2_init()
2892 video_unregister_device(&v4l2->radio_dev); in em28xx_v4l2_init()
2894 if (video_is_registered(&v4l2->vbi_dev)) { in em28xx_v4l2_init()
2897 video_device_node_name(&v4l2->vbi_dev)); in em28xx_v4l2_init()
2898 video_unregister_device(&v4l2->vbi_dev); in em28xx_v4l2_init()
2900 if (video_is_registered(&v4l2->vdev)) { in em28xx_v4l2_init()
2903 video_device_node_name(&v4l2->vdev)); in em28xx_v4l2_init()
2904 video_unregister_device(&v4l2->vdev); in em28xx_v4l2_init()
2907 v4l2_ctrl_handler_free(&v4l2->ctrl_handler); in em28xx_v4l2_init()
2908 v4l2_device_unregister(&v4l2->v4l2_dev); in em28xx_v4l2_init()
2910 dev->v4l2 = NULL; in em28xx_v4l2_init()
2911 kref_put(&v4l2->ref, em28xx_free_v4l2); in em28xx_v4l2_init()