Lines Matching refs:lw

44 #define TIMBLOGIW_HAS_DECODER(lw)	(lw->pdata.encoder.module_name)  argument
160 struct timblogiw *lw = video_get_drvdata(vdev); in timblogiw_g_fmt() local
168 mutex_lock(&lw->lock); in timblogiw_g_fmt()
177 mutex_unlock(&lw->lock); in timblogiw_g_fmt()
211 struct timblogiw *lw = video_get_drvdata(vdev); in timblogiw_s_fmt() local
216 mutex_lock(&lw->lock); in timblogiw_s_fmt()
232 mutex_unlock(&lw->lock); in timblogiw_s_fmt()
341 struct timblogiw *lw = video_get_drvdata(vdev); in timblogiw_s_std() local
347 mutex_lock(&lw->lock); in timblogiw_s_std()
349 if (TIMBLOGIW_HAS_DECODER(lw)) in timblogiw_s_std()
350 err = v4l2_subdev_call(lw->sd_enc, video, s_std, std); in timblogiw_s_std()
355 mutex_unlock(&lw->lock); in timblogiw_s_std()
439 struct timblogiw *lw = video_get_drvdata(vdev); in timblogiw_querystd() local
444 if (TIMBLOGIW_HAS_DECODER(lw)) in timblogiw_querystd()
445 return v4l2_subdev_call(lw->sd_enc, video, querystd, std); in timblogiw_querystd()
611 struct timblogiw *lw = video_get_drvdata(vdev); in timblogiw_open() local
619 mutex_lock(&lw->lock); in timblogiw_open()
620 if (lw->opened) { in timblogiw_open()
625 if (TIMBLOGIW_HAS_DECODER(lw) && !lw->sd_enc) { in timblogiw_open()
629 adapt = i2c_get_adapter(lw->pdata.i2c_adapter); in timblogiw_open()
632 lw->pdata.i2c_adapter); in timblogiw_open()
638 lw->sd_enc = v4l2_i2c_new_subdev_board(&lw->v4l2_dev, adapt, in timblogiw_open()
639 lw->pdata.encoder.info, NULL); in timblogiw_open()
643 if (!lw->sd_enc) { in timblogiw_open()
645 lw->pdata.encoder.module_name); in timblogiw_open()
670 (void *)(uintptr_t)lw->pdata.dma_channel); in timblogiw_open()
680 &timblogiw_video_qops, lw->dev, &fh->queue_lock, in timblogiw_open()
684 lw->opened = true; in timblogiw_open()
686 mutex_unlock(&lw->lock); in timblogiw_open()
694 struct timblogiw *lw = video_get_drvdata(vdev); in timblogiw_close() local
706 mutex_lock(&lw->lock); in timblogiw_close()
707 lw->opened = false; in timblogiw_close()
708 mutex_unlock(&lw->lock); in timblogiw_close()
791 struct timblogiw *lw = NULL; in timblogiw_probe() local
803 lw = devm_kzalloc(&pdev->dev, sizeof(*lw), GFP_KERNEL); in timblogiw_probe()
804 if (!lw) { in timblogiw_probe()
810 lw->dev = pdev->dev.parent; in timblogiw_probe()
812 lw->dev = &pdev->dev; in timblogiw_probe()
814 memcpy(&lw->pdata, pdata, sizeof(lw->pdata)); in timblogiw_probe()
816 mutex_init(&lw->lock); in timblogiw_probe()
818 lw->video_dev = timblogiw_template; in timblogiw_probe()
820 strlcpy(lw->v4l2_dev.name, DRIVER_NAME, sizeof(lw->v4l2_dev.name)); in timblogiw_probe()
821 err = v4l2_device_register(NULL, &lw->v4l2_dev); in timblogiw_probe()
825 lw->video_dev.v4l2_dev = &lw->v4l2_dev; in timblogiw_probe()
827 platform_set_drvdata(pdev, lw); in timblogiw_probe()
828 video_set_drvdata(&lw->video_dev, lw); in timblogiw_probe()
830 err = video_register_device(&lw->video_dev, VFL_TYPE_GRABBER, 0); in timblogiw_probe()
839 v4l2_device_unregister(&lw->v4l2_dev); in timblogiw_probe()
848 struct timblogiw *lw = platform_get_drvdata(pdev); in timblogiw_remove() local
850 video_unregister_device(&lw->video_dev); in timblogiw_remove()
852 v4l2_device_unregister(&lw->v4l2_dev); in timblogiw_remove()