Lines Matching refs:vp
868 static void pvr2_v4l2_destroy_no_lock(struct pvr2_v4l2 *vp) in pvr2_v4l2_destroy_no_lock() argument
870 if (vp->dev_video) { in pvr2_v4l2_destroy_no_lock()
871 pvr2_v4l2_dev_destroy(vp->dev_video); in pvr2_v4l2_destroy_no_lock()
872 vp->dev_video = NULL; in pvr2_v4l2_destroy_no_lock()
874 if (vp->dev_radio) { in pvr2_v4l2_destroy_no_lock()
875 pvr2_v4l2_dev_destroy(vp->dev_radio); in pvr2_v4l2_destroy_no_lock()
876 vp->dev_radio = NULL; in pvr2_v4l2_destroy_no_lock()
879 pvr2_trace(PVR2_TRACE_STRUCT,"Destroying pvr2_v4l2 id=%p",vp); in pvr2_v4l2_destroy_no_lock()
880 pvr2_channel_done(&vp->channel); in pvr2_v4l2_destroy_no_lock()
881 kfree(vp); in pvr2_v4l2_destroy_no_lock()
895 struct pvr2_v4l2 *vp; in pvr2_v4l2_internal_check() local
896 vp = container_of(chp,struct pvr2_v4l2,channel); in pvr2_v4l2_internal_check()
897 if (!vp->channel.mc_head->disconnect_flag) return; in pvr2_v4l2_internal_check()
898 pvr2_v4l2_dev_disassociate_parent(vp->dev_video); in pvr2_v4l2_internal_check()
899 pvr2_v4l2_dev_disassociate_parent(vp->dev_radio); in pvr2_v4l2_internal_check()
900 if (!list_empty(&vp->dev_video->devbase.fh_list) || in pvr2_v4l2_internal_check()
901 (vp->dev_radio && in pvr2_v4l2_internal_check()
902 !list_empty(&vp->dev_radio->devbase.fh_list))) { in pvr2_v4l2_internal_check()
904 "pvr2_v4l2 internal_check exit-empty id=%p", vp); in pvr2_v4l2_internal_check()
907 pvr2_v4l2_destroy_no_lock(vp); in pvr2_v4l2_internal_check()
914 struct pvr2_v4l2 *vp = fhp->pdi->v4lp; in pvr2_v4l2_release() local
940 if (vp->channel.mc_head->disconnect_flag && in pvr2_v4l2_release()
941 list_empty(&vp->dev_video->devbase.fh_list) && in pvr2_v4l2_release()
942 (!vp->dev_radio || in pvr2_v4l2_release()
943 list_empty(&vp->dev_radio->devbase.fh_list))) { in pvr2_v4l2_release()
944 pvr2_v4l2_destroy_no_lock(vp); in pvr2_v4l2_release()
954 struct pvr2_v4l2 *vp; in pvr2_v4l2_open() local
962 vp = dip->v4lp; in pvr2_v4l2_open()
963 hdw = vp->channel.hdw; in pvr2_v4l2_open()
983 pvr2_channel_init(&fhp->channel,vp->channel.mc_head); in pvr2_v4l2_open()
1185 struct pvr2_v4l2 *vp, in pvr2_v4l2_dev_init() argument
1194 dip->v4lp = vp; in pvr2_v4l2_dev_init()
1196 hdw = vp->channel.mc_head->hdw; in pvr2_v4l2_dev_init()
1200 dip->stream = &vp->channel.mc_head->video_stream; in pvr2_v4l2_dev_init()
1218 dip->stream = &vp->channel.mc_head->video_stream; in pvr2_v4l2_dev_init()
1267 struct pvr2_v4l2 *vp; in pvr2_v4l2_create() local
1269 vp = kzalloc(sizeof(*vp),GFP_KERNEL); in pvr2_v4l2_create()
1270 if (!vp) return vp; in pvr2_v4l2_create()
1271 pvr2_channel_init(&vp->channel,mnp); in pvr2_v4l2_create()
1272 pvr2_trace(PVR2_TRACE_STRUCT,"Creating pvr2_v4l2 id=%p",vp); in pvr2_v4l2_create()
1274 vp->channel.check_func = pvr2_v4l2_internal_check; in pvr2_v4l2_create()
1277 vp->dev_video = kzalloc(sizeof(*vp->dev_video),GFP_KERNEL); in pvr2_v4l2_create()
1278 if (!vp->dev_video) goto fail; in pvr2_v4l2_create()
1279 pvr2_v4l2_dev_init(vp->dev_video,vp,VFL_TYPE_GRABBER); in pvr2_v4l2_create()
1280 if (pvr2_hdw_get_input_available(vp->channel.mc_head->hdw) & in pvr2_v4l2_create()
1282 vp->dev_radio = kzalloc(sizeof(*vp->dev_radio),GFP_KERNEL); in pvr2_v4l2_create()
1283 if (!vp->dev_radio) goto fail; in pvr2_v4l2_create()
1284 pvr2_v4l2_dev_init(vp->dev_radio,vp,VFL_TYPE_RADIO); in pvr2_v4l2_create()
1287 return vp; in pvr2_v4l2_create()
1289 pvr2_trace(PVR2_TRACE_STRUCT,"Failure creating pvr2_v4l2 id=%p",vp); in pvr2_v4l2_create()
1290 pvr2_v4l2_destroy_no_lock(vp); in pvr2_v4l2_create()