Lines Matching refs:v4l2
128 struct em28xx_v4l2 *v4l2 = dev->v4l2; in norm_maxw() local
131 return v4l2->sensor_xres; in norm_maxw()
141 struct em28xx_v4l2 *v4l2 = dev->v4l2; in norm_maxh() local
144 return v4l2->sensor_yres; in norm_maxh()
149 return (v4l2->norm & V4L2_STD_625_50) ? 576 : 480; in norm_maxh()
177 struct v4l2_device *v4l2_dev = &dev->v4l2->v4l2_dev; in em28xx_wake_i2c()
206 struct em28xx_v4l2 *v4l2 = dev->v4l2; in em28xx_set_outfmt() local
208 fmt = v4l2->format->reg; in em28xx_set_outfmt()
224 ret = em28xx_write_reg(dev, EM28XX_R10_VINMODE, v4l2->vinmode); in em28xx_set_outfmt()
228 vinctrl = v4l2->vinctl; in em28xx_set_outfmt()
233 v4l2->vbi_width / 4); in em28xx_set_outfmt()
234 em28xx_write_reg(dev, EM28XX_R37_VBI_HEIGHT, v4l2->vbi_height); in em28xx_set_outfmt()
235 if (v4l2->norm & V4L2_STD_525_60) { in em28xx_set_outfmt()
238 } else if (v4l2->norm & V4L2_STD_625_50) { in em28xx_set_outfmt()
315 struct em28xx_v4l2 *v4l2 = dev->v4l2; in em28xx_resolution_set() local
320 v4l2->vbi_width = 720; in em28xx_resolution_set()
321 if (v4l2->norm & V4L2_STD_525_60) in em28xx_resolution_set()
322 v4l2->vbi_height = 12; in em28xx_resolution_set()
324 v4l2->vbi_height = 18; in em28xx_resolution_set()
344 return em28xx_scaler_set(dev, v4l2->hscale, v4l2->vscale); in em28xx_resolution_set()
350 struct em28xx_v4l2 *v4l2 = dev->v4l2; in em28xx_set_alternate() local
354 unsigned int min_pkt_size = v4l2->width * 2 + 4; in em28xx_set_alternate()
374 if (v4l2->width * 2 * v4l2->height > 720 * 240 * 2) in em28xx_set_alternate()
432 buf->vb.sequence = dev->v4l2->field_count++; in finish_buffer()
433 if (dev->v4l2->progressive) in finish_buffer()
450 struct em28xx_v4l2 *v4l2 = dev->v4l2; in em28xx_copy_video() local
453 int bytesperline = v4l2->width << 1; in em28xx_copy_video()
461 if (v4l2->progressive || buf->top_field) in em28xx_copy_video()
469 if (v4l2->progressive) in em28xx_copy_video()
493 if (v4l2->progressive) in em28xx_copy_video()
539 offset += dev->v4l2->vbi_width * dev->v4l2->vbi_height; in em28xx_copy_vbi()
615 struct em28xx_v4l2 *v4l2 = dev->v4l2; in finish_field_prepare_next() local
617 if (v4l2->progressive || v4l2->top_field) { /* Brand new frame */ in finish_field_prepare_next()
623 buf->top_field = v4l2->top_field; in finish_field_prepare_next()
637 struct em28xx_v4l2 *v4l2 = dev->v4l2; in process_frame_data_em28xx() local
661 v4l2->capture_type = 0; in process_frame_data_em28xx()
662 v4l2->vbi_read = 0; in process_frame_data_em28xx()
664 v4l2->top_field = !(data_pkt[2] & 1); in process_frame_data_em28xx()
669 v4l2->capture_type = 2; in process_frame_data_em28xx()
671 v4l2->top_field = !(data_pkt[2] & 1); in process_frame_data_em28xx()
681 if (v4l2->capture_type == 0) { in process_frame_data_em28xx()
684 v4l2->capture_type = 1; in process_frame_data_em28xx()
687 if (v4l2->capture_type == 1) { in process_frame_data_em28xx()
688 int vbi_size = v4l2->vbi_width * v4l2->vbi_height; in process_frame_data_em28xx()
689 int vbi_data_len = ((v4l2->vbi_read + data_len) > vbi_size) ? in process_frame_data_em28xx()
690 (vbi_size - v4l2->vbi_read) : data_len; in process_frame_data_em28xx()
695 v4l2->vbi_read += vbi_data_len; in process_frame_data_em28xx()
699 v4l2->capture_type = 2; in process_frame_data_em28xx()
705 if (v4l2->capture_type == 2) { in process_frame_data_em28xx()
708 v4l2->capture_type = 3; in process_frame_data_em28xx()
711 if (v4l2->capture_type == 3 && buf && data_len > 0) in process_frame_data_em28xx()
724 struct em28xx_v4l2 *v4l2 = dev->v4l2; in process_frame_data_em25xx() local
735 v4l2->top_field = !(data_pkt[1] & in process_frame_data_em25xx()
899 struct em28xx_v4l2 *v4l2 = dev->v4l2; in em28xx_enable_analog_tuner() local
904 if (!mdev || !v4l2->decoder) in em28xx_enable_analog_tuner()
914 list_for_each_entry(link, &v4l2->decoder->links, list) { in em28xx_enable_analog_tuner()
915 if (link->sink->entity == v4l2->decoder) { in em28xx_enable_analog_tuner()
933 if (sink == v4l2->decoder) in em28xx_enable_analog_tuner()
964 struct em28xx_v4l2 *v4l2 = dev->v4l2; in em28xx_v4l2_create_entities() local
968 v4l2->video_pad.flags = MEDIA_PAD_FL_SINK; in em28xx_v4l2_create_entities()
969 ret = media_entity_pads_init(&v4l2->vdev.entity, 1, &v4l2->video_pad); in em28xx_v4l2_create_entities()
975 v4l2->vbi_pad.flags = MEDIA_PAD_FL_SINK; in em28xx_v4l2_create_entities()
976 ret = media_entity_pads_init(&v4l2->vbi_dev.entity, 1, in em28xx_v4l2_create_entities()
977 &v4l2->vbi_pad); in em28xx_v4l2_create_entities()
1033 struct em28xx_v4l2 *v4l2 = dev->v4l2; in queue_setup() local
1035 (v4l2->width * v4l2->height * v4l2->format->depth + 7) >> 3; in queue_setup()
1052 struct em28xx_v4l2 *v4l2 = dev->v4l2; in buffer_prepare() local
1057 size = (v4l2->width * v4l2->height * v4l2->format->depth + 7) >> 3; in buffer_prepare()
1072 struct em28xx_v4l2 *v4l2 = dev->v4l2; in em28xx_start_analog_streaming() local
1079 dev->v4l2->field_count = 0; in em28xx_start_analog_streaming()
1089 if (v4l2->streaming_users == 0) { in em28xx_start_analog_streaming()
1101 v4l2->capture_type = -1; in em28xx_start_analog_streaming()
1119 f.frequency = v4l2->frequency; in em28xx_start_analog_streaming()
1125 v4l2_device_call_all(&v4l2->v4l2_dev, in em28xx_start_analog_streaming()
1129 v4l2_device_call_all(&v4l2->v4l2_dev, 0, video, s_stream, 1); in em28xx_start_analog_streaming()
1132 v4l2->streaming_users++; in em28xx_start_analog_streaming()
1140 struct em28xx_v4l2 *v4l2 = dev->v4l2; in em28xx_stop_streaming() local
1148 if (v4l2->streaming_users-- == 1) { in em28xx_stop_streaming()
1150 v4l2_device_call_all(&v4l2->v4l2_dev, 0, video, s_stream, 0); in em28xx_stop_streaming()
1175 struct em28xx_v4l2 *v4l2 = dev->v4l2; in em28xx_stop_vbi_streaming() local
1183 if (v4l2->streaming_users-- == 1) { in em28xx_stop_vbi_streaming()
1185 v4l2_device_call_all(&v4l2->v4l2_dev, 0, video, s_stream, 0); in em28xx_stop_vbi_streaming()
1240 struct em28xx_v4l2 *v4l2 = dev->v4l2; in em28xx_vb2_setup() local
1243 q = &v4l2->vb_vidq; in em28xx_vb2_setup()
1257 q = &v4l2->vb_vbiq; in em28xx_vb2_setup()
1279 struct v4l2_device *v4l2_dev = &dev->v4l2->v4l2_dev; in video_mux()
1334 struct em28xx_v4l2 *v4l2 = in em28xx_s_ctrl() local
1336 struct em28xx *dev = v4l2->dev; in em28xx_s_ctrl()
1416 struct em28xx_v4l2 *v4l2 = dev->v4l2; in vidioc_g_fmt_vid_cap() local
1418 f->fmt.pix.width = v4l2->width; in vidioc_g_fmt_vid_cap()
1419 f->fmt.pix.height = v4l2->height; in vidioc_g_fmt_vid_cap()
1420 f->fmt.pix.pixelformat = v4l2->format->fourcc; in vidioc_g_fmt_vid_cap()
1421 f->fmt.pix.bytesperline = (v4l2->width * v4l2->format->depth + 7) >> 3; in vidioc_g_fmt_vid_cap()
1422 f->fmt.pix.sizeimage = f->fmt.pix.bytesperline * v4l2->height; in vidioc_g_fmt_vid_cap()
1426 if (v4l2->progressive) in vidioc_g_fmt_vid_cap()
1429 f->fmt.pix.field = v4l2->interlaced_fieldmode ? in vidioc_g_fmt_vid_cap()
1449 struct em28xx_v4l2 *v4l2 = dev->v4l2; in vidioc_try_fmt_vid_cap() local
1498 if (v4l2->progressive) in vidioc_try_fmt_vid_cap()
1501 f->fmt.pix.field = v4l2->interlaced_fieldmode ? in vidioc_try_fmt_vid_cap()
1511 struct em28xx_v4l2 *v4l2 = dev->v4l2; in em28xx_set_video_format() local
1517 v4l2->format = fmt; in em28xx_set_video_format()
1518 v4l2->width = width; in em28xx_set_video_format()
1519 v4l2->height = height; in em28xx_set_video_format()
1522 size_to_scale(dev, v4l2->width, v4l2->height, in em28xx_set_video_format()
1523 &v4l2->hscale, &v4l2->vscale); in em28xx_set_video_format()
1534 struct em28xx_v4l2 *v4l2 = dev->v4l2; in vidioc_s_fmt_vid_cap() local
1536 if (vb2_is_busy(&v4l2->vb_vidq)) in vidioc_s_fmt_vid_cap()
1549 *norm = dev->v4l2->norm; in vidioc_g_std()
1558 v4l2_device_call_all(&dev->v4l2->v4l2_dev, 0, video, querystd, norm); in vidioc_querystd()
1566 struct em28xx_v4l2 *v4l2 = dev->v4l2; in vidioc_s_std() local
1569 if (norm == v4l2->norm) in vidioc_s_std()
1572 if (v4l2->streaming_users > 0) in vidioc_s_std()
1575 v4l2->norm = norm; in vidioc_s_std()
1583 v4l2->width = f.fmt.pix.width; in vidioc_s_std()
1584 v4l2->height = f.fmt.pix.height; in vidioc_s_std()
1585 size_to_scale(dev, v4l2->width, v4l2->height, in vidioc_s_std()
1586 &v4l2->hscale, &v4l2->vscale); in vidioc_s_std()
1589 v4l2_device_call_all(&v4l2->v4l2_dev, 0, video, s_std, v4l2->norm); in vidioc_s_std()
1599 struct em28xx_v4l2 *v4l2 = dev->v4l2; in vidioc_g_parm() local
1609 rc = v4l2_device_call_until_err(&v4l2->v4l2_dev, 0, in vidioc_g_parm()
1614 v4l2_video_std_frame_period(v4l2->norm, in vidioc_g_parm()
1641 rc = v4l2_device_call_until_err(&dev->v4l2->v4l2_dev, 0, in vidioc_s_parm()
1668 i->std = dev->v4l2->vdev.tvnorms; in vidioc_enum_input()
1832 v4l2_device_call_all(&dev->v4l2->v4l2_dev, 0, tuner, g_tuner, t); in vidioc_g_tuner()
1844 v4l2_device_call_all(&dev->v4l2->v4l2_dev, 0, tuner, s_tuner, t); in vidioc_s_tuner()
1852 struct em28xx_v4l2 *v4l2 = dev->v4l2; in vidioc_g_frequency() local
1857 f->frequency = v4l2->frequency; in vidioc_g_frequency()
1866 struct em28xx_v4l2 *v4l2 = dev->v4l2; in vidioc_s_frequency() local
1871 v4l2_device_call_all(&v4l2->v4l2_dev, 0, tuner, s_frequency, f); in vidioc_s_frequency()
1872 v4l2_device_call_all(&v4l2->v4l2_dev, 0, tuner, g_frequency, &new_freq); in vidioc_s_frequency()
1873 v4l2->frequency = new_freq.frequency; in vidioc_s_frequency()
1890 dev->v4l2->v4l2_dev.name, sizeof(chip->name)); in vidioc_g_chip_info()
1970 struct em28xx_v4l2 *v4l2 = dev->v4l2; in vidioc_querycap() local
1983 if (video_is_registered(&v4l2->vbi_dev)) in vidioc_querycap()
1985 if (video_is_registered(&v4l2->radio_dev)) in vidioc_querycap()
2049 struct em28xx_v4l2 *v4l2 = dev->v4l2; in vidioc_g_fmt_vbi_cap() local
2051 format->fmt.vbi.samples_per_line = v4l2->vbi_width; in vidioc_g_fmt_vbi_cap()
2056 format->fmt.vbi.count[0] = v4l2->vbi_height; in vidioc_g_fmt_vbi_cap()
2057 format->fmt.vbi.count[1] = v4l2->vbi_height; in vidioc_g_fmt_vbi_cap()
2061 if (v4l2->norm & V4L2_STD_525_60) { in vidioc_g_fmt_vbi_cap()
2065 } else if (v4l2->norm & V4L2_STD_625_50) { in vidioc_g_fmt_vbi_cap()
2088 v4l2_device_call_all(&dev->v4l2->v4l2_dev, 0, tuner, g_tuner, t); in radio_g_tuner()
2101 v4l2_device_call_all(&dev->v4l2->v4l2_dev, 0, tuner, s_tuner, t); in radio_s_tuner()
2115 struct em28xx_v4l2 *v4l2 = container_of(ref, struct em28xx_v4l2, ref); in em28xx_free_v4l2() local
2117 v4l2->dev->v4l2 = NULL; in em28xx_free_v4l2()
2118 kfree(v4l2); in em28xx_free_v4l2()
2129 struct em28xx_v4l2 *v4l2 = dev->v4l2; in em28xx_v4l2_open() local
2148 v4l2->users); in em28xx_v4l2_open()
2162 if (v4l2->users == 0) { in em28xx_v4l2_open()
2177 v4l2_device_call_all(&v4l2->v4l2_dev, 0, tuner, s_radio); in em28xx_v4l2_open()
2181 kref_get(&v4l2->ref); in em28xx_v4l2_open()
2182 v4l2->users++; in em28xx_v4l2_open()
2196 struct em28xx_v4l2 *v4l2 = dev->v4l2; in em28xx_v4l2_fini() local
2208 if (!v4l2) in em28xx_v4l2_fini()
2215 v4l2_device_disconnect(&v4l2->v4l2_dev); in em28xx_v4l2_fini()
2221 if (video_is_registered(&v4l2->radio_dev)) { in em28xx_v4l2_fini()
2223 video_device_node_name(&v4l2->radio_dev)); in em28xx_v4l2_fini()
2224 video_unregister_device(&v4l2->radio_dev); in em28xx_v4l2_fini()
2226 if (video_is_registered(&v4l2->vbi_dev)) { in em28xx_v4l2_fini()
2228 video_device_node_name(&v4l2->vbi_dev)); in em28xx_v4l2_fini()
2229 video_unregister_device(&v4l2->vbi_dev); in em28xx_v4l2_fini()
2231 if (video_is_registered(&v4l2->vdev)) { in em28xx_v4l2_fini()
2233 video_device_node_name(&v4l2->vdev)); in em28xx_v4l2_fini()
2234 video_unregister_device(&v4l2->vdev); in em28xx_v4l2_fini()
2237 v4l2_ctrl_handler_free(&v4l2->ctrl_handler); in em28xx_v4l2_fini()
2238 v4l2_device_unregister(&v4l2->v4l2_dev); in em28xx_v4l2_fini()
2240 kref_put(&v4l2->ref, em28xx_free_v4l2); in em28xx_v4l2_fini()
2283 struct em28xx_v4l2 *v4l2 = dev->v4l2; in em28xx_v4l2_close() local
2287 em28xx_videodbg("users=%d\n", v4l2->users); in em28xx_v4l2_close()
2292 if (v4l2->users == 1) { in em28xx_v4l2_close()
2298 v4l2_device_call_all(&v4l2->v4l2_dev, 0, tuner, standby); in em28xx_v4l2_close()
2315 v4l2->users--; in em28xx_v4l2_close()
2316 kref_put(&v4l2->ref, em28xx_free_v4l2); in em28xx_v4l2_close()
2438 vfd->v4l2_dev = &dev->v4l2->v4l2_dev; in em28xx_vdev_init()
2451 struct em28xx_v4l2 *v4l2 = dev->v4l2; in em28xx_tuner_setup() local
2452 struct v4l2_device *v4l2_dev = &v4l2->v4l2_dev; in em28xx_tuner_setup()
2506 v4l2->frequency = f.frequency; in em28xx_tuner_setup()
2516 struct em28xx_v4l2 *v4l2; in em28xx_v4l2_init() local
2532 v4l2 = kzalloc(sizeof(*v4l2), GFP_KERNEL); in em28xx_v4l2_init()
2533 if (!v4l2) { in em28xx_v4l2_init()
2537 kref_init(&v4l2->ref); in em28xx_v4l2_init()
2538 v4l2->dev = dev; in em28xx_v4l2_init()
2539 dev->v4l2 = v4l2; in em28xx_v4l2_init()
2542 v4l2->v4l2_dev.mdev = dev->media_dev; in em28xx_v4l2_init()
2544 ret = v4l2_device_register(&dev->intf->dev, &v4l2->v4l2_dev); in em28xx_v4l2_init()
2551 hdl = &v4l2->ctrl_handler; in em28xx_v4l2_init()
2553 v4l2->v4l2_dev.ctrl_handler = hdl; in em28xx_v4l2_init()
2556 v4l2->progressive = true; in em28xx_v4l2_init()
2561 v4l2->vinmode = EM28XX_VINMODE_YUV422_CbYCrY; in em28xx_v4l2_init()
2562 v4l2->vinctl = EM28XX_VINCTRL_INTERLACED | in em28xx_v4l2_init()
2568 v4l2_i2c_new_subdev(&v4l2->v4l2_dev, in em28xx_v4l2_init()
2573 v4l2_i2c_new_subdev(&v4l2->v4l2_dev, 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()
2594 v4l2_i2c_new_subdev(&v4l2->v4l2_dev, in em28xx_v4l2_init()
2600 v4l2_i2c_new_subdev(&v4l2->v4l2_dev, in em28xx_v4l2_init()
2609 sd = v4l2_i2c_new_subdev(&v4l2->v4l2_dev, in em28xx_v4l2_init()
2617 v4l2_i2c_new_subdev(&v4l2->v4l2_dev, in em28xx_v4l2_init()
2678 v4l2->norm = V4L2_STD_PAL; in em28xx_v4l2_init()
2679 v4l2_device_call_all(&v4l2->v4l2_dev, 0, video, s_std, v4l2->norm); in em28xx_v4l2_init()
2680 v4l2->interlaced_fieldmode = EM28XX_INTERLACED_DEFAULT; in em28xx_v4l2_init()
2683 v4l2->format = &format[0]; in em28xx_v4l2_init()
2749 em28xx_vdev_init(dev, &v4l2->vdev, &em28xx_video_template, "video"); in em28xx_v4l2_init()
2750 mutex_init(&v4l2->vb_queue_lock); in em28xx_v4l2_init()
2751 mutex_init(&v4l2->vb_vbi_queue_lock); in em28xx_v4l2_init()
2752 v4l2->vdev.queue = &v4l2->vb_vidq; in em28xx_v4l2_init()
2753 v4l2->vdev.queue->lock = &v4l2->vb_queue_lock; in em28xx_v4l2_init()
2754 v4l2->vdev.device_caps = V4L2_CAP_READWRITE | V4L2_CAP_VIDEO_CAPTURE | in em28xx_v4l2_init()
2757 v4l2->vdev.device_caps |= V4L2_CAP_AUDIO; in em28xx_v4l2_init()
2759 v4l2->vdev.device_caps |= V4L2_CAP_TUNER; in em28xx_v4l2_init()
2764 v4l2_disable_ioctl(&v4l2->vdev, VIDIOC_QUERYSTD); in em28xx_v4l2_init()
2765 v4l2_disable_ioctl(&v4l2->vdev, VIDIOC_G_STD); in em28xx_v4l2_init()
2766 v4l2_disable_ioctl(&v4l2->vdev, VIDIOC_S_STD); in em28xx_v4l2_init()
2768 v4l2_disable_ioctl(&v4l2->vdev, VIDIOC_S_PARM); in em28xx_v4l2_init()
2771 v4l2_disable_ioctl(&v4l2->vdev, VIDIOC_G_TUNER); in em28xx_v4l2_init()
2772 v4l2_disable_ioctl(&v4l2->vdev, VIDIOC_S_TUNER); in em28xx_v4l2_init()
2773 v4l2_disable_ioctl(&v4l2->vdev, VIDIOC_G_FREQUENCY); in em28xx_v4l2_init()
2774 v4l2_disable_ioctl(&v4l2->vdev, VIDIOC_S_FREQUENCY); in em28xx_v4l2_init()
2777 v4l2_disable_ioctl(&v4l2->vdev, VIDIOC_G_AUDIO); in em28xx_v4l2_init()
2778 v4l2_disable_ioctl(&v4l2->vdev, VIDIOC_S_AUDIO); in em28xx_v4l2_init()
2782 ret = video_register_device(&v4l2->vdev, VFL_TYPE_VIDEO, in em28xx_v4l2_init()
2792 em28xx_vdev_init(dev, &v4l2->vbi_dev, &em28xx_video_template, in em28xx_v4l2_init()
2795 v4l2->vbi_dev.queue = &v4l2->vb_vbiq; in em28xx_v4l2_init()
2796 v4l2->vbi_dev.queue->lock = &v4l2->vb_vbi_queue_lock; in em28xx_v4l2_init()
2797 v4l2->vbi_dev.device_caps = V4L2_CAP_STREAMING | in em28xx_v4l2_init()
2800 v4l2->vbi_dev.device_caps |= V4L2_CAP_TUNER; in em28xx_v4l2_init()
2803 v4l2_disable_ioctl(&v4l2->vbi_dev, VIDIOC_S_PARM); in em28xx_v4l2_init()
2805 v4l2_disable_ioctl(&v4l2->vbi_dev, VIDIOC_G_TUNER); in em28xx_v4l2_init()
2806 v4l2_disable_ioctl(&v4l2->vbi_dev, VIDIOC_S_TUNER); in em28xx_v4l2_init()
2807 v4l2_disable_ioctl(&v4l2->vbi_dev, VIDIOC_G_FREQUENCY); in em28xx_v4l2_init()
2808 v4l2_disable_ioctl(&v4l2->vbi_dev, VIDIOC_S_FREQUENCY); in em28xx_v4l2_init()
2811 v4l2_disable_ioctl(&v4l2->vbi_dev, VIDIOC_G_AUDIO); in em28xx_v4l2_init()
2812 v4l2_disable_ioctl(&v4l2->vbi_dev, VIDIOC_S_AUDIO); in em28xx_v4l2_init()
2816 ret = video_register_device(&v4l2->vbi_dev, VFL_TYPE_VBI, in em28xx_v4l2_init()
2826 em28xx_vdev_init(dev, &v4l2->radio_dev, &em28xx_radio_template, in em28xx_v4l2_init()
2828 v4l2->radio_dev.device_caps = V4L2_CAP_RADIO | V4L2_CAP_TUNER; in em28xx_v4l2_init()
2829 ret = video_register_device(&v4l2->radio_dev, VFL_TYPE_RADIO, in em28xx_v4l2_init()
2838 video_device_node_name(&v4l2->radio_dev)); in em28xx_v4l2_init()
2856 video_device_node_name(&v4l2->vdev)); in em28xx_v4l2_init()
2858 if (video_is_registered(&v4l2->vbi_dev)) in em28xx_v4l2_init()
2861 video_device_node_name(&v4l2->vbi_dev)); in em28xx_v4l2_init()
2864 v4l2_device_call_all(&v4l2->v4l2_dev, 0, tuner, standby); in em28xx_v4l2_init()
2878 if (video_is_registered(&v4l2->radio_dev)) { in em28xx_v4l2_init()
2881 video_device_node_name(&v4l2->radio_dev)); in em28xx_v4l2_init()
2882 video_unregister_device(&v4l2->radio_dev); in em28xx_v4l2_init()
2884 if (video_is_registered(&v4l2->vbi_dev)) { in em28xx_v4l2_init()
2887 video_device_node_name(&v4l2->vbi_dev)); in em28xx_v4l2_init()
2888 video_unregister_device(&v4l2->vbi_dev); in em28xx_v4l2_init()
2890 if (video_is_registered(&v4l2->vdev)) { in em28xx_v4l2_init()
2893 video_device_node_name(&v4l2->vdev)); in em28xx_v4l2_init()
2894 video_unregister_device(&v4l2->vdev); in em28xx_v4l2_init()
2897 v4l2_ctrl_handler_free(&v4l2->ctrl_handler); in em28xx_v4l2_init()
2898 v4l2_device_unregister(&v4l2->v4l2_dev); in em28xx_v4l2_init()
2900 dev->v4l2 = NULL; in em28xx_v4l2_init()
2901 kref_put(&v4l2->ref, em28xx_free_v4l2); in em28xx_v4l2_init()